passenger 5.3.7 → 6.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3185) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG +651 -19
  3. data/CONTRIBUTING.md +1 -1
  4. data/CONTRIBUTORS +26 -0
  5. data/LICENSE +1 -1
  6. data/README.md +5 -12
  7. data/Rakefile +15 -4
  8. data/bin/passenger +2 -2
  9. data/bin/passenger-config +2 -2
  10. data/bin/passenger-install-apache2-module +7 -2
  11. data/bin/passenger-install-nginx-module +25 -8
  12. data/bin/passenger-memory-stats +67 -14
  13. data/bin/passenger-status +46 -6
  14. data/build/agent.rb +5 -3
  15. data/build/apache2.rb +3 -3
  16. data/build/basics.rb +12 -6
  17. data/build/common_library.rb +8 -7
  18. data/build/cxx_tests.rb +20 -9
  19. data/build/integration_tests.rb +10 -9
  20. data/build/misc.rb +5 -3
  21. data/build/nginx.rb +2 -2
  22. data/build/node_tests.rb +2 -2
  23. data/build/oxt_tests.rb +2 -2
  24. data/build/packaging.rb +6 -4
  25. data/build/ruby_extension.rb +2 -2
  26. data/build/ruby_tests.rb +3 -3
  27. data/build/schema_printer.rb +2 -2
  28. data/build/support/cplusplus.rb +2 -2
  29. data/build/support/cxx_dependency_map.rb +329 -59
  30. data/build/support/general.rb +2 -2
  31. data/build/support/vendor/cxx_hinted_parser/LICENSE.md +1 -1
  32. data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +2 -2
  33. data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser.rb +2 -2
  34. data/build/support/vendor/cxxcodebuilder/LICENSE.md +1 -1
  35. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +57 -4
  36. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/initializer_builder.rb +2 -2
  37. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder.rb +2 -2
  38. data/build/test_basics.rb +29 -15
  39. data/dev/copy_boost_headers +142 -79
  40. data/dev/index_cxx_dependencies.rb +1 -1
  41. data/dev/nginx_version_sha256 +72 -0
  42. data/dev/websocketpp.patch +39 -0
  43. data/doc/DesignAspects/LimitedGemDependencies.md +39 -0
  44. data/doc/DesignAspects/NoGemActivationDuringRubyLoaderInitialization.md +27 -0
  45. data/doc/templates/markdown.html.erb +2 -6
  46. data/package.json +20 -18
  47. data/passenger.gemspec +17 -3
  48. data/resources/mime.types +1 -0
  49. data/resources/release.txt +1 -0
  50. data/resources/templates/apache2/deployment_example.txt.erb +1 -1
  51. data/resources/templates/config/installation_utils/user_support_binaries_dir_not_writable.txt.erb +1 -0
  52. data/resources/templates/error_renderer/with_details/dist/bundle.js +2 -33
  53. data/resources/templates/error_renderer/with_details/dist/styles.css +2 -2
  54. data/resources/templates/error_renderer/with_details/src/GetHelpView.jsx +1 -1
  55. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.css +0 -0
  56. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +0 -0
  57. data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +0 -0
  58. data/resources/templates/error_renderer/with_details/src/index.html.template +0 -2
  59. data/resources/templates/error_renderer/with_details/webpack.config.js +13 -16
  60. data/resources/templates/error_renderer/without_details/dist/bundle.js +0 -1
  61. data/resources/templates/error_renderer/without_details/dist/styles.css +1 -1
  62. data/resources/templates/error_renderer/without_details/webpack.config.js +13 -16
  63. data/resources/templates/nginx/deployment_example.txt.erb +1 -1
  64. data/resources/templates/standalone/global.erb +4 -0
  65. data/resources/templates/standalone/http.erb +3 -0
  66. data/resources/templates/standalone/rails_asset_pipeline.erb +1 -1
  67. data/resources/templates/standalone/server.erb +4 -0
  68. data/src/agent/AgentMain.cpp +7 -9
  69. data/src/agent/Core/AdminPanelConnector.h +5 -6
  70. data/src/agent/Core/ApiServer.h +38 -3
  71. data/src/agent/Core/ApplicationPool/AbstractSession.h +2 -2
  72. data/src/agent/Core/ApplicationPool/BasicGroupInfo.h +2 -2
  73. data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +2 -2
  74. data/src/agent/Core/ApplicationPool/Common.h +2 -2
  75. data/src/agent/Core/ApplicationPool/Context.h +7 -4
  76. data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +10 -2
  77. data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +14 -6
  78. data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +10 -2
  79. data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +11 -2
  80. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +12 -3
  81. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +86 -6
  82. data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +42 -12
  83. data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +10 -2
  84. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +15 -4
  85. data/src/agent/Core/ApplicationPool/Group/Verification.cpp +10 -2
  86. data/src/agent/Core/ApplicationPool/Group.h +19 -8
  87. data/src/agent/Core/ApplicationPool/Implementation.cpp +2 -3
  88. data/src/agent/Core/ApplicationPool/Options.h +36 -13
  89. data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +7 -2
  90. data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +8 -3
  91. data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +7 -2
  92. data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +7 -2
  93. data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +7 -2
  94. data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +7 -2
  95. data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +8 -3
  96. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +18 -4
  97. data/src/agent/Core/ApplicationPool/Pool.h +12 -6
  98. data/src/agent/Core/ApplicationPool/Process.cpp +2 -2
  99. data/src/agent/Core/ApplicationPool/Process.h +27 -8
  100. data/src/agent/Core/ApplicationPool/Session.h +8 -3
  101. data/src/agent/Core/ApplicationPool/Socket.h +2 -2
  102. data/src/agent/Core/ApplicationPool/TestSession.h +2 -2
  103. data/src/agent/Core/Config.h +39 -8
  104. data/src/agent/Core/ConfigChange.cpp +2 -2
  105. data/src/agent/Core/ConfigChange.h +2 -2
  106. data/src/agent/Core/Controller/AppResponse.h +2 -3
  107. data/src/agent/Core/Controller/BufferBody.cpp +2 -2
  108. data/src/agent/Core/Controller/CheckoutSession.cpp +50 -16
  109. data/src/agent/Core/Controller/Client.h +2 -2
  110. data/src/agent/Core/Controller/Config.cpp +2 -2
  111. data/src/agent/Core/Controller/Config.h +55 -13
  112. data/src/agent/Core/Controller/ForwardResponse.cpp +15 -2
  113. data/src/agent/Core/Controller/Hooks.cpp +2 -2
  114. data/src/agent/Core/Controller/Implementation.cpp +2 -2
  115. data/src/agent/Core/Controller/InitRequest.cpp +21 -10
  116. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +5 -2
  117. data/src/agent/Core/Controller/InternalUtils.cpp +34 -8
  118. data/src/agent/Core/Controller/Miscellaneous.cpp +2 -2
  119. data/src/agent/Core/Controller/Request.h +2 -2
  120. data/src/agent/Core/Controller/SendRequest.cpp +4 -4
  121. data/src/agent/Core/Controller/StateInspection.cpp +2 -2
  122. data/src/agent/Core/Controller/TurboCaching.h +2 -2
  123. data/src/agent/Core/Controller.h +8 -3
  124. data/src/agent/Core/CoreMain.cpp +78 -54
  125. data/src/agent/Core/OptionParser.h +23 -2
  126. data/src/agent/Core/ResponseCache.h +5 -4
  127. data/src/agent/Core/SecurityUpdateChecker.h +7 -7
  128. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +22 -2
  129. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h.cxxcodebuilder +2 -2
  130. data/src/agent/Core/SpawningKit/Config.h +26 -2
  131. data/src/agent/Core/SpawningKit/Context.h +3 -2
  132. data/src/agent/Core/SpawningKit/DirectSpawner.h +2 -2
  133. data/src/agent/Core/SpawningKit/DummySpawner.h +2 -2
  134. data/src/agent/Core/SpawningKit/ErrorRenderer.h +7 -2
  135. data/src/agent/Core/SpawningKit/Exceptions.h +2 -2
  136. data/src/agent/Core/SpawningKit/Factory.h +2 -2
  137. data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +3 -3
  138. data/src/agent/Core/SpawningKit/Handshake/Perform.h +8 -7
  139. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +8 -56
  140. data/src/agent/Core/SpawningKit/Handshake/Session.h +5 -2
  141. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +12 -6
  142. data/src/agent/Core/SpawningKit/Journey.h +2 -2
  143. data/src/agent/Core/SpawningKit/PipeWatcher.h +21 -6
  144. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +2 -2
  145. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h.cxxcodebuilder +2 -2
  146. data/src/agent/Core/SpawningKit/Result.h +2 -2
  147. data/src/agent/Core/SpawningKit/SmartSpawner.h +9 -5
  148. data/src/agent/Core/SpawningKit/Spawner.h +29 -7
  149. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +17 -10
  150. data/src/agent/Core/TelemetryCollector.h +4 -3
  151. data/src/agent/ExecHelper/ExecHelperMain.cpp +12 -14
  152. data/src/agent/FileReadHelper/FileReadHelperMain.cpp +195 -0
  153. data/src/agent/MainFunctions.h +38 -0
  154. data/src/agent/Shared/ApiAccountUtils.h +2 -2
  155. data/src/agent/Shared/ApiServerUtils.h +6 -5
  156. data/src/agent/Shared/ApplicationPoolApiKey.h +4 -2
  157. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +90 -11
  158. data/src/agent/Shared/Fundamentals/AbortHandler.h +4 -2
  159. data/src/agent/Shared/Fundamentals/Initialization.cpp +12 -6
  160. data/src/agent/Shared/Fundamentals/Initialization.h +5 -5
  161. data/src/agent/Shared/Fundamentals/Utils.cpp +2 -2
  162. data/src/agent/Shared/Fundamentals/Utils.h +2 -2
  163. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +36 -12
  164. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +3 -2
  165. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +10 -6
  166. data/src/agent/Watchdog/AgentWatcher.cpp +2 -2
  167. data/src/agent/Watchdog/ApiServer.h +3 -3
  168. data/src/agent/Watchdog/Config.h +22 -3
  169. data/src/agent/Watchdog/CoreWatcher.cpp +2 -2
  170. data/src/agent/Watchdog/InstanceDirToucher.cpp +3 -3
  171. data/src/agent/Watchdog/WatchdogMain.cpp +23 -22
  172. data/src/apache2_module/Bucket.cpp +2 -2
  173. data/src/apache2_module/Bucket.h +2 -2
  174. data/src/apache2_module/CBindings.cpp +2 -2
  175. data/src/apache2_module/Config.cpp +3 -3
  176. data/src/apache2_module/Config.h +2 -2
  177. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +68 -28
  178. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +2 -2
  179. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +32 -2
  180. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp.cxxcodebuilder +2 -2
  181. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +121 -3
  182. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +2 -2
  183. data/src/apache2_module/ConfigGeneral/Common.h +2 -2
  184. data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +7 -5
  185. data/src/apache2_module/ConfigGeneral/SetterFuncs.h +2 -2
  186. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +25 -2
  187. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +2 -2
  188. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +14 -2
  189. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +2 -2
  190. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +65 -2
  191. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +2 -2
  192. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +37 -2
  193. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +2 -2
  194. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +84 -4
  195. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +5 -2
  196. data/src/apache2_module/DirectoryMapper.h +16 -5
  197. data/src/apache2_module/Hooks.cpp +51 -7
  198. data/src/apache2_module/Hooks.h +2 -2
  199. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +31 -2
  200. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +2 -2
  201. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +57 -21
  202. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +4 -3
  203. data/src/apache2_module/Utils.h +2 -2
  204. data/src/apache2_module/mod_passenger.c +2 -2
  205. data/src/cxx_supportlib/Algorithms/Hasher.cpp +2 -2
  206. data/src/cxx_supportlib/Algorithms/Hasher.h +2 -2
  207. data/src/cxx_supportlib/Algorithms/MovingAverage.h +2 -8
  208. data/src/cxx_supportlib/AppLocalConfigFileUtils.h +148 -0
  209. data/src/cxx_supportlib/AppTypeDetector/CBindings.cpp +14 -3
  210. data/src/cxx_supportlib/AppTypeDetector/CBindings.h +4 -2
  211. data/src/cxx_supportlib/AppTypeDetector/Detector.h +40 -6
  212. data/src/cxx_supportlib/BackgroundEventLoop.cpp +7 -3
  213. data/src/cxx_supportlib/BackgroundEventLoop.h +2 -2
  214. data/src/cxx_supportlib/ConfigKit/AsyncUtils.h +2 -2
  215. data/src/cxx_supportlib/ConfigKit/Common.h +3 -3
  216. data/src/cxx_supportlib/ConfigKit/ConfigKit.h +2 -2
  217. data/src/cxx_supportlib/ConfigKit/DummyTranslator.h +2 -2
  218. data/src/cxx_supportlib/ConfigKit/PrefixTranslator.h +2 -2
  219. data/src/cxx_supportlib/ConfigKit/Schema.h +3 -3
  220. data/src/cxx_supportlib/ConfigKit/SchemaUtils.h +2 -2
  221. data/src/cxx_supportlib/ConfigKit/Store.h +2 -2
  222. data/src/cxx_supportlib/ConfigKit/SubComponentUtils.h +2 -2
  223. data/src/cxx_supportlib/ConfigKit/TableTranslator.h +2 -2
  224. data/src/cxx_supportlib/ConfigKit/Translator.h +3 -3
  225. data/src/cxx_supportlib/ConfigKit/Utils.h +2 -2
  226. data/src/cxx_supportlib/Constants.h +7 -5
  227. data/src/cxx_supportlib/Constants.h.cxxcodebuilder +2 -2
  228. data/src/cxx_supportlib/DataStructures/HashMap.h +2 -2
  229. data/src/cxx_supportlib/DataStructures/HashedStaticString.h +4 -2
  230. data/src/cxx_supportlib/DataStructures/LString.cpp +2 -2
  231. data/src/cxx_supportlib/DataStructures/LString.h +6 -2
  232. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +3 -3
  233. data/src/cxx_supportlib/DataStructures/StringMap.h +2 -3
  234. data/src/cxx_supportlib/Exceptions.cpp +2 -2
  235. data/src/cxx_supportlib/Exceptions.h +2 -2
  236. data/src/cxx_supportlib/FileDescriptor.h +10 -2
  237. data/src/cxx_supportlib/FileTools/FileManip.cpp +12 -3
  238. data/src/cxx_supportlib/FileTools/FileManip.h +18 -2
  239. data/src/cxx_supportlib/FileTools/LargeFiles.h +2 -2
  240. data/src/cxx_supportlib/FileTools/PathManip.cpp +13 -4
  241. data/src/cxx_supportlib/FileTools/PathManip.h +2 -2
  242. data/src/cxx_supportlib/FileTools/PathManipCBindings.cpp +2 -2
  243. data/src/cxx_supportlib/FileTools/PathManipCBindings.h +2 -2
  244. data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +2 -2
  245. data/src/cxx_supportlib/FileTools/PathSecurityCheck.h +2 -2
  246. data/src/cxx_supportlib/Hooks.h +3 -2
  247. data/src/cxx_supportlib/IOTools/BufferedIO.h +3 -3
  248. data/src/cxx_supportlib/IOTools/IOUtils.cpp +8 -12
  249. data/src/cxx_supportlib/IOTools/IOUtils.h +2 -2
  250. data/src/cxx_supportlib/IOTools/MessageIO.h +3 -3
  251. data/src/cxx_supportlib/IOTools/MessageSerialization.h +2 -2
  252. data/src/cxx_supportlib/InstanceDirectory.h +2 -2
  253. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +5 -5
  254. data/src/cxx_supportlib/JsonTools/Autocast.h +2 -2
  255. data/src/cxx_supportlib/JsonTools/CBindings.cpp +2 -4
  256. data/src/cxx_supportlib/JsonTools/CBindings.h +2 -2
  257. data/src/cxx_supportlib/JsonTools/JsonUtils.h +6 -6
  258. data/src/cxx_supportlib/LoggingKit/Assert.h +2 -2
  259. data/src/cxx_supportlib/LoggingKit/Config.h +4 -2
  260. data/src/cxx_supportlib/LoggingKit/Context.h +18 -23
  261. data/src/cxx_supportlib/LoggingKit/Forward.h +2 -4
  262. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +53 -83
  263. data/src/cxx_supportlib/LoggingKit/Logging.h +2 -2
  264. data/src/cxx_supportlib/LoggingKit/LoggingKit.h +2 -2
  265. data/src/cxx_supportlib/LveLoggingDecorator.h +2 -2
  266. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +14 -6
  267. data/src/cxx_supportlib/MemoryKit/mbuf.h +3 -3
  268. data/src/cxx_supportlib/MemoryKit/palloc.cpp +1 -1
  269. data/src/cxx_supportlib/MemoryKit/palloc.h +1 -1
  270. data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +2 -2
  271. data/src/cxx_supportlib/ProcessManagement/Ruby.h +2 -2
  272. data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +2 -2
  273. data/src/cxx_supportlib/ProcessManagement/Spawn.h +2 -2
  274. data/src/cxx_supportlib/ProcessManagement/Utils.cpp +3 -3
  275. data/src/cxx_supportlib/ProcessManagement/Utils.h +2 -2
  276. data/src/cxx_supportlib/RandomGenerator.h +2 -2
  277. data/src/cxx_supportlib/ResourceLocator.h +3 -3
  278. data/src/cxx_supportlib/SafeLibev.h +6 -6
  279. data/src/cxx_supportlib/SecurityKit/Crypto.cpp +5 -96
  280. data/src/cxx_supportlib/SecurityKit/Crypto.h +2 -10
  281. data/src/cxx_supportlib/SecurityKit/MemZeroGuard.h +2 -2
  282. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +3 -3
  283. data/src/cxx_supportlib/ServerKit/Channel.h +2 -2
  284. data/src/cxx_supportlib/ServerKit/Client.h +2 -2
  285. data/src/cxx_supportlib/ServerKit/ClientRef.h +2 -2
  286. data/src/cxx_supportlib/ServerKit/Config.h +2 -2
  287. data/src/cxx_supportlib/ServerKit/Context.h +8 -2
  288. data/src/cxx_supportlib/ServerKit/CookieUtils.h +2 -2
  289. data/src/cxx_supportlib/ServerKit/Errors.h +5 -4
  290. data/src/cxx_supportlib/ServerKit/FdSinkChannel.h +2 -2
  291. data/src/cxx_supportlib/ServerKit/FdSourceChannel.h +2 -2
  292. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +2 -2
  293. data/src/cxx_supportlib/ServerKit/FileBufferedFdSinkChannel.h +2 -2
  294. data/src/cxx_supportlib/ServerKit/HeaderTable.h +2 -2
  295. data/src/cxx_supportlib/ServerKit/Hooks.h +4 -4
  296. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +3 -3
  297. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParserState.h +2 -2
  298. data/src/cxx_supportlib/ServerKit/HttpClient.h +2 -2
  299. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +103 -71
  300. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +6 -3
  301. data/src/cxx_supportlib/ServerKit/HttpRequest.h +4 -4
  302. data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +2 -2
  303. data/src/cxx_supportlib/ServerKit/HttpServer.h +20 -14
  304. data/src/cxx_supportlib/ServerKit/Implementation.cpp +2 -2
  305. data/src/cxx_supportlib/ServerKit/Server.h +2 -8
  306. data/src/cxx_supportlib/ServerKit/llerrors.h +84 -0
  307. data/src/cxx_supportlib/ServerKit/llhttp.c +10168 -0
  308. data/src/cxx_supportlib/ServerKit/llhttp.h +903 -0
  309. data/src/cxx_supportlib/ServerKit/llhttp_api.c +510 -0
  310. data/src/cxx_supportlib/ServerKit/llhttp_http.c +170 -0
  311. data/src/cxx_supportlib/ServerKit/llversion.h +12 -0
  312. data/src/cxx_supportlib/ServerKit/url_parser.c +574 -0
  313. data/src/cxx_supportlib/ServerKit/url_parser.h +74 -0
  314. data/src/cxx_supportlib/StaticString.h +7 -3
  315. data/src/cxx_supportlib/StrIntTools/DateParsing.h +3 -3
  316. data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +14 -5
  317. data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +7 -2
  318. data/src/cxx_supportlib/StrIntTools/StrIntUtilsNoStrictAliasing.cpp +2 -2
  319. data/src/cxx_supportlib/StrIntTools/StringScanning.h +2 -2
  320. data/src/cxx_supportlib/StrIntTools/Template.h +2 -2
  321. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +59 -4
  322. data/src/cxx_supportlib/SystemTools/ProcessMetricsCollector.h +3 -3
  323. data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +4 -4
  324. data/src/cxx_supportlib/SystemTools/SystemTime.cpp +2 -2
  325. data/src/cxx_supportlib/SystemTools/SystemTime.h +2 -2
  326. data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +16 -16
  327. data/src/cxx_supportlib/SystemTools/UserDatabase.h +8 -12
  328. data/src/cxx_supportlib/Utils/AnsiColorConstants.h +13 -11
  329. data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +4 -2
  330. data/src/cxx_supportlib/Utils/BlockingQueue.h +2 -2
  331. data/src/cxx_supportlib/Utils/CachedFileStat.cpp +2 -2
  332. data/src/cxx_supportlib/Utils/CachedFileStat.h +2 -2
  333. data/src/cxx_supportlib/Utils/CachedFileStat.hpp +2 -2
  334. data/src/cxx_supportlib/Utils/ClassUtils.h +2 -2
  335. data/src/cxx_supportlib/Utils/Curl.h +2 -2
  336. data/src/cxx_supportlib/Utils/FastStringStream.h +2 -2
  337. data/src/cxx_supportlib/Utils/FileChangeChecker.h +2 -2
  338. data/src/cxx_supportlib/Utils/HttpConstants.h +3 -3
  339. data/src/cxx_supportlib/Utils/IniFile.h +2 -2
  340. data/src/cxx_supportlib/Utils/MessagePassing.h +2 -2
  341. data/src/cxx_supportlib/Utils/OptionParsing.h +2 -2
  342. data/src/cxx_supportlib/Utils/ReleaseableScopedPointer.h +2 -2
  343. data/src/cxx_supportlib/Utils/ScopeGuard.h +2 -2
  344. data/src/cxx_supportlib/Utils/SpeedMeter.h +2 -5
  345. data/src/cxx_supportlib/Utils/Timer.h +2 -2
  346. data/src/cxx_supportlib/Utils/VariantMap.h +2 -2
  347. data/src/cxx_supportlib/Utils.cpp +3 -3
  348. data/src/cxx_supportlib/Utils.h +2 -2
  349. data/src/cxx_supportlib/WatchdogLauncher.cpp +2 -2
  350. data/src/cxx_supportlib/WatchdogLauncher.h +3 -5
  351. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +22 -21
  352. data/src/cxx_supportlib/WrapperRegistry/CBindings.cpp +2 -2
  353. data/src/cxx_supportlib/WrapperRegistry/CBindings.h +2 -2
  354. data/src/cxx_supportlib/WrapperRegistry/Entry.h +2 -2
  355. data/src/cxx_supportlib/WrapperRegistry/Registry.h +2 -2
  356. data/src/cxx_supportlib/oxt/backtrace.hpp +1 -1
  357. data/src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp +1 -1
  358. data/src/cxx_supportlib/oxt/detail/backtrace_enabled.hpp +1 -1
  359. data/src/cxx_supportlib/oxt/detail/context.hpp +1 -1
  360. data/src/cxx_supportlib/oxt/detail/spin_lock_darwin.hpp +1 -1
  361. data/src/cxx_supportlib/oxt/detail/spin_lock_gcc_x86.hpp +1 -1
  362. data/src/cxx_supportlib/oxt/detail/spin_lock_portable.hpp +1 -1
  363. data/src/cxx_supportlib/oxt/detail/spin_lock_pthreads.hpp +1 -1
  364. data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +1 -1
  365. data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +1 -1
  366. data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +6 -2
  367. data/src/cxx_supportlib/oxt/implementation.cpp +13 -3
  368. data/src/cxx_supportlib/oxt/initialize.hpp +1 -1
  369. data/src/cxx_supportlib/oxt/macros.hpp +1 -1
  370. data/src/cxx_supportlib/oxt/spin_lock.hpp +1 -1
  371. data/src/cxx_supportlib/oxt/system_calls.cpp +22 -15
  372. data/src/cxx_supportlib/oxt/system_calls.hpp +1 -1
  373. data/src/cxx_supportlib/oxt/thread.hpp +3 -3
  374. data/src/cxx_supportlib/oxt/tracable_exception.hpp +1 -1
  375. data/src/cxx_supportlib/vendor-copy/adhoc_lve.h +2 -2
  376. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/compare.hpp +3 -3
  377. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/case_conv.hpp +5 -2
  378. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/classification.hpp +3 -1
  379. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_format_all.hpp +2 -0
  380. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_iterator.hpp +11 -3
  381. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/finder.hpp +15 -15
  382. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/formatter.hpp +1 -1
  383. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/trim.hpp +3 -3
  384. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find_format.hpp +1 -2
  385. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find_iterator.hpp +27 -1
  386. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
  387. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/formatter.hpp +0 -1
  388. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/iter_find.hpp +8 -0
  389. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/predicate.hpp +4 -3
  390. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/split.hpp +12 -0
  391. data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +47 -0
  392. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +41 -0
  393. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_sunos.hpp +34 -0
  394. data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +28 -0
  395. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +338 -0
  396. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +824 -0
  397. data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +353 -0
  398. data/src/cxx_supportlib/vendor-modified/boost/asio/append.hpp +67 -0
  399. data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +154 -0
  400. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +115 -32
  401. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +223 -0
  402. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +119 -33
  403. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +283 -0
  404. data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +37 -0
  405. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +834 -107
  406. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +144 -0
  407. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +651 -329
  408. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +206 -124
  409. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +826 -0
  410. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +4 -8
  411. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +691 -0
  412. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +657 -331
  413. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +628 -0
  414. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +376 -171
  415. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +413 -114
  416. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +325 -68
  417. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +427 -248
  418. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +1239 -517
  419. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +22 -121
  420. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +16 -81
  421. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +746 -0
  422. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +494 -252
  423. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +13 -15
  424. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +3 -3
  425. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +251 -132
  426. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +624 -0
  427. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +598 -0
  428. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +615 -0
  429. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +235 -182
  430. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +618 -0
  431. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +961 -370
  432. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +320 -0
  433. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +55 -39
  434. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +1 -1
  435. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +61 -47
  436. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
  437. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +55 -39
  438. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +1 -1
  439. data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +4 -4
  440. data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_after.hpp +303 -0
  441. data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_at.hpp +296 -0
  442. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +247 -0
  443. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +237 -0
  444. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +159 -0
  445. data/src/cxx_supportlib/vendor-modified/boost/asio/co_composed.hpp +1323 -0
  446. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +525 -0
  447. data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +50 -1
  448. data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +130 -0
  449. data/src/cxx_supportlib/vendor-modified/boost/asio/composed.hpp +415 -0
  450. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +468 -181
  451. data/src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp +85 -0
  452. data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +77 -0
  453. data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +7 -7
  454. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
  455. data/src/cxx_supportlib/vendor-modified/boost/asio/default_completion_token.hpp +91 -0
  456. data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +154 -43
  457. data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +721 -0
  458. data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +107 -0
  459. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +2 -10
  460. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +2 -4
  461. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +1 -1
  462. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +24 -10
  463. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +166 -0
  464. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +4 -3
  465. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +265 -370
  466. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +109 -0
  467. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +1 -1
  468. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +300 -7
  469. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +2 -2
  470. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +1 -1
  471. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +2 -23
  472. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +1 -1
  473. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +12 -7
  474. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_message.hpp +129 -0
  475. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_payload.hpp +222 -0
  476. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_payload_handler.hpp +81 -0
  477. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +254 -0
  478. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +1 -1
  479. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +9 -1
  480. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +1 -1
  481. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +700 -722
  482. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +40 -11
  483. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -5
  484. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +3 -23
  485. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +1 -1
  486. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +74 -13
  487. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +1 -1
  488. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +65 -7
  489. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +76 -16
  490. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +75 -16
  491. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +36 -7
  492. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +36 -7
  493. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +3 -5
  494. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +2 -2
  495. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/exception.hpp +31 -0
  496. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +154 -0
  497. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +6 -6
  498. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +1 -1
  499. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +3 -43
  500. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +5 -10
  501. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +32 -0
  502. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +3 -5
  503. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +31 -145
  504. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +1 -1
  505. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +27 -1
  506. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +24 -27
  507. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +452 -36
  508. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +1 -1
  509. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
  510. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +605 -85
  511. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +21 -1
  512. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +28 -5
  513. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +21 -1
  514. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +47 -8
  515. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +20 -14
  516. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +47 -7
  517. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_descriptor_service.ipp +207 -0
  518. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_file_service.ipp +142 -0
  519. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.hpp +114 -0
  520. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.ipp +916 -0
  521. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_socket_service_base.ipp +251 -0
  522. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +21 -1
  523. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +49 -7
  524. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +1 -1
  525. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +11 -6
  526. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +8 -4
  527. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
  528. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_serial_port_service.ipp +170 -0
  529. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +1 -1
  530. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
  531. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +23 -13
  532. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +32 -20
  533. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +39 -35
  534. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +110 -6
  535. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +25 -1
  536. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +74 -7
  537. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +2 -3
  538. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +1 -1
  539. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +185 -28
  540. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +828 -355
  541. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +19 -10
  542. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +209 -42
  543. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +25 -1
  544. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +8 -40
  545. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +34 -9
  546. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +37 -0
  547. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +10 -6
  548. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +17 -11
  549. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +1 -1
  550. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp +209 -0
  551. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +195 -0
  552. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +209 -0
  553. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiation_base.hpp +64 -0
  554. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +1 -1
  555. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +179 -0
  556. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +197 -0
  557. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +192 -0
  558. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +689 -0
  559. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +191 -0
  560. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +187 -0
  561. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +263 -0
  562. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +116 -0
  563. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_operation.hpp +86 -0
  564. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_service.hpp +321 -0
  565. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +282 -0
  566. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +142 -0
  567. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +207 -0
  568. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +208 -0
  569. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +194 -0
  570. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +193 -0
  571. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +196 -0
  572. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service.hpp +631 -0
  573. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service_base.hpp +665 -0
  574. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_wait_op.hpp +114 -0
  575. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +89 -32
  576. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +1 -1
  577. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
  578. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +37 -8
  579. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +1 -6
  580. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
  581. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +83 -27
  582. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +3 -5
  583. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +45 -0
  584. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +1 -1
  585. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +7 -1
  586. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +1 -1
  587. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +1 -1
  588. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +1 -5
  589. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +19 -4
  590. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +1 -1
  591. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +63 -52
  592. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
  593. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +1 -1
  594. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
  595. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +1 -1
  596. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +1 -1
  597. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +1 -1
  598. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +2 -2
  599. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +30 -8
  600. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +15 -2
  601. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
  602. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +1 -1
  603. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +1 -1
  604. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_serial_port_service.hpp +251 -0
  605. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +1 -1
  606. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +1 -1
  607. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +1 -1
  608. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +1 -1
  609. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +60 -7
  610. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +237 -55
  611. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +49 -8
  612. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +139 -33
  613. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +59 -10
  614. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +81 -19
  615. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +81 -16
  616. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +65 -13
  617. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +86 -20
  618. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +81 -17
  619. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +198 -91
  620. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +319 -75
  621. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +49 -8
  622. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +29 -5
  623. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +8 -2
  624. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +45 -1
  625. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +26 -16
  626. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +4 -4
  627. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +35 -17
  628. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +1 -1
  629. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +35 -19
  630. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +24 -22
  631. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +37 -19
  632. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +36 -8
  633. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +1 -1
  634. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_task.hpp +51 -0
  635. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +1 -1
  636. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
  637. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +1 -1
  638. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
  639. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +59 -6
  640. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +2 -3
  641. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +1 -1
  642. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +11 -7
  643. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +1 -1
  644. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +5 -1
  645. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +90 -15
  646. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +1 -1
  647. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +71 -33
  648. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
  649. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +2 -2
  650. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +12 -1
  651. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +47 -0
  652. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +3 -5
  653. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +13 -6
  654. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -6
  655. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +1 -6
  656. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -6
  657. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -6
  658. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +1 -6
  659. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +36 -5
  660. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +8 -6
  661. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +1 -1
  662. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +7 -9
  663. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +10 -1
  664. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +11 -1
  665. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +164 -25
  666. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +18 -9
  667. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +7 -3
  668. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timed_cancel_op.hpp +363 -0
  669. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +33 -2
  670. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
  671. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +6 -2
  672. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
  673. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +3 -1
  674. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +3 -1
  675. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
  676. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +132 -40
  677. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +85 -0
  678. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +13 -8
  679. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +6 -2
  680. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +2 -2
  681. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +85 -14
  682. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +33 -129
  683. data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +136 -47
  684. data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +30 -1
  685. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +280 -0
  686. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +1935 -0
  687. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +48 -0
  688. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +1362 -0
  689. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +1082 -0
  690. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +193 -0
  691. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +192 -0
  692. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +118 -0
  693. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +42 -0
  694. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +45 -0
  695. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +1004 -0
  696. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +186 -0
  697. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +755 -0
  698. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +330 -0
  699. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +753 -0
  700. data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +33 -0
  701. data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +3 -26
  702. data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +66 -44
  703. data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +239 -47
  704. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +38 -0
  705. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +134 -0
  706. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +38 -0
  707. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +538 -0
  708. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +516 -0
  709. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +516 -0
  710. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +154 -0
  711. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel.hpp +72 -0
  712. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_error.hpp +88 -0
  713. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +303 -0
  714. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +35 -0
  715. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +138 -177
  716. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +72 -0
  717. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +295 -0
  718. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro_traits.hpp +230 -0
  719. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +38 -0
  720. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +363 -0
  721. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +128 -0
  722. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +202 -0
  723. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +149 -0
  724. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +681 -0
  725. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_completion_handler.hpp +171 -0
  726. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +142 -0
  727. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/has_signature.hpp +56 -0
  728. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +625 -0
  729. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +199 -0
  730. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +183 -0
  731. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp +63 -0
  732. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +1224 -0
  733. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +790 -0
  734. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +257 -0
  735. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_coro.hpp +216 -0
  736. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +68 -0
  737. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +457 -0
  738. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +38 -0
  739. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +226 -0
  740. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +191 -0
  741. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +113 -0
  742. data/src/cxx_supportlib/vendor-modified/boost/asio/file_base.hpp +168 -0
  743. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +2 -6
  744. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +4 -4
  745. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
  746. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +1 -1
  747. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +4 -4
  748. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +4 -4
  749. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +4 -4
  750. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
  751. data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -6
  752. data/src/cxx_supportlib/vendor-modified/boost/asio/immediate.hpp +144 -0
  753. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +128 -0
  754. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +136 -0
  755. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +171 -0
  756. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +278 -0
  757. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +1198 -0
  758. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +160 -185
  759. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +154 -181
  760. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_after.hpp +270 -0
  761. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_at.hpp +270 -0
  762. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp +98 -0
  763. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +459 -0
  764. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +281 -438
  765. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.hpp +75 -0
  766. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.ipp +151 -0
  767. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +146 -0
  768. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +149 -0
  769. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +79 -0
  770. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +4 -4
  771. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +7 -37
  772. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +1 -1
  773. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +72 -141
  774. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +8 -3
  775. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +220 -132
  776. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +5 -3
  777. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +47 -0
  778. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +172 -0
  779. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +529 -342
  780. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +202 -280
  781. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +1840 -672
  782. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +289 -0
  783. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +1 -1
  784. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +1 -1
  785. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +1183 -318
  786. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +15 -3
  787. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +2 -2
  788. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +26 -7
  789. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +115 -21
  790. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +198 -48
  791. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +74 -8
  792. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +303 -0
  793. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +186 -417
  794. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +446 -340
  795. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +171 -263
  796. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +699 -70
  797. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +87 -75
  798. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +1 -1
  799. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +1 -1
  800. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +52 -31
  801. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +124 -32
  802. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +13 -19
  803. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +16 -22
  804. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +114 -43
  805. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +13 -18
  806. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +15 -20
  807. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +19 -4
  808. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +46 -27
  809. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +337 -243
  810. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +1 -1
  811. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +4 -8
  812. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +17 -1
  813. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +12 -16
  814. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +21 -19
  815. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +10 -14
  816. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +2 -2
  817. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +1 -1
  818. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +7 -7
  819. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +1 -1
  820. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +23 -22
  821. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +1 -1
  822. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +11 -15
  823. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +1 -1
  824. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +28 -36
  825. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +1 -1
  826. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
  827. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +1 -1
  828. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +6 -4
  829. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +1 -1
  830. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +6 -4
  831. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +8 -8
  832. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +17 -21
  833. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +14 -18
  834. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +1 -1
  835. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +1 -1
  836. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +9 -9
  837. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +7 -7
  838. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +3 -3
  839. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +4 -4
  840. data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +63 -0
  841. data/src/cxx_supportlib/vendor-modified/boost/asio/is_contiguous_iterator.hpp +47 -0
  842. data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +1 -1
  843. data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +1 -1
  844. data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +1 -1
  845. data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +10 -6
  846. data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +14 -19
  847. data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +4 -4
  848. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +7 -1
  849. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +10 -8
  850. data/src/cxx_supportlib/vendor-modified/boost/asio/local/seq_packet_protocol.hpp +86 -0
  851. data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +4 -4
  852. data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +54 -0
  853. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +4 -64
  854. data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +35 -105
  855. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +273 -82
  856. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +283 -86
  857. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +5 -612
  858. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +2 -2
  859. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +3 -326
  860. data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +149 -43
  861. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +581 -0
  862. data/src/cxx_supportlib/vendor-modified/boost/asio/prepend.hpp +68 -0
  863. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +315 -0
  864. data/src/cxx_supportlib/vendor-modified/boost/asio/random_access_file.hpp +37 -0
  865. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +777 -177
  866. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +231 -74
  867. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +1849 -471
  868. data/src/cxx_supportlib/vendor-modified/boost/asio/readable_pipe.hpp +37 -0
  869. data/src/cxx_supportlib/vendor-modified/boost/asio/recycling_allocator.hpp +140 -0
  870. data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +106 -0
  871. data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +346 -0
  872. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +437 -0
  873. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +347 -0
  874. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +3 -736
  875. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +1 -1
  876. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +3 -422
  877. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_base.hpp +173 -0
  878. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +26 -26
  879. data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +640 -105
  880. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +7 -3
  881. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +38 -21
  882. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +7 -2
  883. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +10 -1
  884. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +7 -2
  885. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +65 -10
  886. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +9 -5
  887. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +75 -71
  888. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +1 -1
  889. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +5 -1
  890. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +1 -1
  891. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +7 -2
  892. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +17 -2
  893. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +89 -6
  894. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +2 -2
  895. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +12 -3
  896. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +21 -7
  897. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +92 -0
  898. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +1 -1
  899. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +242 -79
  900. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +29 -5
  901. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +75 -0
  902. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +5 -1
  903. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +2 -1
  904. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +7 -3
  905. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +423 -142
  906. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
  907. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +1 -1
  908. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
  909. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +2 -1
  910. data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +33 -0
  911. data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -6
  912. data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +311 -40
  913. data/src/cxx_supportlib/vendor-modified/boost/asio/stream_file.hpp +37 -0
  914. data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
  915. data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +18 -6
  916. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +570 -28
  917. data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -6
  918. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +269 -0
  919. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +773 -42
  920. data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
  921. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +102 -0
  922. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +106 -0
  923. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +106 -0
  924. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +106 -0
  925. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +106 -0
  926. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +106 -0
  927. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +103 -0
  928. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +106 -0
  929. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +106 -0
  930. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +106 -0
  931. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +106 -0
  932. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +104 -0
  933. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +117 -0
  934. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +118 -0
  935. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +1 -1
  936. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +2 -2
  937. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +1 -1
  938. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +1 -1
  939. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +1 -1
  940. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +82 -43
  941. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +1 -1
  942. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +1 -1
  943. data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
  944. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +163 -0
  945. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +21 -21
  946. data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +3 -7
  947. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
  948. data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
  949. data/src/cxx_supportlib/vendor-modified/boost/asio/writable_pipe.hpp +37 -0
  950. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +772 -173
  951. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +237 -73
  952. data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
  953. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +72 -28
  954. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +197 -0
  955. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +170 -11
  956. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +12 -3
  957. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +97 -0
  958. data/src/cxx_supportlib/vendor-modified/boost/atomic/capabilities.hpp +2 -191
  959. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +8 -1
  960. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/aligned_variable.hpp +57 -0
  961. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +129 -0
  962. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_impl.hpp +1265 -0
  963. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +1228 -0
  964. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +102 -12
  965. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +43 -11
  966. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/capabilities.hpp +217 -0
  967. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_aarch32.hpp +53 -0
  968. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_aarch64.hpp +65 -0
  969. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_alpha.hpp +34 -0
  970. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_arm.hpp +103 -0
  971. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_ppc.hpp +55 -0
  972. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_sparc.hpp +34 -0
  973. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_x86.hpp +74 -0
  974. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_msvc_arm.hpp +34 -0
  975. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_msvc_x86.hpp +61 -0
  976. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_atomic.hpp +100 -75
  977. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sync.hpp +0 -7
  978. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +50 -0
  979. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +90 -0
  980. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +57 -64
  981. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_operations.hpp +50 -0
  982. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_operations_fwd.hpp +38 -0
  983. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +1121 -0
  984. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +1909 -0
  985. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_alpha.hpp +867 -0
  986. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_arm.hpp +1417 -0
  987. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_ppc.hpp +1218 -0
  988. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_sparc.hpp +215 -0
  989. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +1110 -0
  990. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +828 -0
  991. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +903 -0
  992. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations.hpp +49 -0
  993. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +194 -0
  994. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated_fwd.hpp +38 -0
  995. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_fwd.hpp +38 -0
  996. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_cas_based.hpp +94 -0
  997. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +306 -0
  998. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_sync.hpp +263 -0
  999. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_linux_arm.hpp +169 -0
  1000. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extending_cas_based_arithmetic.hpp +72 -0
  1001. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_operations_fwd.hpp +4 -1
  1002. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +22 -12
  1003. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +13 -10
  1004. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_operations_fwd.hpp +4 -1
  1005. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +59 -40
  1006. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +1060 -0
  1007. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +1330 -0
  1008. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +363 -355
  1009. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +167 -163
  1010. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +232 -102
  1011. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +9 -17
  1012. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +6 -4
  1013. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +119 -92
  1014. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +41 -0
  1015. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +60 -0
  1016. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +58 -0
  1017. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +53 -0
  1018. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +90 -0
  1019. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +68 -0
  1020. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +70 -0
  1021. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +69 -0
  1022. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +66 -0
  1023. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +66 -0
  1024. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +41 -0
  1025. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +50 -0
  1026. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +75 -0
  1027. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +53 -0
  1028. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +64 -0
  1029. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/float_sizes.hpp +122 -35
  1030. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/footer.hpp +24 -0
  1031. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_operations_fwd.hpp +4 -1
  1032. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +13 -8
  1033. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -3
  1034. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +185 -0
  1035. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_arm_asm_common.hpp +79 -0
  1036. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +66 -0
  1037. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_ppc_asm_common.hpp +33 -0
  1038. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/header.hpp +72 -0
  1039. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +25 -1
  1040. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_conversions.hpp +108 -0
  1041. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +35 -11
  1042. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +46 -0
  1043. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +151 -0
  1044. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +47 -0
  1045. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +43 -0
  1046. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_aarch32_common.hpp +53 -0
  1047. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_aarch64_common.hpp +53 -0
  1048. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +8 -79
  1049. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -1
  1050. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_common.hpp +7 -2
  1051. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +30 -5
  1052. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +80 -34
  1053. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +187 -0
  1054. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +51 -0
  1055. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/has_unique_object_representations.hpp +143 -0
  1056. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_enum.hpp +42 -0
  1057. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -2
  1058. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_nothrow_default_constructible.hpp +46 -0
  1059. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +45 -0
  1060. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +42 -0
  1061. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_capabilities.hpp +363 -0
  1062. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_darwin_ulock.hpp +58 -0
  1063. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_dragonfly_umtx.hpp +30 -0
  1064. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_freebsd_umtx.hpp +40 -0
  1065. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_futex.hpp +31 -0
  1066. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +64 -0
  1067. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_operations.hpp +28 -0
  1068. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_operations_fwd.hpp +43 -0
  1069. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_darwin_ulock.hpp +158 -0
  1070. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +75 -0
  1071. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +96 -0
  1072. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +119 -0
  1073. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +111 -0
  1074. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +143 -0
  1075. data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +7 -18
  1076. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +90 -0
  1077. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +40 -0
  1078. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +97 -0
  1079. data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +9 -0
  1080. data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +4 -49
  1081. data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +263 -1815
  1082. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_cc.hpp +117 -0
  1083. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf2_cc.hpp +210 -0
  1084. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf_cc.hpp +405 -0
  1085. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/integer_sequence.hpp +111 -0
  1086. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/result_traits.hpp +165 -0
  1087. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/tuple_for_each.hpp +64 -0
  1088. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +143 -279
  1089. data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +13 -14
  1090. data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +24 -259
  1091. data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +33 -0
  1092. data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +4 -320
  1093. data/src/cxx_supportlib/vendor-modified/boost/chrono/config.hpp +2 -0
  1094. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +14 -14
  1095. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
  1096. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
  1097. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +34 -14
  1098. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
  1099. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
  1100. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/is_evenly_divisible_by.hpp +1 -7
  1101. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/requires_cxx11.hpp +23 -0
  1102. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/scan_keyword.hpp +4 -2
  1103. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
  1104. data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +10 -6
  1105. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_get.hpp +1 -1
  1106. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_io.hpp +4 -4
  1107. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_put.hpp +5 -5
  1108. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_style.hpp +1 -1
  1109. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +3 -2
  1110. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +4 -4
  1111. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/timezone.hpp +2 -1
  1112. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/utility/ios_base_state_ptr.hpp +7 -7
  1113. data/src/cxx_supportlib/vendor-modified/boost/chrono/io_v1/chrono_io.hpp +3 -3
  1114. data/src/cxx_supportlib/vendor-modified/boost/chrono/system_clocks.hpp +3 -2
  1115. data/src/cxx_supportlib/vendor-modified/boost/chrono/time_point.hpp +1 -1
  1116. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +178 -167
  1117. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +39 -47
  1118. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +32 -38
  1119. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +12 -9
  1120. data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +2 -2
  1121. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +24 -3
  1122. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
  1123. data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +8 -1
  1124. data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +20 -20
  1125. data/src/cxx_supportlib/vendor-modified/boost/config/abi_prefix.hpp +1 -1
  1126. data/src/cxx_supportlib/vendor-modified/boost/config/abi_suffix.hpp +1 -3
  1127. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +211 -0
  1128. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +212 -0
  1129. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +47 -0
  1130. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +65 -0
  1131. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +59 -0
  1132. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +41 -0
  1133. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx98.hpp +23 -0
  1134. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +78 -19
  1135. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +13 -3
  1136. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +38 -4
  1137. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +89 -0
  1138. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +164 -10
  1139. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
  1140. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +40 -11
  1141. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +374 -52
  1142. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +10 -1
  1143. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +41 -11
  1144. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +9 -2
  1145. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
  1146. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +7 -1
  1147. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +14 -1
  1148. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
  1149. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +10 -1
  1150. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +10 -1
  1151. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +9 -3
  1152. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +9 -0
  1153. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +15 -0
  1154. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +10 -1
  1155. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +54 -10
  1156. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +22 -0
  1157. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +5 -0
  1158. data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +218 -0
  1159. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
  1160. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_platform_config.hpp +5 -0
  1161. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_stdlib_config.hpp +13 -2
  1162. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +303 -5
  1163. data/src/cxx_supportlib/vendor-modified/boost/config/header_deprecated.hpp +1 -1
  1164. data/src/cxx_supportlib/vendor-modified/boost/config/platform/bsd.hpp +5 -8
  1165. data/src/cxx_supportlib/vendor-modified/boost/config/platform/vxworks.hpp +63 -74
  1166. data/src/cxx_supportlib/vendor-modified/boost/config/platform/wasm.hpp +23 -0
  1167. data/src/cxx_supportlib/vendor-modified/boost/config/requires_threads.hpp +1 -1
  1168. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +76 -10
  1169. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcomo.hpp +1 -0
  1170. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +51 -4
  1171. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +144 -11
  1172. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/modena.hpp +1 -0
  1173. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/msl.hpp +1 -0
  1174. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/roguewave.hpp +2 -1
  1175. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/sgi.hpp +1 -0
  1176. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/stlport.hpp +6 -5
  1177. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/vacpp.hpp +1 -0
  1178. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/xlcpp_zos.hpp +1 -0
  1179. data/src/cxx_supportlib/vendor-modified/boost/config/user.hpp +2 -2
  1180. data/src/cxx_supportlib/vendor-modified/boost/config/workaround.hpp +26 -0
  1181. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +291 -18
  1182. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +43 -35
  1183. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +205 -41
  1184. data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +132 -38
  1185. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +981 -361
  1186. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +25 -22
  1187. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +838 -463
  1188. data/src/cxx_supportlib/vendor-modified/boost/container/detail/addressof.hpp +2 -10
  1189. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +199 -133
  1190. data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +28 -0
  1191. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +4 -4
  1192. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocation_type.hpp +7 -7
  1193. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +16 -16
  1194. data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_list.hpp +4 -3
  1195. data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_slist.hpp +4 -3
  1196. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +73 -13
  1197. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +11 -3
  1198. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_end.hpp +3 -0
  1199. data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +52 -16
  1200. data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_or_allocator_rebind.hpp +4 -0
  1201. data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +21 -116
  1202. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +991 -148
  1203. data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +181 -57
  1204. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +68 -68
  1205. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +443 -239
  1206. data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +1 -1
  1207. data/src/cxx_supportlib/vendor-modified/boost/container/detail/guards_dended.hpp +198 -0
  1208. data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +18 -1
  1209. data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +36 -1
  1210. data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_pair.hpp +91 -0
  1211. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +24 -0
  1212. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +228 -194
  1213. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +55 -2
  1214. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +60 -2
  1215. data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +135 -40
  1216. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +48 -23
  1217. data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +28 -9
  1218. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +352 -152
  1219. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +3 -3
  1220. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +12 -12
  1221. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +152 -105
  1222. data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +1 -7
  1223. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common.hpp +1 -1
  1224. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +3 -3
  1225. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_resource.hpp +7 -11
  1226. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +6 -0
  1227. data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
  1228. data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +28 -28
  1229. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +464 -351
  1230. data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +5 -0
  1231. data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_functors.hpp +9 -13
  1232. data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +3 -3
  1233. data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
  1234. data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +6 -15
  1235. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +138 -4
  1236. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +3041 -0
  1237. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +874 -314
  1238. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +391 -126
  1239. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +150 -120
  1240. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +634 -254
  1241. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +33 -13
  1242. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +30 -24
  1243. data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +35 -22
  1244. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +433 -7
  1245. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +51 -0
  1246. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_set.hpp +3 -3
  1247. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/global_resource.hpp +1 -4
  1248. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +37 -3
  1249. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +10 -7
  1250. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +9 -9
  1251. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +92 -8
  1252. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +7 -6
  1253. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/unsynchronized_pool_resource.hpp +4 -4
  1254. data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +79 -81
  1255. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +445 -180
  1256. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +142 -113
  1257. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +325 -263
  1258. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +386 -228
  1259. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +243 -161
  1260. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +601 -455
  1261. data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +155 -41
  1262. data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +3 -3
  1263. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +977 -1017
  1264. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_integral.hpp +146 -0
  1265. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_mix.hpp +113 -0
  1266. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_range.hpp +408 -0
  1267. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple_like.hpp +62 -0
  1268. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/mulx.hpp +79 -0
  1269. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +395 -580
  1270. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +25 -24
  1271. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +98 -0
  1272. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_described_class.hpp +37 -0
  1273. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_range.hpp +41 -0
  1274. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_tuple_like.hpp +36 -0
  1275. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +38 -0
  1276. data/src/cxx_supportlib/vendor-modified/boost/core/addressof.hpp +2 -2
  1277. data/src/cxx_supportlib/vendor-modified/boost/core/alignof.hpp +57 -0
  1278. data/src/cxx_supportlib/vendor-modified/boost/core/alloc_construct.hpp +95 -0
  1279. data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +834 -0
  1280. data/src/cxx_supportlib/vendor-modified/boost/core/allocator_traits.hpp +112 -0
  1281. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +954 -0
  1282. data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +35 -7
  1283. data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +298 -0
  1284. data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +46 -0
  1285. data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +158 -0
  1286. data/src/cxx_supportlib/vendor-modified/boost/core/detail/is_same.hpp +39 -0
  1287. data/src/cxx_supportlib/vendor-modified/boost/core/detail/lwt_unattended.hpp +66 -0
  1288. data/src/cxx_supportlib/vendor-modified/boost/core/detail/minstd_rand.hpp +58 -0
  1289. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_pause.hpp +71 -0
  1290. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_sleep.hpp +122 -0
  1291. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_yield.hpp +100 -0
  1292. data/src/cxx_supportlib/vendor-modified/boost/core/detail/splitmix64.hpp +54 -0
  1293. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +1272 -0
  1294. data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +203 -0
  1295. data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
  1296. data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
  1297. data/src/cxx_supportlib/vendor-modified/boost/core/fclose_deleter.hpp +53 -0
  1298. data/src/cxx_supportlib/vendor-modified/boost/core/first_scalar.hpp +45 -0
  1299. data/src/cxx_supportlib/vendor-modified/boost/core/functor.hpp +41 -0
  1300. data/src/cxx_supportlib/vendor-modified/boost/core/identity.hpp +61 -0
  1301. data/src/cxx_supportlib/vendor-modified/boost/core/ignore_unused.hpp +32 -2
  1302. data/src/cxx_supportlib/vendor-modified/boost/core/invoke_swap.hpp +93 -0
  1303. data/src/cxx_supportlib/vendor-modified/boost/core/is_same.hpp +10 -15
  1304. data/src/cxx_supportlib/vendor-modified/boost/core/launder.hpp +69 -0
  1305. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +269 -145
  1306. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +43 -8
  1307. data/src/cxx_supportlib/vendor-modified/boost/core/make_span.hpp +59 -0
  1308. data/src/cxx_supportlib/vendor-modified/boost/core/max_align.hpp +82 -0
  1309. data/src/cxx_supportlib/vendor-modified/boost/core/memory_resource.hpp +108 -0
  1310. data/src/cxx_supportlib/vendor-modified/boost/core/no_exceptions_support.hpp +14 -2
  1311. data/src/cxx_supportlib/vendor-modified/boost/core/noinit_adaptor.hpp +90 -0
  1312. data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
  1313. data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +7 -0
  1314. data/src/cxx_supportlib/vendor-modified/boost/core/nvp.hpp +57 -0
  1315. data/src/cxx_supportlib/vendor-modified/boost/core/pointer_in_range.hpp +49 -0
  1316. data/src/cxx_supportlib/vendor-modified/boost/core/pointer_traits.hpp +112 -60
  1317. data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
  1318. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +61 -17
  1319. data/src/cxx_supportlib/vendor-modified/boost/core/serialization.hpp +131 -0
  1320. data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +31 -0
  1321. data/src/cxx_supportlib/vendor-modified/boost/core/snprintf.hpp +173 -0
  1322. data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +401 -0
  1323. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +12 -32
  1324. data/src/cxx_supportlib/vendor-modified/boost/core/type_name.hpp +1186 -0
  1325. data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
  1326. data/src/cxx_supportlib/vendor-modified/boost/core/uncaught_exceptions.hpp +155 -0
  1327. data/src/cxx_supportlib/vendor-modified/boost/core/use_default.hpp +17 -0
  1328. data/src/cxx_supportlib/vendor-modified/boost/core/verbose_terminate_handler.hpp +88 -0
  1329. data/src/cxx_supportlib/vendor-modified/boost/core/yield_primitives.hpp +12 -0
  1330. data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +4 -0
  1331. data/src/cxx_supportlib/vendor-modified/boost/cstdint.hpp +5 -5
  1332. data/src/cxx_supportlib/vendor-modified/boost/current_function.hpp +3 -3
  1333. data/src/cxx_supportlib/vendor-modified/boost/date_time/c_time.hpp +9 -4
  1334. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +9 -41
  1335. data/src/cxx_supportlib/vendor-modified/boost/date_time/constrained_value.hpp +19 -11
  1336. data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +24 -24
  1337. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration.hpp +17 -22
  1338. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration_types.hpp +44 -49
  1339. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_facet.hpp +5 -6
  1340. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_generators.hpp +24 -19
  1341. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_iterator.hpp +8 -8
  1342. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_parsing.hpp +51 -25
  1343. data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_rules.hpp +56 -56
  1344. data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_transition_generators.hpp +2 -2
  1345. data/src/cxx_supportlib/vendor-modified/boost/date_time/find_match.hpp +42 -0
  1346. data/src/cxx_supportlib/vendor-modified/boost/date_time/format_date_parser.hpp +98 -98
  1347. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters.hpp +3 -3
  1348. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters_limited.hpp +3 -3
  1349. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +34 -27
  1350. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day.hpp +4 -4
  1351. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration.hpp +44 -32
  1352. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration_types.hpp +2 -2
  1353. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_month.hpp +51 -23
  1354. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_serialize.hpp +29 -27
  1355. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_weekday.hpp +43 -9
  1356. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_year.hpp +3 -3
  1357. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/parsers.hpp +34 -15
  1358. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.hpp +15 -17
  1359. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.ipp +30 -25
  1360. data/src/cxx_supportlib/vendor-modified/boost/date_time/int_adapter.hpp +57 -37
  1361. data/src/cxx_supportlib/vendor-modified/boost/date_time/iso_format.hpp +13 -13
  1362. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_date_time.hpp +2 -2
  1363. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_time_io.hpp +3 -0
  1364. data/src/cxx_supportlib/vendor-modified/boost/date_time/locale_config.hpp +3 -3
  1365. data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +44 -47
  1366. data/src/cxx_supportlib/vendor-modified/boost/date_time/period_formatter.hpp +34 -31
  1367. data/src/cxx_supportlib/vendor-modified/boost/date_time/period_parser.hpp +27 -28
  1368. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/conversion.hpp +1 -1
  1369. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/date_duration_operators.hpp +8 -8
  1370. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_config.hpp +13 -26
  1371. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +7 -7
  1372. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_io.hpp +1 -1
  1373. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/ptime.hpp +22 -4
  1374. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters.hpp +4 -4
  1375. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters_limited.hpp +2 -2
  1376. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +4 -0
  1377. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_serialize.hpp +28 -12
  1378. data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_formatter.hpp +1 -0
  1379. data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_parser.hpp +1 -6
  1380. data/src/cxx_supportlib/vendor-modified/boost/date_time/string_parse_tree.hpp +5 -3
  1381. data/src/cxx_supportlib/vendor-modified/boost/date_time/strings_from_facet.hpp +4 -2
  1382. data/src/cxx_supportlib/vendor-modified/boost/date_time/time.hpp +24 -3
  1383. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +56 -44
  1384. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +9 -12
  1385. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_iterator.hpp +8 -8
  1386. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +5 -10
  1387. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_resolution_traits.hpp +18 -18
  1388. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_counted.hpp +65 -50
  1389. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_split.hpp +43 -30
  1390. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_base.hpp +1 -1
  1391. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_names.hpp +1 -1
  1392. data/src/cxx_supportlib/vendor-modified/boost/date_time/tz_db_base.hpp +0 -1
  1393. data/src/cxx_supportlib/vendor-modified/boost/date_time/wrapping_int.hpp +16 -15
  1394. data/src/cxx_supportlib/vendor-modified/boost/date_time/year_month_day.hpp +7 -5
  1395. data/src/cxx_supportlib/vendor-modified/boost/describe/bases.hpp +50 -0
  1396. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +40 -0
  1397. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/cx_streq.hpp +30 -0
  1398. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/void_t.hpp +32 -0
  1399. data/src/cxx_supportlib/vendor-modified/boost/describe/members.hpp +161 -0
  1400. data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +33 -0
  1401. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +7 -11
  1402. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
  1403. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +6 -97
  1404. data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
  1405. data/src/cxx_supportlib/vendor-modified/boost/detail/workaround.hpp +3 -3
  1406. data/src/cxx_supportlib/vendor-modified/boost/exception/current_exception_cast.hpp +10 -4
  1407. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +10 -4
  1408. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +12 -7
  1409. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +135 -34
  1410. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +9 -4
  1411. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +9 -4
  1412. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/requires_cxx11.hpp +24 -0
  1413. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/shared_ptr.hpp +2 -2
  1414. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +11 -5
  1415. data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +18 -9
  1416. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +118 -70
  1417. data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +9 -4
  1418. data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +12 -10
  1419. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +10 -5
  1420. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +9 -4
  1421. data/src/cxx_supportlib/vendor-modified/boost/exception_ptr.hpp +2 -2
  1422. data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +16 -9
  1423. data/src/cxx_supportlib/vendor-modified/boost/function/function0.hpp +1 -3
  1424. data/src/cxx_supportlib/vendor-modified/boost/function/function1.hpp +1 -3
  1425. data/src/cxx_supportlib/vendor-modified/boost/function/function10.hpp +1 -3
  1426. data/src/cxx_supportlib/vendor-modified/boost/function/function2.hpp +1 -3
  1427. data/src/cxx_supportlib/vendor-modified/boost/function/function3.hpp +1 -3
  1428. data/src/cxx_supportlib/vendor-modified/boost/function/function4.hpp +1 -3
  1429. data/src/cxx_supportlib/vendor-modified/boost/function/function5.hpp +1 -3
  1430. data/src/cxx_supportlib/vendor-modified/boost/function/function6.hpp +1 -3
  1431. data/src/cxx_supportlib/vendor-modified/boost/function/function7.hpp +1 -3
  1432. data/src/cxx_supportlib/vendor-modified/boost/function/function8.hpp +1 -3
  1433. data/src/cxx_supportlib/vendor-modified/boost/function/function9.hpp +1 -3
  1434. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +77 -237
  1435. data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +36 -41
  1436. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +456 -464
  1437. data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +1 -31
  1438. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +5 -61
  1439. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor.hpp +2 -2
  1440. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_ct.hpp +3 -3
  1441. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +35 -33
  1442. data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +83 -0
  1443. data/src/cxx_supportlib/vendor-modified/boost/integer/integer_log2.hpp +86 -81
  1444. data/src/cxx_supportlib/vendor-modified/boost/integer/integer_mask.hpp +2 -2
  1445. data/src/cxx_supportlib/vendor-modified/boost/integer/mod_inverse.hpp +53 -0
  1446. data/src/cxx_supportlib/vendor-modified/boost/integer/static_log2.hpp +4 -5
  1447. data/src/cxx_supportlib/vendor-modified/boost/integer/static_min_max.hpp +3 -2
  1448. data/src/cxx_supportlib/vendor-modified/boost/integer.hpp +4 -4
  1449. data/src/cxx_supportlib/vendor-modified/boost/integer_fwd.hpp +2 -2
  1450. data/src/cxx_supportlib/vendor-modified/boost/integer_traits.hpp +3 -3
  1451. data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +4 -4
  1452. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +99 -100
  1453. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +51 -52
  1454. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +83 -83
  1455. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +101 -102
  1456. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +155 -164
  1457. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +164 -158
  1458. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +36 -28
  1459. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +88 -19
  1460. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +5 -5
  1461. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algorithm.hpp +8 -8
  1462. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +44 -44
  1463. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/array_initializer.hpp +10 -8
  1464. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +23 -23
  1465. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +38 -40
  1466. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +85 -16
  1467. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +1 -0
  1468. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +3 -3
  1469. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +27 -27
  1470. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/empty_node_checker.hpp +1 -1
  1471. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +1 -1
  1472. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +1 -32
  1473. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +14 -15
  1474. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +277 -0
  1475. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +54 -0
  1476. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_integral.hpp +119 -0
  1477. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_mix.hpp +130 -0
  1478. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +204 -115
  1479. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +26 -22
  1480. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +6 -6
  1481. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +126 -80
  1482. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +7 -7
  1483. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +30 -18
  1484. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +6 -6
  1485. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +11 -64
  1486. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +8 -1
  1487. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +4 -4
  1488. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_to_value.hpp +1 -1
  1489. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +6 -17
  1490. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +24 -24
  1491. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/reverse_iterator.hpp +3 -140
  1492. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +3 -1
  1493. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +14 -14
  1494. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +36 -17
  1495. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +3 -3
  1496. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +22 -22
  1497. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +38 -26
  1498. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +9 -9
  1499. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +45 -26
  1500. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/twin.hpp +49 -0
  1501. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/value_functors.hpp +52 -0
  1502. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +66 -4
  1503. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +1763 -1039
  1504. data/src/cxx_supportlib/vendor-modified/boost/intrusive/intrusive_fwd.hpp +5 -0
  1505. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +98 -18
  1506. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +113 -111
  1507. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +10 -10
  1508. data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +4 -4
  1509. data/src/cxx_supportlib/vendor-modified/boost/intrusive/options.hpp +26 -4
  1510. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +21 -11
  1511. data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +2 -2
  1512. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +7 -4
  1513. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +31 -23
  1514. data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +13 -6
  1515. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +51 -52
  1516. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +74 -74
  1517. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +101 -102
  1518. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +12 -12
  1519. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +109 -110
  1520. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +68 -77
  1521. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +81 -81
  1522. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +178 -186
  1523. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +8 -6
  1524. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +107 -108
  1525. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +54 -55
  1526. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +99 -97
  1527. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +141 -115
  1528. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +88 -83
  1529. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +158 -152
  1530. data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +6 -4
  1531. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +128 -114
  1532. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +17 -17
  1533. data/src/cxx_supportlib/vendor-modified/boost/io/ios_state.hpp +361 -315
  1534. data/src/cxx_supportlib/vendor-modified/boost/io_fwd.hpp +45 -49
  1535. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +12 -1
  1536. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +10 -10
  1537. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +1 -1
  1538. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +5 -5
  1539. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +13 -13
  1540. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
  1541. data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +148 -0
  1542. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +3 -3
  1543. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +2 -2
  1544. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +107 -26
  1545. data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +8 -4
  1546. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +24 -25
  1547. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +59 -0
  1548. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +154 -172
  1549. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +619 -647
  1550. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +89 -77
  1551. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +35 -45
  1552. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +23 -29
  1553. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +73 -0
  1554. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +2 -2
  1555. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +33 -28
  1556. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +10 -9
  1557. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +23 -157
  1558. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +10 -13
  1559. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/chrono.cpp +4 -2
  1560. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/process_cpu_clocks.cpp +3 -1
  1561. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/thread_clock.cpp +3 -1
  1562. data/src/cxx_supportlib/vendor-modified/boost/libs/random/src/random_device.cpp +4 -2
  1563. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +20 -25
  1564. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +13 -122
  1565. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +8 -2
  1566. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +24 -22
  1567. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
  1568. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
  1569. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once.cpp +0 -1
  1570. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +4 -3
  1571. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +50 -29
  1572. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
  1573. data/src/cxx_supportlib/vendor-modified/boost/limits.hpp +12 -12
  1574. data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +6 -12
  1575. data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +5 -5
  1576. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +107 -62
  1577. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +119 -86
  1578. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +322 -489
  1579. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +11 -10
  1580. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +22 -11
  1581. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/insertion_sort.hpp +9 -0
  1582. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +463 -120
  1583. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge_sort.hpp +87 -10
  1584. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/pdqsort.hpp +16 -5
  1585. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/search.hpp +79 -0
  1586. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/set_difference.hpp +9 -3
  1587. data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +8 -5
  1588. data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +24 -9
  1589. data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +0 -1
  1590. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +32 -11
  1591. data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +32 -6
  1592. data/src/cxx_supportlib/vendor-modified/boost/move/detail/addressof.hpp +61 -0
  1593. data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +1 -1
  1594. data/src/cxx_supportlib/vendor-modified/boost/move/detail/force_ptr.hpp +36 -0
  1595. data/src/cxx_supportlib/vendor-modified/boost/move/detail/fwd_macros.hpp +12 -0
  1596. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +109 -9
  1597. data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +53 -0
  1598. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +10 -32
  1599. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +11 -6
  1600. data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +24 -24
  1601. data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +268 -0
  1602. data/src/cxx_supportlib/vendor-modified/boost/move/detail/reverse_iterator.hpp +40 -33
  1603. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +5 -1
  1604. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_end.hpp +2 -0
  1605. data/src/cxx_supportlib/vendor-modified/boost/move/detail/to_raw_pointer.hpp +1 -1
  1606. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +341 -70
  1607. data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +1 -27
  1608. data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +90 -3
  1609. data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +21 -21
  1610. data/src/cxx_supportlib/vendor-modified/boost/move/make_unique.hpp +10 -0
  1611. data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +65 -66
  1612. data/src/cxx_supportlib/vendor-modified/boost/move/utility.hpp +2 -2
  1613. data/src/cxx_supportlib/vendor-modified/boost/move/utility_core.hpp +38 -33
  1614. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +1386 -0
  1615. data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +120 -0
  1616. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/config.hpp +149 -0
  1617. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_append.hpp +321 -0
  1618. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_copy_if.hpp +48 -0
  1619. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_count.hpp +147 -0
  1620. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_defer.hpp +119 -0
  1621. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_fold.hpp +166 -0
  1622. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_front.hpp +50 -0
  1623. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_is_list.hpp +39 -0
  1624. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_is_value_list.hpp +41 -0
  1625. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_list.hpp +24 -0
  1626. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_list_v.hpp +27 -0
  1627. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +87 -0
  1628. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_min_element.hpp +51 -0
  1629. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_plus.hpp +84 -0
  1630. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_remove_if.hpp +48 -0
  1631. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_rename.hpp +54 -0
  1632. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_value.hpp +25 -0
  1633. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_void.hpp +32 -0
  1634. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_with_index.hpp +385 -0
  1635. data/src/cxx_supportlib/vendor-modified/boost/mp11/function.hpp +222 -0
  1636. data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +121 -0
  1637. data/src/cxx_supportlib/vendor-modified/boost/mp11/integral.hpp +51 -0
  1638. data/src/cxx_supportlib/vendor-modified/boost/mp11/list.hpp +481 -0
  1639. data/src/cxx_supportlib/vendor-modified/boost/mp11/set.hpp +188 -0
  1640. data/src/cxx_supportlib/vendor-modified/boost/mp11/utility.hpp +169 -0
  1641. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +16 -0
  1642. data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +1 -1
  1643. data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +31 -11
  1644. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/common_name_wknd.hpp +2 -2
  1645. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/adl.hpp +1 -1
  1646. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/arrays.hpp +1 -1
  1647. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bcc.hpp +2 -2
  1648. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bind.hpp +1 -1
  1649. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/compiler.hpp +2 -2
  1650. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ctps.hpp +1 -1
  1651. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/dtp.hpp +3 -3
  1652. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/forwarding.hpp +1 -1
  1653. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/integral.hpp +1 -1
  1654. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/operators.hpp +1 -1
  1655. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/overload_resolution.hpp +1 -1
  1656. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/preprocessor.hpp +1 -1
  1657. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ttp.hpp +2 -2
  1658. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/count_impl.hpp +1 -1
  1659. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_impl_body.hpp +3 -3
  1660. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_rebind.hpp +4 -4
  1661. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/integral_wrapper.hpp +3 -2
  1662. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_support.hpp +3 -3
  1663. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/nested_type_wknd.hpp +1 -1
  1664. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +1 -1
  1665. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/enum.hpp +12 -0
  1666. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/params.hpp +12 -0
  1667. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/size_impl.hpp +1 -1
  1668. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/static_cast.hpp +1 -1
  1669. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/template_arity.hpp +1 -1
  1670. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/yes_no.hpp +2 -1
  1671. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +1 -1
  1672. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +1 -1
  1673. data/src/cxx_supportlib/vendor-modified/boost/mpl/has_xxx.hpp +4 -4
  1674. data/src/cxx_supportlib/vendor-modified/boost/mpl/if.hpp +1 -1
  1675. data/src/cxx_supportlib/vendor-modified/boost/mpl/integral_c.hpp +1 -1
  1676. data/src/cxx_supportlib/vendor-modified/boost/mpl/lower_bound.hpp +1 -1
  1677. data/src/cxx_supportlib/vendor-modified/boost/mpl/numeric_cast.hpp +1 -1
  1678. data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +1 -1
  1679. data/src/cxx_supportlib/vendor-modified/boost/mpl/string.hpp +6 -6
  1680. data/src/cxx_supportlib/vendor-modified/boost/mpl/upper_bound.hpp +1 -1
  1681. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/at.hpp +1 -1
  1682. data/src/cxx_supportlib/vendor-modified/boost/next_prior.hpp +3 -44
  1683. data/src/cxx_supportlib/vendor-modified/boost/nondet_random.hpp +22 -0
  1684. data/src/cxx_supportlib/vendor-modified/boost/none.hpp +5 -5
  1685. data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +11 -1
  1686. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/cast.hpp +1 -1
  1687. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/converter_policies.hpp +5 -5
  1688. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/converter.hpp +1 -1
  1689. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/int_float_mixture.hpp +5 -5
  1690. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/meta.hpp +1 -1
  1691. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/sign_mixture.hpp +5 -5
  1692. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/udt_builtin_mixture.hpp +5 -5
  1693. data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +33 -24
  1694. data/src/cxx_supportlib/vendor-modified/boost/optional/bad_optional_access.hpp +9 -0
  1695. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
  1696. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +17 -17
  1697. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_aligned_storage.hpp +1 -1
  1698. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +4 -4
  1699. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_hash.hpp +49 -0
  1700. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +30 -4
  1701. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +1 -1
  1702. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +6 -6
  1703. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +41 -30
  1704. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +304 -128
  1705. data/src/cxx_supportlib/vendor-modified/boost/optional/optional_io.hpp +3 -2
  1706. data/src/cxx_supportlib/vendor-modified/boost/parameter/are_tagged_arguments.hpp +125 -0
  1707. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/always_true_predicate.hpp +42 -0
  1708. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/arg_list.hpp +1253 -359
  1709. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/as_lvalue.hpp +25 -0
  1710. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/augment_predicate.hpp +198 -0
  1711. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/cast.hpp +7 -136
  1712. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/default.hpp +101 -59
  1713. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/has_nested_template_fn.hpp +111 -0
  1714. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/is_maybe.hpp +42 -16
  1715. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/is_placeholder.hpp +64 -0
  1716. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/is_tagged_argument.hpp +95 -0
  1717. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/lambda_tag.hpp +16 -0
  1718. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/maybe.hpp +128 -97
  1719. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/name.hpp +93 -0
  1720. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/as_parameter_requirements.hpp +32 -0
  1721. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/deduce_tag.hpp +217 -0
  1722. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/deduced_item.hpp +34 -0
  1723. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/insert_tagged.hpp +23 -0
  1724. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/is_named_argument.hpp +43 -0
  1725. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/item.hpp +47 -0
  1726. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_arg_list.hpp +438 -0
  1727. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_deduced_items.hpp +53 -0
  1728. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_items.hpp +45 -0
  1729. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_parameter_spec_items.hpp +244 -0
  1730. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/parameter_requirements.hpp +25 -0
  1731. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/predicate.hpp +87 -0
  1732. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/satisfies.hpp +142 -0
  1733. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_deduced.hpp +59 -0
  1734. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg.hpp +30 -0
  1735. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg_ref.hpp +67 -0
  1736. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_template_keyword_arg.hpp +30 -0
  1737. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_type.hpp +89 -0
  1738. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/unmatched_argument.hpp +41 -0
  1739. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/parameter_requirements.hpp +7 -20
  1740. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/parenthesized_type.hpp +8 -31
  1741. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pp_impl/argument_pack.hpp +91 -0
  1742. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pp_impl/match.hpp +55 -0
  1743. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pp_impl/unwrap_predicate.hpp +97 -0
  1744. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/binary_seq_for_each.hpp +1638 -0
  1745. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/binary_seq_for_each_inc.hpp +1796 -0
  1746. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/binary_seq_to_args.hpp +65 -0
  1747. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/convert_binary_seq.hpp +57 -0
  1748. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/flatten.hpp +7 -110
  1749. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/for_each.hpp +7 -98
  1750. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/for_each_pred.hpp +1029 -0
  1751. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/argument_specs.hpp +24 -0
  1752. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/arity_range.hpp +42 -0
  1753. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/flatten.hpp +143 -0
  1754. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/for_each.hpp +152 -0
  1755. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/forwarding_overloads.hpp +509 -0
  1756. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_cast.hpp +730 -0
  1757. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_dispatch_layer.hpp +474 -0
  1758. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_dispatch_tuple.hpp +33 -0
  1759. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_forward_match.hpp +43 -0
  1760. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_name.hpp +152 -0
  1761. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/no_spec_overloads.hpp +331 -0
  1762. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/parenthesized_return_type.hpp +122 -0
  1763. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/parenthesized_type.hpp +34 -0
  1764. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/specification.hpp +109 -0
  1765. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/split_args.hpp +71 -0
  1766. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/inc_binary_seq.hpp +78 -0
  1767. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/is_binary.hpp +31 -0
  1768. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/is_nullary.hpp +32 -0
  1769. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/no_perfect_forwarding_begin.hpp +165 -0
  1770. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/no_perfect_forwarding_end.hpp +24 -0
  1771. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/nullptr.hpp +18 -0
  1772. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/overloads.hpp +92 -0
  1773. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/qualifier.hpp +88 -0
  1774. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/seq_enum.hpp +26 -0
  1775. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/seq_merge.hpp +1807 -0
  1776. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/result_of0.hpp +46 -29
  1777. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/set.hpp +94 -42
  1778. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tag.hpp +156 -34
  1779. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tagged_argument.hpp +874 -159
  1780. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tagged_argument_fwd.hpp +38 -0
  1781. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/template_keyword.hpp +76 -34
  1782. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +161 -78
  1783. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/use_default.hpp +17 -0
  1784. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/use_default_tag.hpp +29 -0
  1785. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/void.hpp +26 -17
  1786. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/yesno.hpp +30 -14
  1787. data/src/cxx_supportlib/vendor-modified/boost/parameter/binding.hpp +158 -74
  1788. data/src/cxx_supportlib/vendor-modified/boost/parameter/compose.hpp +210 -0
  1789. data/src/cxx_supportlib/vendor-modified/boost/parameter/config.hpp +75 -6
  1790. data/src/cxx_supportlib/vendor-modified/boost/parameter/deduced.hpp +132 -0
  1791. data/src/cxx_supportlib/vendor-modified/boost/parameter/is_argument_pack.hpp +29 -0
  1792. data/src/cxx_supportlib/vendor-modified/boost/parameter/keyword.hpp +724 -102
  1793. data/src/cxx_supportlib/vendor-modified/boost/parameter/keyword_fwd.hpp +23 -0
  1794. data/src/cxx_supportlib/vendor-modified/boost/parameter/macros.hpp +205 -72
  1795. data/src/cxx_supportlib/vendor-modified/boost/parameter/match.hpp +37 -44
  1796. data/src/cxx_supportlib/vendor-modified/boost/parameter/name.hpp +100 -126
  1797. data/src/cxx_supportlib/vendor-modified/boost/parameter/nested_keyword.hpp +111 -0
  1798. data/src/cxx_supportlib/vendor-modified/boost/parameter/optional.hpp +67 -0
  1799. data/src/cxx_supportlib/vendor-modified/boost/parameter/parameters.hpp +556 -887
  1800. data/src/cxx_supportlib/vendor-modified/boost/parameter/preprocessor.hpp +156 -1016
  1801. data/src/cxx_supportlib/vendor-modified/boost/parameter/preprocessor_no_spec.hpp +74 -0
  1802. data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
  1803. data/src/cxx_supportlib/vendor-modified/boost/parameter/required.hpp +66 -0
  1804. data/src/cxx_supportlib/vendor-modified/boost/parameter/template_keyword.hpp +87 -0
  1805. data/src/cxx_supportlib/vendor-modified/boost/parameter/value_type.hpp +156 -74
  1806. data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
  1807. data/src/cxx_supportlib/vendor-modified/boost/pool/object_pool.hpp +2 -2
  1808. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +22 -9
  1809. data/src/cxx_supportlib/vendor-modified/boost/pool/pool_alloc.hpp +1 -1
  1810. data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +13 -0
  1811. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/alpha.h +19 -13
  1812. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +97 -28
  1813. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/blackfin.h +16 -10
  1814. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/convex.h +19 -13
  1815. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/e2k.h +54 -0
  1816. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ia64.h +19 -13
  1817. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/loongarch.h +41 -0
  1818. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/m68k.h +33 -27
  1819. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/mips.h +31 -20
  1820. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/parisc.h +24 -18
  1821. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ppc.h +82 -30
  1822. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +50 -0
  1823. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/pyramid.h +13 -7
  1824. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/riscv.h +48 -0
  1825. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/rs6k.h +23 -12
  1826. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sparc.h +26 -13
  1827. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/superh.h +29 -15
  1828. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys370.h +15 -9
  1829. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys390.h +15 -9
  1830. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/32.h +31 -25
  1831. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/64.h +19 -13
  1832. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86.h +4 -4
  1833. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/z.h +14 -8
  1834. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +4 -1
  1835. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/borland.h +12 -11
  1836. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/clang.h +10 -9
  1837. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/comeau.h +10 -9
  1838. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +13 -12
  1839. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/diab.h +10 -9
  1840. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/digitalmars.h +10 -9
  1841. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/dignus.h +10 -9
  1842. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/edg.h +10 -9
  1843. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ekopath.h +10 -9
  1844. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc.h +11 -10
  1845. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc_xml.h +9 -8
  1846. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/greenhills.h +12 -11
  1847. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/hp_acc.h +10 -9
  1848. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/iar.h +10 -9
  1849. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ibm.h +15 -14
  1850. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/intel.h +18 -17
  1851. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/kai.h +10 -9
  1852. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/llvm.h +9 -8
  1853. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metaware.h +9 -8
  1854. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metrowerks.h +14 -13
  1855. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/microtec.h +9 -8
  1856. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/mpw.h +12 -11
  1857. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +74 -0
  1858. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/palm.h +10 -9
  1859. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/pgi.h +10 -9
  1860. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sgi_mipspro.h +12 -11
  1861. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sunpro.h +14 -13
  1862. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/tendra.h +9 -8
  1863. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/visualc.h +13 -12
  1864. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/watcom.h +10 -9
  1865. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
  1866. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm/versions.h +16 -10
  1867. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm.h +21 -19
  1868. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc/versions.h +27 -21
  1869. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc.h +21 -19
  1870. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86/versions.h +73 -67
  1871. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86.h +39 -37
  1872. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd/versions.h +24 -19
  1873. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd.h +25 -23
  1874. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd.h +95 -46
  1875. data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +53 -0
  1876. data/src/cxx_supportlib/vendor-modified/boost/predef/language/objc.h +9 -8
  1877. data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdc.h +11 -10
  1878. data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdcpp.h +41 -34
  1879. data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
  1880. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/cloudabi.h +10 -9
  1881. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/gnu.h +12 -11
  1882. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/uc.h +10 -9
  1883. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/vms.h +9 -8
  1884. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/zos.h +10 -9
  1885. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/cxx.h +11 -10
  1886. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/dinkumware.h +11 -10
  1887. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/libcomo.h +10 -9
  1888. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/modena.h +10 -9
  1889. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msl.h +12 -11
  1890. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msvc.h +53 -0
  1891. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/roguewave.h +11 -10
  1892. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/sgi.h +10 -9
  1893. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stdcpp3.h +12 -11
  1894. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stlport.h +13 -12
  1895. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/vacpp.h +9 -8
  1896. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std.h +1 -0
  1897. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +107 -33
  1898. data/src/cxx_supportlib/vendor-modified/boost/predef/os/aix.h +14 -13
  1899. data/src/cxx_supportlib/vendor-modified/boost/predef/os/amigaos.h +10 -9
  1900. data/src/cxx_supportlib/vendor-modified/boost/predef/os/beos.h +9 -8
  1901. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/bsdi.h +10 -8
  1902. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/dragonfly.h +10 -8
  1903. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/free.h +11 -9
  1904. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/net.h +17 -15
  1905. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/open.h +60 -58
  1906. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd.h +22 -23
  1907. data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +15 -9
  1908. data/src/cxx_supportlib/vendor-modified/boost/predef/os/haiku.h +9 -8
  1909. data/src/cxx_supportlib/vendor-modified/boost/predef/os/hpux.h +11 -10
  1910. data/src/cxx_supportlib/vendor-modified/boost/predef/os/ios.h +12 -11
  1911. data/src/cxx_supportlib/vendor-modified/boost/predef/os/irix.h +10 -9
  1912. data/src/cxx_supportlib/vendor-modified/boost/predef/os/linux.h +14 -10
  1913. data/src/cxx_supportlib/vendor-modified/boost/predef/os/macos.h +14 -13
  1914. data/src/cxx_supportlib/vendor-modified/boost/predef/os/os400.h +9 -8
  1915. data/src/cxx_supportlib/vendor-modified/boost/predef/os/qnxnto.h +12 -11
  1916. data/src/cxx_supportlib/vendor-modified/boost/predef/os/solaris.h +10 -9
  1917. data/src/cxx_supportlib/vendor-modified/boost/predef/os/unix.h +24 -22
  1918. data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +11 -10
  1919. data/src/cxx_supportlib/vendor-modified/boost/predef/os/windows.h +16 -15
  1920. data/src/cxx_supportlib/vendor-modified/boost/predef/os.h +0 -1
  1921. data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +19 -21
  1922. data/src/cxx_supportlib/vendor-modified/boost/predef/other/wordsize.h +73 -0
  1923. data/src/cxx_supportlib/vendor-modified/boost/predef/other/workaround.h +22 -14
  1924. data/src/cxx_supportlib/vendor-modified/boost/predef/other.h +3 -2
  1925. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/android.h +44 -0
  1926. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/cloudabi.h +9 -8
  1927. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/ios.h +14 -9
  1928. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw.h +12 -11
  1929. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw32.h +10 -9
  1930. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw64.h +10 -9
  1931. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_desktop.h +10 -9
  1932. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_phone.h +9 -8
  1933. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_runtime.h +10 -9
  1934. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_server.h +9 -8
  1935. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_store.h +10 -9
  1936. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_system.h +9 -8
  1937. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_uwp.h +12 -11
  1938. data/src/cxx_supportlib/vendor-modified/boost/predef/platform.h +1 -1
  1939. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  1940. data/src/cxx_supportlib/vendor-modified/boost/predef/version_number.h +16 -14
  1941. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/add.hpp +54 -1
  1942. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/dec.hpp +33 -0
  1943. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/detail/is_1_number.hpp +21 -0
  1944. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/detail/is_maximum_number.hpp +22 -0
  1945. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/detail/is_minimum_number.hpp +21 -0
  1946. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/detail/maximum_number.hpp +19 -0
  1947. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/div.hpp +37 -1
  1948. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/inc.hpp +33 -0
  1949. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/dec_1024.hpp +531 -0
  1950. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/dec_256.hpp +276 -0
  1951. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/dec_512.hpp +275 -0
  1952. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/inc_1024.hpp +536 -0
  1953. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/inc_256.hpp +275 -0
  1954. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/inc_512.hpp +280 -0
  1955. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/mod.hpp +37 -1
  1956. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/mul.hpp +60 -1
  1957. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/sub.hpp +51 -1
  1958. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/detail/get_data.hpp +21 -21
  1959. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/enum.hpp +17 -1
  1960. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/insert.hpp +71 -0
  1961. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/remove.hpp +66 -0
  1962. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/replace.hpp +58 -0
  1963. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_list.hpp +7 -7
  1964. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_seq.hpp +7 -7
  1965. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_tuple.hpp +7 -7
  1966. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/comparison/limits/not_equal_1024.hpp +1044 -0
  1967. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/comparison/limits/not_equal_256.hpp +793 -0
  1968. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/comparison/limits/not_equal_512.hpp +532 -0
  1969. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/comparison/not_equal.hpp +44 -1
  1970. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +26 -34
  1971. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/limits.hpp +136 -3
  1972. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/deduce_d.hpp +27 -0
  1973. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/dmc/while.hpp +2 -3
  1974. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/edg/limits/while_1024.hpp +1044 -0
  1975. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/edg/limits/while_256.hpp +533 -0
  1976. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/edg/limits/while_512.hpp +532 -0
  1977. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/edg/while.hpp +27 -0
  1978. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/limits/while_1024.hpp +1044 -0
  1979. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/limits/while_256.hpp +533 -0
  1980. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/limits/while_512.hpp +532 -0
  1981. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/while.hpp +27 -0
  1982. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/limits/while_1024.hpp +531 -0
  1983. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/limits/while_256.hpp +275 -0
  1984. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/limits/while_512.hpp +275 -0
  1985. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/while.hpp +75 -0
  1986. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/auto_rec.hpp +41 -0
  1987. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/dmc/auto_rec.hpp +2 -2
  1988. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/limits/auto_rec_1024.hpp +532 -0
  1989. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/limits/auto_rec_256.hpp +280 -0
  1990. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/limits/auto_rec_512.hpp +276 -0
  1991. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/check_empty.hpp +19 -0
  1992. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/detail/is_empty.hpp +3 -3
  1993. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/intercept.hpp +29 -0
  1994. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty.hpp +0 -37
  1995. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty_variadic.hpp +28 -5
  1996. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/limits/intercept_1024.hpp +530 -0
  1997. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/limits/intercept_256.hpp +273 -0
  1998. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/limits/intercept_512.hpp +274 -0
  1999. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/overload.hpp +1 -3
  2000. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/va_opt.hpp +34 -0
  2001. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities.hpp +2 -0
  2002. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward1.hpp +27 -0
  2003. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward2.hpp +27 -0
  2004. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward3.hpp +27 -0
  2005. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward4.hpp +27 -0
  2006. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward5.hpp +27 -0
  2007. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward1_1024.hpp +2573 -0
  2008. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward1_256.hpp +1296 -0
  2009. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward1_512.hpp +1293 -0
  2010. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward2_1024.hpp +2573 -0
  2011. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward2_256.hpp +1296 -0
  2012. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward2_512.hpp +1293 -0
  2013. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward3_1024.hpp +2573 -0
  2014. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward3_256.hpp +1296 -0
  2015. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward3_512.hpp +1293 -0
  2016. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward4_1024.hpp +2573 -0
  2017. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward4_256.hpp +1296 -0
  2018. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward4_512.hpp +1293 -0
  2019. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward5_1024.hpp +2573 -0
  2020. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward5_256.hpp +1296 -0
  2021. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward5_512.hpp +1293 -0
  2022. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse1_1024.hpp +2571 -0
  2023. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse1_256.hpp +1296 -0
  2024. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse1_512.hpp +1291 -0
  2025. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse2_1024.hpp +2571 -0
  2026. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse2_256.hpp +1296 -0
  2027. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse2_512.hpp +1293 -0
  2028. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse3_1024.hpp +2571 -0
  2029. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse3_256.hpp +1296 -0
  2030. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse3_512.hpp +1293 -0
  2031. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse4_1024.hpp +2571 -0
  2032. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse4_256.hpp +1296 -0
  2033. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse4_512.hpp +1293 -0
  2034. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse5_1024.hpp +2571 -0
  2035. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse5_256.hpp +1296 -0
  2036. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse5_512.hpp +1293 -0
  2037. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse1.hpp +25 -0
  2038. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse2.hpp +25 -0
  2039. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse3.hpp +25 -0
  2040. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse4.hpp +25 -0
  2041. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse5.hpp +25 -0
  2042. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/local_1024.hpp +1549 -0
  2043. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/local_256.hpp +782 -0
  2044. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/local_512.hpp +781 -0
  2045. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/rlocal_1024.hpp +1549 -0
  2046. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/rlocal_256.hpp +782 -0
  2047. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/rlocal_512.hpp +781 -0
  2048. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/local.hpp +27 -0
  2049. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/rlocal.hpp +25 -0
  2050. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/dmc/fold_left.hpp +3 -2
  2051. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/fold_left.hpp +28 -0
  2052. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/fold_right.hpp +29 -0
  2053. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_left_1024.hpp +1044 -0
  2054. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_left_256.hpp +533 -0
  2055. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_left_512.hpp +532 -0
  2056. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_right_1024.hpp +1557 -0
  2057. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_right_256.hpp +791 -0
  2058. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_right_512.hpp +789 -0
  2059. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/fold_left.hpp +28 -0
  2060. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/fold_right.hpp +26 -0
  2061. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_left_1024.hpp +532 -0
  2062. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_left_256.hpp +275 -0
  2063. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_left_512.hpp +276 -0
  2064. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_right_1024.hpp +532 -0
  2065. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_right_256.hpp +275 -0
  2066. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_right_512.hpp +276 -0
  2067. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/enum.hpp +13 -1
  2068. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/fold_left.hpp +60 -0
  2069. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/fold_right.hpp +44 -0
  2070. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/for_each_product.hpp +25 -6
  2071. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/limits/fold_left_1024.hpp +531 -0
  2072. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/limits/fold_left_256.hpp +275 -0
  2073. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/limits/fold_left_512.hpp +275 -0
  2074. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/reverse.hpp +35 -0
  2075. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/size.hpp +56 -1
  2076. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_array.hpp +21 -88
  2077. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_tuple.hpp +14 -14
  2078. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/logical/bool.hpp +22 -0
  2079. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/logical/limits/bool_1024.hpp +531 -0
  2080. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/logical/limits/bool_256.hpp +275 -0
  2081. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/logical/limits/bool_512.hpp +275 -0
  2082. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/is_begin_parens.hpp +1 -5
  2083. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/remove_parens.hpp +0 -4
  2084. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/deduce_r.hpp +27 -0
  2085. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/dmc/for.hpp +3 -2
  2086. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/edg/for.hpp +26 -0
  2087. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/edg/limits/for_1024.hpp +1044 -0
  2088. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/edg/limits/for_256.hpp +533 -0
  2089. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/edg/limits/for_512.hpp +532 -0
  2090. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/for.hpp +28 -0
  2091. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/limits/for_1024.hpp +1044 -0
  2092. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/limits/for_256.hpp +533 -0
  2093. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/limits/for_512.hpp +532 -0
  2094. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/msvc/for.hpp +1 -0
  2095. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/for.hpp +121 -7
  2096. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/for_1024.hpp +531 -0
  2097. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/for_256.hpp +275 -0
  2098. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/for_512.hpp +275 -0
  2099. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/repeat_1024.hpp +1557 -0
  2100. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/repeat_256.hpp +791 -0
  2101. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/repeat_512.hpp +789 -0
  2102. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/repeat.hpp +22 -0
  2103. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/repeat_from_to.hpp +27 -0
  2104. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/binary_transform.hpp +6 -11
  2105. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/is_empty.hpp +11 -11
  2106. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/limits/split_1024.hpp +530 -0
  2107. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/limits/split_256.hpp +272 -0
  2108. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/limits/split_512.hpp +274 -0
  2109. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/split.hpp +23 -0
  2110. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/elem.hpp +23 -0
  2111. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/enum.hpp +23 -0
  2112. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/fold_left.hpp +52 -0
  2113. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/fold_right.hpp +37 -0
  2114. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each.hpp +27 -27
  2115. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each_i.hpp +28 -28
  2116. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/elem_1024.hpp +530 -0
  2117. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/elem_256.hpp +272 -0
  2118. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/elem_512.hpp +274 -0
  2119. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/enum_1024.hpp +530 -0
  2120. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/enum_256.hpp +272 -0
  2121. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/enum_512.hpp +274 -0
  2122. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_left_1024.hpp +1556 -0
  2123. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_left_256.hpp +1053 -0
  2124. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_left_512.hpp +788 -0
  2125. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_right_1024.hpp +530 -0
  2126. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_right_256.hpp +273 -0
  2127. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_right_512.hpp +274 -0
  2128. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/size_1024.hpp +1043 -0
  2129. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/size_256.hpp +532 -0
  2130. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/size_512.hpp +531 -0
  2131. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/replace.hpp +7 -7
  2132. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/rest_n.hpp +16 -10
  2133. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/size.hpp +23 -0
  2134. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/variadic_seq_to_seq.hpp +0 -2
  2135. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +1 -1
  2136. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/detail/is_single_return.hpp +5 -5
  2137. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/eat.hpp +4 -18
  2138. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/elem.hpp +11 -157
  2139. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/insert.hpp +2 -7
  2140. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/reverse_128.hpp +403 -0
  2141. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/reverse_256.hpp +1171 -0
  2142. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/reverse_64.hpp +83 -0
  2143. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_list_128.hpp +595 -0
  2144. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_list_256.hpp +1747 -0
  2145. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_list_64.hpp +83 -0
  2146. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_128.hpp +403 -0
  2147. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +1171 -0
  2148. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_64.hpp +84 -0
  2149. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_back.hpp +16 -21
  2150. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_front.hpp +16 -21
  2151. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_back.hpp +1 -6
  2152. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_front.hpp +1 -7
  2153. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/rem.hpp +21 -43
  2154. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/remove.hpp +16 -21
  2155. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/replace.hpp +2 -7
  2156. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/reverse.hpp +38 -25
  2157. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/size.hpp +13 -6
  2158. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_array.hpp +15 -12
  2159. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_list.hpp +37 -25
  2160. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_seq.hpp +38 -24
  2161. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/has_opt.hpp +39 -0
  2162. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/is_single_return.hpp +5 -5
  2163. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/elem.hpp +93 -71
  2164. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +34 -0
  2165. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/elem_128.hpp +275 -0
  2166. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/elem_256.hpp +723 -0
  2167. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/elem_64.hpp +81 -0
  2168. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/size_128.hpp +47 -0
  2169. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/size_256.hpp +53 -0
  2170. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/size_64.hpp +23 -0
  2171. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/size.hpp +39 -4
  2172. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/to_array.hpp +15 -9
  2173. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/to_list.hpp +9 -2
  2174. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/to_seq.hpp +1 -3
  2175. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/to_tuple.hpp +1 -3
  2176. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic.hpp +1 -0
  2177. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +1 -1
  2178. data/src/cxx_supportlib/vendor-modified/boost/random/additive_combine.hpp +2 -2
  2179. data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +190 -0
  2180. data/src/cxx_supportlib/vendor-modified/boost/random/detail/int_float_pair.hpp +3 -4
  2181. data/src/cxx_supportlib/vendor-modified/boost/random/detail/integer_log2.hpp +1 -1
  2182. data/src/cxx_supportlib/vendor-modified/boost/random/detail/mixmax_skip_N17.ipp +287 -0
  2183. data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +514 -0
  2184. data/src/cxx_supportlib/vendor-modified/boost/random/detail/operators.hpp +1 -1
  2185. data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
  2186. data/src/cxx_supportlib/vendor-modified/boost/random/detail/seed.hpp +9 -11
  2187. data/src/cxx_supportlib/vendor-modified/boost/random/detail/seed_impl.hpp +13 -14
  2188. data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4107 -0
  2189. data/src/cxx_supportlib/vendor-modified/boost/random/discard_block.hpp +2 -2
  2190. data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +4 -0
  2191. data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
  2192. data/src/cxx_supportlib/vendor-modified/boost/random/generate_canonical.hpp +2 -3
  2193. data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +3 -3
  2194. data/src/cxx_supportlib/vendor-modified/boost/random/independent_bits.hpp +3 -3
  2195. data/src/cxx_supportlib/vendor-modified/boost/random/inversive_congruential.hpp +3 -4
  2196. data/src/cxx_supportlib/vendor-modified/boost/random/lagged_fibonacci.hpp +4 -4
  2197. data/src/cxx_supportlib/vendor-modified/boost/random/linear_congruential.hpp +5 -7
  2198. data/src/cxx_supportlib/vendor-modified/boost/random/linear_feedback_shift.hpp +3 -3
  2199. data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +2 -2
  2200. data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +313 -0
  2201. data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
  2202. data/src/cxx_supportlib/vendor-modified/boost/random/random_device.hpp +2 -2
  2203. data/src/cxx_supportlib/vendor-modified/boost/random/shuffle_order.hpp +2 -2
  2204. data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +238 -0
  2205. data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +203 -0
  2206. data/src/cxx_supportlib/vendor-modified/boost/random/subtract_with_carry.hpp +18 -18
  2207. data/src/cxx_supportlib/vendor-modified/boost/random/traits.hpp +3 -3
  2208. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_int_distribution.hpp +7 -7
  2209. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_real_distribution.hpp +4 -5
  2210. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_smallint.hpp +4 -5
  2211. data/src/cxx_supportlib/vendor-modified/boost/random/xor_combine.hpp +4 -2
  2212. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +2 -0
  2213. data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -6
  2214. data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +17 -15
  2215. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +2 -2
  2216. data/src/cxx_supportlib/vendor-modified/boost/range/config.hpp +1 -1
  2217. data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
  2218. data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
  2219. data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
  2220. data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +18 -16
  2221. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
  2222. data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +0 -32
  2223. data/src/cxx_supportlib/vendor-modified/boost/range/rbegin.hpp +0 -13
  2224. data/src/cxx_supportlib/vendor-modified/boost/range/rend.hpp +0 -13
  2225. data/src/cxx_supportlib/vendor-modified/boost/range/size.hpp +1 -1
  2226. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +4 -78
  2227. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/gcd_lcm.hpp +53 -0
  2228. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_evenly_divisible_by.hpp +32 -0
  2229. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_ratio.hpp +28 -0
  2230. data/src/cxx_supportlib/vendor-modified/boost/ratio/include.hpp +1 -3
  2231. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio.hpp +5 -249
  2232. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_fwd.hpp +30 -56
  2233. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_io.hpp +0 -533
  2234. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +95 -51
  2235. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +82 -76
  2236. data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +1 -1
  2237. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +104 -101
  2238. data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +4 -72
  2239. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +4 -140
  2240. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +8 -761
  2241. data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +4 -0
  2242. data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +2 -0
  2243. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +32 -16
  2244. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +50 -25
  2245. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +64 -30
  2246. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +342 -42
  2247. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +111 -28
  2248. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -117
  2249. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +1516 -0
  2250. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +54 -0
  2251. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +18 -7
  2252. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +21 -12
  2253. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +39 -1
  2254. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +171 -0
  2255. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +128 -0
  2256. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +42 -18
  2257. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +24 -10
  2258. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +57 -54
  2259. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +12 -12
  2260. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +1 -1
  2261. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +3 -1
  2262. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -36
  2263. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +10 -8
  2264. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +2 -8
  2265. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +38 -7
  2266. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
  2267. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +9 -15
  2268. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +1 -1
  2269. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +653 -36
  2270. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
  2271. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +1 -1
  2272. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +1 -1
  2273. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
  2274. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +3 -11
  2275. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +871 -0
  2276. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +526 -40
  2277. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +734 -0
  2278. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +1576 -0
  2279. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +3130 -0
  2280. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +474 -0
  2281. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +59 -0
  2282. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +1040 -0
  2283. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +195 -0
  2284. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +59 -0
  2285. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +1402 -0
  2286. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +84 -0
  2287. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +32 -0
  2288. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +156 -0
  2289. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +667 -0
  2290. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +173 -0
  2291. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +160 -0
  2292. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +106 -0
  2293. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +576 -0
  2294. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +921 -0
  2295. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +1874 -0
  2296. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/primary_transform.hpp +120 -0
  2297. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +158 -0
  2298. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +106 -0
  2299. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +1124 -0
  2300. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +73 -0
  2301. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +98 -0
  2302. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +173 -0
  2303. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +92 -0
  2304. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +71 -0
  2305. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +213 -0
  2306. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +77 -0
  2307. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +103 -0
  2308. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +152 -0
  2309. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +255 -0
  2310. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +130 -0
  2311. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits_defaults.hpp +996 -0
  2312. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +159 -0
  2313. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +299 -0
  2314. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +382 -0
  2315. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +105 -0
  2316. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +177 -0
  2317. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +312 -0
  2318. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +862 -0
  2319. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +1311 -0
  2320. data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +4 -0
  2321. data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +4 -0
  2322. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +94 -444
  2323. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +5 -5
  2324. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +8 -4
  2325. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +7 -0
  2326. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +63 -0
  2327. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +11 -0
  2328. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_nt.hpp +7 -0
  2329. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +7 -0
  2330. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +7 -0
  2331. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_std_atomic.hpp +8 -1
  2332. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +13 -2
  2333. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +9 -9
  2334. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_sp_deleter.hpp +3 -3
  2335. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +23 -0
  2336. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +88 -48
  2337. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_convertible.hpp +1 -1
  2338. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +12 -16
  2339. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +15 -4
  2340. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +12 -4
  2341. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +17 -4
  2342. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +148 -0
  2343. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +15 -4
  2344. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +15 -4
  2345. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +15 -4
  2346. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +15 -4
  2347. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +15 -4
  2348. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +27 -17
  2349. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +18 -9
  2350. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +16 -5
  2351. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +12 -4
  2352. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +27 -18
  2353. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +12 -4
  2354. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +15 -4
  2355. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +48 -31
  2356. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +30 -0
  2357. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +69 -0
  2358. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_typeinfo_.hpp +58 -0
  2359. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +7 -9
  2360. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +7 -0
  2361. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp +94 -0
  2362. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +7 -0
  2363. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +7 -0
  2364. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_std_atomic.hpp +13 -5
  2365. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +8 -1
  2366. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +13 -141
  2367. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +1 -0
  2368. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +49 -12
  2369. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +1 -0
  2370. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +23 -22
  2371. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +2 -1
  2372. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +70 -0
  2373. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +3 -2
  2374. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +3 -2
  2375. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +6 -4
  2376. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +120 -40
  2377. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +80 -8
  2378. data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +5 -4
  2379. data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
  2380. data/src/cxx_supportlib/vendor-modified/boost/system/detail/append_int.hpp +32 -0
  2381. data/src/cxx_supportlib/vendor-modified/boost/system/detail/cerrno.hpp +329 -0
  2382. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +83 -0
  2383. data/src/cxx_supportlib/vendor-modified/boost/system/detail/enable_if.hpp +23 -0
  2384. data/src/cxx_supportlib/vendor-modified/boost/system/detail/errc.hpp +126 -0
  2385. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +183 -0
  2386. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +166 -0
  2387. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +659 -0
  2388. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +326 -0
  2389. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +123 -0
  2390. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +120 -0
  2391. data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +107 -0
  2392. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +23 -0
  2393. data/src/cxx_supportlib/vendor-modified/boost/system/detail/mutex.hpp +128 -0
  2394. data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +28 -0
  2395. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category.hpp +84 -0
  2396. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category_impl.hpp +97 -0
  2397. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category.hpp +110 -0
  2398. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +61 -0
  2399. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_message.hpp +71 -0
  2400. data/src/cxx_supportlib/vendor-modified/boost/system/detail/throws.hpp +59 -0
  2401. data/src/cxx_supportlib/vendor-modified/boost/system/errc.hpp +57 -0
  2402. data/src/cxx_supportlib/vendor-modified/boost/system/error_category.hpp +13 -0
  2403. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +12 -760
  2404. data/src/cxx_supportlib/vendor-modified/boost/system/error_condition.hpp +13 -0
  2405. data/src/cxx_supportlib/vendor-modified/boost/system/generic_category.hpp +13 -0
  2406. data/src/cxx_supportlib/vendor-modified/boost/system/is_error_code_enum.hpp +30 -0
  2407. data/src/cxx_supportlib/vendor-modified/boost/system/is_error_condition_enum.hpp +30 -0
  2408. data/src/cxx_supportlib/vendor-modified/boost/system/system_category.hpp +14 -0
  2409. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +30 -59
  2410. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_adaptor.hpp +1 -1
  2411. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_base.hpp +1 -1
  2412. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +9 -21
  2413. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +9 -21
  2414. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_adaptor.hpp +1 -1
  2415. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_base.hpp +1 -1
  2416. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_op_status.hpp +3 -1
  2417. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_bounded_queue.hpp +1 -1
  2418. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_deque.hpp +3 -3
  2419. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_priority_queue.hpp +4 -4
  2420. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_queue.hpp +3 -3
  2421. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_timed_queue.hpp +80 -14
  2422. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/deque.hpp +1 -24
  2423. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/functional.hpp +1 -14
  2424. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/list.hpp +1 -14
  2425. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_arg.hpp +2 -12
  2426. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_traits.hpp +0 -11
  2427. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/config.hpp +0 -2
  2428. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/default_delete.hpp +0 -16
  2429. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/pointer_traits.hpp +0 -11
  2430. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/scoped_allocator.hpp +0 -11
  2431. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/shared_ptr.hpp +0 -19
  2432. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/unique_ptr.hpp +4 -6
  2433. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +1 -24
  2434. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/tuple.hpp +1 -18
  2435. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/vector.hpp +1 -14
  2436. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +18 -3
  2437. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +27 -21
  2438. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
  2439. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
  2440. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/platform_time.hpp +8 -8
  2441. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_to_unsigned.hpp +55 -0
  2442. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_trim.hpp +29 -0
  2443. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +33 -12
  2444. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
  2445. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
  2446. data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
  2447. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +27 -1
  2448. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor.hpp +2 -0
  2449. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor_adaptor.hpp +2 -0
  2450. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/generic_executor_ref.hpp +2 -0
  2451. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/inline_executor.hpp +8 -0
  2452. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/loop_executor.hpp +4 -0
  2453. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduled_thread_pool.hpp +4 -0
  2454. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduler.hpp +2 -0
  2455. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduling_adaptor.hpp +3 -0
  2456. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor.hpp +4 -0
  2457. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor_cont.hpp +9 -2
  2458. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/thread_executor.hpp +6 -0
  2459. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/work.hpp +3 -1
  2460. data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/task_region.hpp +6 -2
  2461. data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +6 -5
  2462. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +12 -3
  2463. data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +4 -2
  2464. data/src/cxx_supportlib/vendor-modified/boost/thread/interruption.hpp +22 -0
  2465. data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
  2466. data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
  2467. data/src/cxx_supportlib/vendor-modified/boost/thread/poly_lockable.hpp +7 -2
  2468. data/src/cxx_supportlib/vendor-modified/boost/thread/poly_shared_lockable.hpp +16 -12
  2469. data/src/cxx_supportlib/vendor-modified/boost/thread/poly_shared_lockable_adapter.hpp +3 -4
  2470. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +20 -26
  2471. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +8 -15
  2472. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +17 -88
  2473. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once.hpp +29 -28
  2474. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once_atomic.hpp +1 -1
  2475. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_helpers.hpp +163 -18
  2476. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +5 -4
  2477. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +25 -25
  2478. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +1 -1
  2479. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +21 -13
  2480. data/src/cxx_supportlib/vendor-modified/boost/thread/scoped_thread.hpp +9 -0
  2481. data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +4 -4
  2482. data/src/cxx_supportlib/vendor-modified/boost/thread/thread_guard.hpp +5 -0
  2483. data/src/cxx_supportlib/vendor-modified/boost/thread/tss.hpp +23 -41
  2484. data/src/cxx_supportlib/vendor-modified/boost/thread/user_scheduler.hpp +3 -0
  2485. data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +1 -1
  2486. data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
  2487. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +232 -56
  2488. data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +3 -2
  2489. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +35 -30
  2490. data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +52 -1
  2491. data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_pointer.hpp +1 -1
  2492. data/src/cxx_supportlib/vendor-modified/boost/type_traits/aligned_storage.hpp +1 -1
  2493. data/src/cxx_supportlib/vendor-modified/boost/type_traits/alignment_of.hpp +3 -3
  2494. data/src/cxx_supportlib/vendor-modified/boost/type_traits/conjunction.hpp +40 -0
  2495. data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_cv_ref.hpp +31 -0
  2496. data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_reference.hpp +35 -0
  2497. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
  2498. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +36 -3
  2499. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
  2500. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_binary_operator.hpp +6 -6
  2501. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
  2502. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
  2503. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
  2504. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +676 -0
  2505. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
  2506. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_helper.hpp +27 -27
  2507. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_tester.hpp +415 -255
  2508. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +4 -3
  2509. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +27 -27
  2510. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +1345 -1542
  2511. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
  2512. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +697 -0
  2513. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
  2514. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_swappable_cxx_11.hpp +70 -0
  2515. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
  2516. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
  2517. data/src/cxx_supportlib/vendor-modified/boost/type_traits/disjunction.hpp +40 -0
  2518. data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
  2519. data/src/cxx_supportlib/vendor-modified/boost/type_traits/extent.hpp +2 -2
  2520. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
  2521. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +11 -6
  2522. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +11 -6
  2523. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_copy.hpp +1 -1
  2524. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +11 -6
  2525. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
  2526. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
  2527. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
  2528. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
  2529. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
  2530. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
  2531. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +6 -16
  2532. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_promotion.hpp +2 -2
  2533. data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +39 -15
  2534. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_array.hpp +2 -2
  2535. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_base_and_derived.hpp +2 -2
  2536. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_bounded_array.hpp +42 -0
  2537. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +6 -3
  2538. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_compound.hpp +1 -1
  2539. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_const.hpp +1 -1
  2540. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_constructible.hpp +1 -1
  2541. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_convertible.hpp +4 -4
  2542. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
  2543. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
  2544. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_default_constructible.hpp +1 -1
  2545. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_destructible.hpp +1 -1
  2546. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
  2547. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
  2548. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
  2549. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_empty.hpp +4 -4
  2550. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_enum.hpp +4 -4
  2551. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
  2552. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_floating_point.hpp +22 -0
  2553. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
  2554. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_fundamental.hpp +1 -1
  2555. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_integral.hpp +6 -3
  2556. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_lvalue_reference.hpp +1 -1
  2557. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
  2558. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_pointer.hpp +1 -1
  2559. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
  2560. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
  2561. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
  2562. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_swappable.hpp +4 -24
  2563. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_pointer.hpp +1 -1
  2564. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
  2565. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_same.hpp +1 -1
  2566. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_scoped_enum.hpp +26 -0
  2567. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_signed.hpp +2 -2
  2568. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_swappable.hpp +92 -0
  2569. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_trivially_copyable.hpp +31 -0
  2570. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unbounded_array.hpp +41 -0
  2571. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unscoped_enum.hpp +25 -0
  2572. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unsigned.hpp +2 -2
  2573. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +105 -64
  2574. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_volatile.hpp +1 -1
  2575. data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
  2576. data/src/cxx_supportlib/vendor-modified/boost/type_traits/negation.hpp +23 -0
  2577. data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
  2578. data/src/cxx_supportlib/vendor-modified/boost/type_traits/rank.hpp +4 -4
  2579. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_all_extents.hpp +1 -1
  2580. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_const.hpp +1 -1
  2581. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv.hpp +1 -1
  2582. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_extent.hpp +1 -1
  2583. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_volatile.hpp +1 -1
  2584. data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +3 -3
  2585. data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
  2586. data/src/cxx_supportlib/vendor-modified/boost/typeof/decltype.hpp +2 -3
  2587. data/src/cxx_supportlib/vendor-modified/boost/typeof/incr_registration_group.hpp +1 -10
  2588. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -10
  2589. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/bitset.hpp +2 -4
  2590. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/complex.hpp +2 -4
  2591. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/deque.hpp +2 -5
  2592. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/fstream.hpp +2 -15
  2593. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +4 -51
  2594. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iostream.hpp +2 -6
  2595. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/istream.hpp +2 -9
  2596. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iterator.hpp +2 -46
  2597. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/list.hpp +2 -5
  2598. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/locale.hpp +2 -29
  2599. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/map.hpp +2 -9
  2600. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +4 -9
  2601. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/ostream.hpp +2 -6
  2602. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/queue.hpp +2 -5
  2603. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/set.hpp +2 -9
  2604. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/sstream.hpp +2 -19
  2605. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/stack.hpp +2 -5
  2606. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/streambuf.hpp +2 -5
  2607. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +2 -12
  2608. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/utility.hpp +2 -4
  2609. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/valarray.hpp +2 -10
  2610. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/vector.hpp +2 -5
  2611. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +8 -202
  2612. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +872 -0
  2613. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +66 -0
  2614. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +728 -0
  2615. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +67 -0
  2616. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocator_constructed.hpp +59 -0
  2617. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/archive_constructed.hpp +71 -0
  2618. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/bad_archive_exception.hpp +27 -0
  2619. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/concurrent_static_asserts.hpp +105 -0
  2620. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +900 -0
  2621. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +1792 -0
  2622. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +2380 -0
  2623. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/cumulative_stats.hpp +177 -0
  2624. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/element_type.hpp +64 -0
  2625. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +86 -0
  2626. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_set_types.hpp +44 -0
  2627. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/ignore_wshadow.hpp +35 -0
  2628. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +204 -0
  2629. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +139 -0
  2630. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +92 -0
  2631. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/reentrancy_check.hpp +138 -0
  2632. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/restore_wshadow.hpp +11 -0
  2633. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/rw_spinlock.hpp +179 -0
  2634. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +661 -0
  2635. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/tuple_rotate_right.hpp +52 -0
  2636. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +1462 -3502
  2637. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +10 -14
  2638. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/mulx.hpp +129 -0
  2639. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/narrow_cast.hpp +44 -0
  2640. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/opt_storage.hpp +30 -0
  2641. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/prime_fmod.hpp +214 -0
  2642. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialization_version.hpp +74 -0
  2643. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_container.hpp +204 -0
  2644. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_fca_container.hpp +156 -0
  2645. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_tracked_address.hpp +104 -0
  2646. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/set.hpp +8 -13
  2647. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/static_assert.hpp +16 -0
  2648. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/throw_exception.hpp +30 -0
  2649. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +226 -0
  2650. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/xmx.hpp +75 -0
  2651. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +70 -0
  2652. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +812 -0
  2653. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +59 -0
  2654. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +622 -0
  2655. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +58 -0
  2656. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +768 -1002
  2657. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +35 -13
  2658. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +907 -0
  2659. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +59 -0
  2660. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +711 -0
  2661. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +58 -0
  2662. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +547 -672
  2663. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +35 -15
  2664. data/src/cxx_supportlib/vendor-modified/boost/utility/base_from_member.hpp +2 -1
  2665. data/src/cxx_supportlib/vendor-modified/boost/utility/binary.hpp +3 -2
  2666. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +4 -43
  2667. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_iterate.hpp +3 -3
  2668. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_variadic.hpp +190 -0
  2669. data/src/cxx_supportlib/vendor-modified/boost/utility/in_place_factory.hpp +6 -0
  2670. data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +33 -11
  2671. data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +11 -44
  2672. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +56 -52
  2673. data/src/cxx_supportlib/vendor-modified/boost/utility/swap.hpp +4 -1
  2674. data/src/cxx_supportlib/vendor-modified/boost/utility/typed_in_place_factory.hpp +6 -1
  2675. data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +41 -75
  2676. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  2677. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +2 -9
  2678. data/src/cxx_supportlib/vendor-modified/modp_b64_data.h +0 -4
  2679. data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +7 -3
  2680. data/src/cxx_supportlib/vendor-modified/websocketpp/changelog.md +444 -0
  2681. data/src/cxx_supportlib/vendor-modified/websocketpp/readme.md +49 -0
  2682. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/close.hpp +353 -0
  2683. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/asio.hpp +141 -0
  2684. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/functional.hpp +100 -0
  2685. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/md5.hpp +448 -0
  2686. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/memory.hpp +88 -0
  2687. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/thread.hpp +88 -0
  2688. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/core.hpp +297 -0
  2689. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/connection.hpp +1642 -0
  2690. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/endpoint.hpp +700 -0
  2691. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/permessage_deflate/disabled.hpp +129 -0
  2692. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/permessage_deflate/enabled.hpp +817 -0
  2693. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/frame.hpp +853 -0
  2694. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/parser.hpp +200 -0
  2695. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/parser.hpp +629 -0
  2696. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/connection_impl.hpp +2375 -0
  2697. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/endpoint_impl.hpp +269 -0
  2698. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/base.hpp +299 -0
  2699. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +1072 -0
  2700. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/roles/client_endpoint.hpp +173 -0
  2701. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/roles/server_endpoint.hpp +195 -0
  2702. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/sha1/sha1.hpp +189 -0
  2703. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/connection.hpp +1197 -0
  2704. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/endpoint.hpp +1182 -0
  2705. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/none.hpp +372 -0
  2706. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/tls.hpp +474 -0
  2707. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/base/endpoint.hpp +77 -0
  2708. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/connection.hpp +412 -0
  2709. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/endpoint.hpp +140 -0
  2710. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/connection.hpp +714 -0
  2711. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/endpoint.hpp +222 -0
  2712. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/connection.hpp +286 -0
  2713. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/uri.hpp +356 -0
  2714. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/utilities.hpp +180 -0
  2715. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/version.hpp +61 -0
  2716. data/src/helper-scripts/backtrace-sanitizer.rb +2 -2
  2717. data/src/helper-scripts/crash-watch.rb +1 -1
  2718. data/src/helper-scripts/download_binaries/extconf.rb +2 -2
  2719. data/src/helper-scripts/meteor-loader.rb +9 -4
  2720. data/src/helper-scripts/node-loader.js +3 -3
  2721. data/src/helper-scripts/prespawn +3 -2
  2722. data/src/helper-scripts/rack-loader.rb +2 -2
  2723. data/src/helper-scripts/rack-preloader.rb +2 -2
  2724. data/src/helper-scripts/wsgi-loader.py +36 -19
  2725. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +98 -2
  2726. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c.cxxcodebuilder +2 -2
  2727. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +59 -2
  2728. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c.cxxcodebuilder +2 -2
  2729. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +122 -2
  2730. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c.cxxcodebuilder +2 -2
  2731. data/src/nginx_module/ConfigGeneral/ManifestGeneration.c +2 -2
  2732. data/src/nginx_module/Configuration.c +40 -11
  2733. data/src/nginx_module/Configuration.h +1 -1
  2734. data/src/nginx_module/ContentHandler.c +306 -24
  2735. data/src/nginx_module/ContentHandler.h +6 -1
  2736. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +49 -2
  2737. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +2 -2
  2738. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +86 -2
  2739. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c.cxxcodebuilder +2 -2
  2740. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +111 -2
  2741. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +2 -2
  2742. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +23 -2
  2743. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c.cxxcodebuilder +2 -2
  2744. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +36 -2
  2745. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h.cxxcodebuilder +2 -2
  2746. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +18 -2
  2747. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +2 -2
  2748. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +36 -2
  2749. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +2 -2
  2750. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +14 -2
  2751. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h.cxxcodebuilder +2 -2
  2752. data/src/nginx_module/StaticContentHandler.c +1 -1
  2753. data/src/nginx_module/StaticContentHandler.h +1 -1
  2754. data/src/nginx_module/config +2 -0
  2755. data/src/nginx_module/ngx_http_passenger_module.c +7 -4
  2756. data/src/nginx_module/ngx_http_passenger_module.h +6 -1
  2757. data/src/nodejs_supportlib/phusion_passenger/line_reader.js +2 -2
  2758. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/common.js +50 -29
  2759. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config/cli-config.js +20 -20
  2760. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config/npm-config.js +11 -11
  2761. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config/syslog-config.js +3 -3
  2762. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config.js +8 -2
  2763. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/container.js +2 -1
  2764. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +174 -146
  2765. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/console.js +4 -2
  2766. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/file.js +15 -5
  2767. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/http.js +14 -4
  2768. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports.js +26 -24
  2769. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston.js +5 -5
  2770. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/async/package.json +4 -13
  2771. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/colors/package.json +19 -33
  2772. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/cycle/package.json +11 -29
  2773. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/eyes/package.json +12 -40
  2774. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/isstream/package.json +3 -12
  2775. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/stack-trace/lib/stack-trace.js +49 -24
  2776. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/stack-trace/package.json +4 -16
  2777. data/src/nodejs_supportlib/vendor-copy/winston/package.json +11 -55
  2778. data/src/ruby_native_extension/extconf.rb +9 -2
  2779. data/src/ruby_native_extension/passenger_native_support.c +3 -2
  2780. data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +2 -2
  2781. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +2 -2
  2782. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +15 -3
  2783. data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +3 -3
  2784. data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +3 -3
  2785. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +55 -2
  2786. data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +2 -2
  2787. data/src/ruby_supportlib/phusion_passenger/common_library.rb +19 -6
  2788. data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +2 -2
  2789. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +2 -2
  2790. data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +2 -2
  2791. data/src/ruby_supportlib/phusion_passenger/config/build_native_support_command.rb +2 -2
  2792. data/src/ruby_supportlib/phusion_passenger/config/command.rb +2 -2
  2793. data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +2 -2
  2794. data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +8 -4
  2795. data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +2 -2
  2796. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -3
  2797. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -3
  2798. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +2 -2
  2799. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +12 -2
  2800. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +2 -2
  2801. data/src/ruby_supportlib/phusion_passenger/config/list_instances_command.rb +2 -2
  2802. data/src/ruby_supportlib/phusion_passenger/config/main.rb +2 -2
  2803. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +16 -7
  2804. data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +2 -2
  2805. data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +18 -14
  2806. data/src/ruby_supportlib/phusion_passenger/config/system_metrics_command.rb +2 -2
  2807. data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +2 -2
  2808. data/src/ruby_supportlib/phusion_passenger/config/utils.rb +2 -2
  2809. data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +2 -2
  2810. data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +9 -4
  2811. data/src/ruby_supportlib/phusion_passenger/constants.rb +6 -4
  2812. data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +2 -2
  2813. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +39 -12
  2814. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +2 -2
  2815. data/src/ruby_supportlib/phusion_passenger/message_client.rb +2 -2
  2816. data/src/ruby_supportlib/phusion_passenger/native_support.rb +12 -7
  2817. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +84 -2
  2818. data/src/ruby_supportlib/phusion_passenger/packaging.rb +5 -3
  2819. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +12 -15
  2820. data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +2 -2
  2821. data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +25 -21
  2822. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +49 -8
  2823. data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +2 -2
  2824. data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +5 -2
  2825. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +10 -4
  2826. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/gems.rb +10 -0
  2827. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +10 -6
  2828. data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +4 -3
  2829. data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +2 -2
  2830. data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +7 -2
  2831. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +49 -30
  2832. data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +64 -0
  2833. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +4 -4
  2834. data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +2 -2
  2835. data/src/ruby_supportlib/phusion_passenger/platform_info.rb +2 -2
  2836. data/src/ruby_supportlib/phusion_passenger/plugin.rb +2 -2
  2837. data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +14 -8
  2838. data/src/ruby_supportlib/phusion_passenger/public_api.rb +5 -2
  2839. data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +73 -0
  2840. data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +2 -2
  2841. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +24 -3
  2842. data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +32 -58
  2843. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +25 -20
  2844. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +13 -9
  2845. data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +7 -2
  2846. data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +2 -2
  2847. data/src/ruby_supportlib/phusion_passenger/simple_benchmarking.rb +2 -2
  2848. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +3 -2
  2849. data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +2 -2
  2850. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +53 -3
  2851. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -2
  2852. data/src/ruby_supportlib/phusion_passenger/standalone/control_utils.rb +2 -2
  2853. data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +2 -2
  2854. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +13 -5
  2855. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +32 -21
  2856. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +3 -7
  2857. data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +3 -4
  2858. data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +9 -3
  2859. data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +2 -2
  2860. data/src/ruby_supportlib/phusion_passenger/utils/ansi_colors.rb +2 -2
  2861. data/src/ruby_supportlib/phusion_passenger/utils/download.rb +2 -2
  2862. data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +2 -2
  2863. data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +2 -2
  2864. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +7 -198
  2865. data/src/ruby_supportlib/phusion_passenger/utils/lock.rb +2 -2
  2866. data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +2 -2
  2867. data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +2 -2
  2868. data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +67 -0
  2869. data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +6 -0
  2870. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +2 -2
  2871. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +17 -13
  2872. data/src/ruby_supportlib/phusion_passenger/utils.rb +8 -17
  2873. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +2 -2
  2874. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/base.rb +1 -1
  2875. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +5 -1
  2876. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +6 -2
  2877. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +1 -1
  2878. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/version.rb +1 -1
  2879. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/lock_file.rb +1 -1
  2880. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/spawn.rb +1 -1
  2881. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/version.rb +1 -1
  2882. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +1 -1
  2883. data/src/ruby_supportlib/phusion_passenger.rb +12 -11
  2884. data/src/schema_printer/SchemaPrinterMain.cpp +2 -2
  2885. data/src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder +2 -2
  2886. metadata +935 -308
  2887. data/src/cxx_supportlib/ServerKit/http_parser.cpp +0 -2265
  2888. data/src/cxx_supportlib/ServerKit/http_parser.h +0 -330
  2889. data/src/cxx_supportlib/vendor-copy/websocketpp/changelog.md +0 -342
  2890. data/src/cxx_supportlib/vendor-copy/websocketpp/readme.md +0 -49
  2891. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/close.hpp +0 -342
  2892. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/asio.hpp +0 -131
  2893. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/functional.hpp +0 -105
  2894. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/md5.hpp +0 -448
  2895. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/memory.hpp +0 -89
  2896. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/thread.hpp +0 -84
  2897. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/core.hpp +0 -285
  2898. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/connection.hpp +0 -1651
  2899. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/endpoint.hpp +0 -700
  2900. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/extensions/permessage_deflate/disabled.hpp +0 -128
  2901. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/extensions/permessage_deflate/enabled.hpp +0 -752
  2902. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/frame.hpp +0 -861
  2903. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/impl/parser.hpp +0 -196
  2904. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/parser.hpp +0 -619
  2905. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/impl/connection_impl.hpp +0 -2372
  2906. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/impl/endpoint_impl.hpp +0 -269
  2907. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/base.hpp +0 -299
  2908. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/hybi13.hpp +0 -1056
  2909. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/roles/client_endpoint.hpp +0 -173
  2910. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/roles/server_endpoint.hpp +0 -190
  2911. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/sha1/sha1.hpp +0 -189
  2912. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/connection.hpp +0 -1204
  2913. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/endpoint.hpp +0 -1147
  2914. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/security/none.hpp +0 -370
  2915. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/security/tls.hpp +0 -484
  2916. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/base/endpoint.hpp +0 -77
  2917. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/debug/connection.hpp +0 -412
  2918. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/debug/endpoint.hpp +0 -140
  2919. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/iostream/connection.hpp +0 -714
  2920. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/iostream/endpoint.hpp +0 -222
  2921. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/stub/connection.hpp +0 -286
  2922. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/uri.hpp +0 -355
  2923. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/utilities.hpp +0 -182
  2924. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/version.hpp +0 -61
  2925. data/src/cxx_supportlib/vendor-modified/boost/array.hpp +0 -457
  2926. data/src/cxx_supportlib/vendor-modified/boost/asio/datagram_socket_service.hpp +0 -468
  2927. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer_service.hpp +0 -175
  2928. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +0 -93
  2929. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +0 -70
  2930. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +0 -67
  2931. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +0 -101
  2932. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +0 -57
  2933. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_serial_port_service.ipp +0 -154
  2934. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +0 -64
  2935. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +0 -216
  2936. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_serial_port_service.hpp +0 -238
  2937. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_fwd.hpp +0 -42
  2938. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +0 -64
  2939. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +0 -119
  2940. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detached.hpp +0 -67
  2941. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_spawn.hpp +0 -878
  2942. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/detached.hpp +0 -93
  2943. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/redirect_error.hpp +0 -296
  2944. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/redirect_error.hpp +0 -69
  2945. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental.hpp +0 -22
  2946. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +0 -83
  2947. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +0 -87
  2948. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_type.hpp +0 -52
  2949. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +0 -79
  2950. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +0 -80
  2951. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +0 -54
  2952. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +0 -79
  2953. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.cpp +0 -25
  2954. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_service.hpp +0 -202
  2955. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor_service.hpp +0 -281
  2956. data/src/cxx_supportlib/vendor-modified/boost/asio/raw_socket_service.hpp +0 -468
  2957. data/src/cxx_supportlib/vendor-modified/boost/asio/seq_packet_socket_service.hpp +0 -418
  2958. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_service.hpp +0 -251
  2959. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_service.hpp +0 -144
  2960. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_acceptor_service.hpp +0 -374
  2961. data/src/cxx_supportlib/vendor-modified/boost/asio/stream_socket_service.hpp +0 -414
  2962. data/src/cxx_supportlib/vendor-modified/boost/asio/waitable_timer_service.hpp +0 -212
  2963. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_handle.hpp +0 -275
  2964. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +0 -184
  2965. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +0 -378
  2966. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +0 -361
  2967. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +0 -383
  2968. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle_service.hpp +0 -185
  2969. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +0 -333
  2970. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +0 -118
  2971. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +0 -380
  2972. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle_service.hpp +0 -216
  2973. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +0 -364
  2974. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle_service.hpp +0 -212
  2975. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag.hpp +0 -71
  2976. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_template.hpp +0 -1248
  2977. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_alpha.hpp +0 -34
  2978. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_arm.hpp +0 -39
  2979. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_ppc.hpp +0 -37
  2980. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sparc.hpp +0 -34
  2981. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_x86.hpp +0 -40
  2982. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_msvc_arm.hpp +0 -34
  2983. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_msvc_x86.hpp +0 -55
  2984. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/hwcaps_gcc_arm.hpp +0 -67
  2985. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/hwcaps_gcc_ppc.hpp +0 -42
  2986. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/hwcaps_gcc_x86.hpp +0 -58
  2987. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_extend.hpp +0 -105
  2988. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lockpool.hpp +0 -51
  2989. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations.hpp +0 -24
  2990. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_fwd.hpp +0 -35
  2991. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_lockfree.hpp +0 -30
  2992. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_cas_based.hpp +0 -107
  2993. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_emulated.hpp +0 -162
  2994. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_extending_cas_based.hpp +0 -69
  2995. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_alpha.hpp +0 -876
  2996. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm.hpp +0 -1397
  2997. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_atomic.hpp +0 -392
  2998. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc.hpp +0 -1232
  2999. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sparc.hpp +0 -240
  3000. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sync.hpp +0 -240
  3001. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86.hpp +0 -563
  3002. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +0 -555
  3003. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_linux_arm.hpp +0 -180
  3004. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_arm.hpp +0 -824
  3005. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_x86.hpp +0 -908
  3006. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_type.hpp +0 -207
  3007. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_cc.hpp +0 -117
  3008. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf2_cc.hpp +0 -228
  3009. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +0 -441
  3010. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_template.hpp +0 -345
  3011. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_cc.hpp +0 -103
  3012. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_template.hpp +0 -1047
  3013. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_vw.hpp +0 -130
  3014. data/src/cxx_supportlib/vendor-modified/boost/bind/storage.hpp +0 -475
  3015. data/src/cxx_supportlib/vendor-modified/boost/bind.hpp +0 -41
  3016. data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
  3017. data/src/cxx_supportlib/vendor-modified/boost/checked_delete.hpp +0 -17
  3018. data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +0 -68
  3019. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/float_functions.hpp +0 -336
  3020. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_float.hpp +0 -271
  3021. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/limits.hpp +0 -62
  3022. data/src/cxx_supportlib/vendor-modified/boost/container_hash/extensions.hpp +0 -414
  3023. data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
  3024. data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
  3025. data/src/cxx_supportlib/vendor-modified/boost/detail/container_fwd.hpp +0 -157
  3026. data/src/cxx_supportlib/vendor-modified/boost/detail/endian.hpp +0 -11
  3027. data/src/cxx_supportlib/vendor-modified/boost/detail/iterator.hpp +0 -39
  3028. data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
  3029. data/src/cxx_supportlib/vendor-modified/boost/detail/sp_typeinfo.hpp +0 -36
  3030. data/src/cxx_supportlib/vendor-modified/boost/function/detail/function_iterate.hpp +0 -16
  3031. data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +0 -39
  3032. data/src/cxx_supportlib/vendor-modified/boost/function/detail/maybe_include.hpp +0 -369
  3033. data/src/cxx_supportlib/vendor-modified/boost/function/detail/prologue.hpp +0 -26
  3034. data/src/cxx_supportlib/vendor-modified/boost/function/gen_function_N.pl +0 -26
  3035. data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +0 -6
  3036. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/c_regex_traits.cpp +0 -206
  3037. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cpp_regex_traits.cpp +0 -117
  3038. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +0 -660
  3039. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/instances.cpp +0 -32
  3040. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_raw_buffer.cpp +0 -72
  3041. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_traits_defaults.cpp +0 -692
  3042. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wc_regex_traits.cpp +0 -314
  3043. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/winstances.cpp +0 -35
  3044. data/src/cxx_supportlib/vendor-modified/boost/math/policies/policy.hpp +0 -1040
  3045. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +0 -581
  3046. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/round_fwd.hpp +0 -93
  3047. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/fpclassify.hpp +0 -640
  3048. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +0 -1651
  3049. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/sign.hpp +0 -194
  3050. data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +0 -469
  3051. data/src/cxx_supportlib/vendor-modified/boost/math/tools/promotion.hpp +0 -182
  3052. data/src/cxx_supportlib/vendor-modified/boost/math/tools/real_cast.hpp +0 -31
  3053. data/src/cxx_supportlib/vendor-modified/boost/math/tools/user.hpp +0 -105
  3054. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/overloads.hpp +0 -88
  3055. data/src/cxx_supportlib/vendor-modified/boost/pointer_to_other.hpp +0 -55
  3056. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +0 -26
  3057. data/src/cxx_supportlib/vendor-modified/boost/predef/os/android.h +0 -45
  3058. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/abs.hpp +0 -89
  3059. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/gcd.hpp +0 -124
  3060. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/lcm.hpp +0 -126
  3061. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/sign.hpp +0 -89
  3062. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/overflow_helpers.hpp +0 -367
  3063. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/ratio_io.hpp +0 -1342
  3064. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/abs.hpp +0 -30
  3065. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/arithmetic.hpp +0 -22
  3066. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/comparison.hpp +0 -19
  3067. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/divides.hpp +0 -30
  3068. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/equal_to.hpp +0 -30
  3069. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/gcd.hpp +0 -30
  3070. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater.hpp +0 -30
  3071. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater_equal.hpp +0 -30
  3072. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/lcm.hpp +0 -30
  3073. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less.hpp +0 -30
  3074. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less_equal.hpp +0 -30
  3075. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/minus.hpp +0 -30
  3076. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/negate.hpp +0 -30
  3077. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/not_equal_to.hpp +0 -30
  3078. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/numeric_cast.hpp +0 -31
  3079. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/plus.hpp +0 -30
  3080. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_c_tag.hpp +0 -25
  3081. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_constant.hpp +0 -15
  3082. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/sign.hpp +0 -30
  3083. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/times.hpp +0 -30
  3084. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -455
  3085. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +0 -225
  3086. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_solaris.hpp +0 -59
  3087. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +0 -150
  3088. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +0 -160
  3089. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +0 -115
  3090. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync.hpp +0 -69
  3091. data/src/cxx_supportlib/vendor-modified/boost/swap.hpp +0 -17
  3092. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
  3093. data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +0 -276
  3094. data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +0 -297
  3095. data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +0 -265
  3096. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +0 -100
  3097. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -61
  3098. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +0 -34
  3099. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +0 -118
  3100. data/src/cxx_supportlib/vendor-modified/boost/typeof/integral_template_param.hpp +0 -80
  3101. data/src/cxx_supportlib/vendor-modified/boost/typeof/message.hpp +0 -8
  3102. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +0 -121
  3103. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +0 -60
  3104. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +0 -38
  3105. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions.hpp +0 -50
  3106. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +0 -135
  3107. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +0 -61
  3108. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +0 -32
  3109. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +0 -160
  3110. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +0 -149
  3111. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +0 -27
  3112. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_template_param.hpp +0 -37
  3113. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +0 -186
  3114. data/src/cxx_supportlib/vendor-modified/boost/typeof/unsupported.hpp +0 -29
  3115. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +0 -166
  3116. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +0 -321
  3117. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +0 -471
  3118. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +0 -621
  3119. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +0 -171
  3120. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +0 -63
  3121. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/daily-rotate-file.js +0 -601
  3122. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/webhook.js +0 -146
  3123. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/pkginfo/LICENSE +0 -19
  3124. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/pkginfo/lib/pkginfo.js +0 -136
  3125. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/pkginfo/package.json +0 -56
  3126. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/COPYING +0 -0
  3127. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/base64/base64.hpp +0 -0
  3128. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/client.hpp +0 -0
  3129. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/asio_ssl.hpp +0 -0
  3130. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/chrono.hpp +0 -0
  3131. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/connection_hdl.hpp +0 -0
  3132. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/cpp11.hpp +0 -0
  3133. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/network.hpp +0 -0
  3134. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/platforms.hpp +0 -0
  3135. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/random.hpp +0 -0
  3136. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/regex.hpp +0 -0
  3137. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/stdint.hpp +0 -0
  3138. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/system_error.hpp +0 -0
  3139. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/time.hpp +0 -0
  3140. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/type_traits.hpp +0 -0
  3141. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/concurrency/basic.hpp +0 -0
  3142. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/concurrency/none.hpp +0 -0
  3143. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/asio.hpp +0 -0
  3144. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/asio_client.hpp +0 -0
  3145. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/asio_no_tls.hpp +0 -0
  3146. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/asio_no_tls_client.hpp +0 -0
  3147. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/boost_config.hpp +0 -0
  3148. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/core_client.hpp +0 -0
  3149. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/debug.hpp +0 -0
  3150. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/debug_asio.hpp +0 -0
  3151. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/debug_asio_no_tls.hpp +0 -0
  3152. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/minimal_client.hpp +0 -0
  3153. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/minimal_server.hpp +0 -0
  3154. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/connection_base.hpp +0 -0
  3155. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/endpoint_base.hpp +0 -0
  3156. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/error.hpp +0 -0
  3157. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/extensions/extension.hpp +0 -0
  3158. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/http/constants.hpp +0 -0
  3159. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/http/impl/request.hpp +0 -0
  3160. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/http/impl/response.hpp +0 -0
  3161. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/http/request.hpp +0 -0
  3162. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/http/response.hpp +0 -0
  3163. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/impl/utilities_impl.hpp +0 -0
  3164. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/logger/basic.hpp +0 -0
  3165. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/logger/levels.hpp +0 -0
  3166. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/logger/stub.hpp +0 -0
  3167. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/logger/syslog.hpp +0 -0
  3168. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/message_buffer/alloc.hpp +0 -0
  3169. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/message_buffer/message.hpp +0 -0
  3170. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/message_buffer/pool.hpp +0 -0
  3171. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/processors/hybi00.hpp +0 -0
  3172. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/processors/hybi07.hpp +0 -0
  3173. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/processors/hybi08.hpp +0 -0
  3174. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/processors/processor.hpp +0 -0
  3175. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/random/none.hpp +0 -0
  3176. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/random/random_device.hpp +0 -0
  3177. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/server.hpp +0 -0
  3178. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/asio/base.hpp +0 -0
  3179. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/asio/security/base.hpp +0 -0
  3180. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/base/connection.hpp +0 -0
  3181. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/debug/base.hpp +0 -0
  3182. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/iostream/base.hpp +0 -0
  3183. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/stub/base.hpp +0 -0
  3184. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/stub/endpoint.hpp +0 -0
  3185. /data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/utf8_validator.hpp +0 -0
@@ -54,11 +54,12 @@
54
54
  #include <boost/move/utility_core.hpp>
55
55
  #include <boost/move/iterator.hpp>
56
56
  #include <boost/move/adl_move_swap.hpp>
57
+ #include <boost/move/detail/launder.hpp>
57
58
  // move/detail
58
59
  #include <boost/move/detail/move_helpers.hpp>
60
+ #include <boost/move/detail/iterator_to_raw_pointer.hpp>
59
61
  // other
60
62
  #include <boost/assert.hpp>
61
- #include <boost/core/no_exceptions_support.hpp>
62
63
  // std
63
64
  #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
64
65
  #include <initializer_list>
@@ -80,14 +81,14 @@ template <class C>
80
81
  class clear_on_destroy
81
82
  {
82
83
  public:
83
- clear_on_destroy(C &c)
84
+ inline clear_on_destroy(C &c)
84
85
  : c_(c), do_clear_(true)
85
86
  {}
86
87
 
87
- void release()
88
+ inline void release()
88
89
  { do_clear_ = false; }
89
90
 
90
- ~clear_on_destroy()
91
+ inline ~clear_on_destroy()
91
92
  {
92
93
  if(do_clear_){
93
94
  c_.clear();
@@ -114,22 +115,25 @@ struct node_base
114
115
  typedef typename void_ptr_traits::
115
116
  template rebind_pointer
116
117
  <node_base>::type node_base_ptr;
118
+
119
+ public:
117
120
  typedef typename void_ptr_traits::
118
121
  template rebind_pointer
119
122
  <node_base_ptr>::type node_base_ptr_ptr;
120
123
 
121
124
  public:
122
- node_base(const node_base_ptr_ptr &n)
125
+ inline explicit node_base(const node_base_ptr_ptr &n)
123
126
  : up(n)
124
127
  {}
125
128
 
126
- node_base()
129
+ inline node_base()
127
130
  : up()
128
131
  {}
129
132
 
130
133
  node_base_ptr_ptr up;
131
134
  };
132
135
 
136
+
133
137
  template<typename Pointer>
134
138
  struct node
135
139
  : public node_base
@@ -137,11 +141,52 @@ struct node
137
141
  rebind_pointer<void>::type
138
142
  >
139
143
  {
140
- private:
141
- node();
142
-
143
144
  public:
144
- typename ::boost::intrusive::pointer_traits<Pointer>::element_type value;
145
+ typedef typename ::boost::intrusive::pointer_traits<Pointer>::element_type T;
146
+ typedef node_base
147
+ <typename ::boost::intrusive::pointer_traits<Pointer>::template
148
+ rebind_pointer<void>::type
149
+ > hook_type;
150
+
151
+ typedef typename boost::container::dtl::aligned_storage
152
+ <sizeof(T), boost::container::dtl::alignment_of<T>::value>::type storage_t;
153
+ storage_t m_storage;
154
+
155
+ inline explicit node(const typename hook_type::node_base_ptr_ptr &n)
156
+ : hook_type(n)
157
+ {}
158
+
159
+ inline node()
160
+ {}
161
+
162
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 40600) && (BOOST_GCC < 80000)
163
+ #pragma GCC diagnostic push
164
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
165
+ #define BOOST_CONTAINER_DISABLE_ALIASING_WARNING
166
+ # endif
167
+
168
+ inline T &get_data()
169
+ { return *boost::move_detail::launder_cast<T*>(&this->m_storage); }
170
+
171
+ inline const T &get_data() const
172
+ { return *boost::move_detail::launder_cast<const T*>(&this->m_storage); }
173
+
174
+ inline T *get_data_ptr()
175
+ { return boost::move_detail::launder_cast<T*>(&this->m_storage); }
176
+
177
+ inline const T *get_data_ptr() const
178
+ { return boost::move_detail::launder_cast<const T*>(&this->m_storage); }
179
+
180
+ inline ~node()
181
+ { boost::move_detail::launder_cast<T*>(&this->m_storage)->~T(); }
182
+
183
+ #if defined(BOOST_CONTAINER_DISABLE_ALIASING_WARNING)
184
+ #pragma GCC diagnostic pop
185
+ #undef BOOST_CONTAINER_DISABLE_ALIASING_WARNING
186
+ # endif
187
+
188
+ inline void destroy_header()
189
+ { static_cast<hook_type*>(this)->~hook_type(); }
145
190
  };
146
191
 
147
192
  template<class VoidPtr, class VoidAllocator>
@@ -169,14 +214,14 @@ struct index_traits
169
214
  typedef typename index_type::const_iterator const_index_iterator;
170
215
  typedef typename index_type::size_type size_type;
171
216
 
172
- static const size_type ExtraPointers = 3;
217
+ BOOST_STATIC_CONSTEXPR size_type ExtraPointers = 3;
173
218
  //Stable vector stores metadata at the end of the index (node_base_ptr vector) with additional 3 pointers:
174
219
  // back() is this->index.back() - ExtraPointers;
175
220
  // end node index is *(this->index.end() - 3)
176
221
  // Node cache first is *(this->index.end() - 2);
177
222
  // Node cache last is this->index.back();
178
223
 
179
- static node_base_ptr_ptr ptr_to_node_base_ptr(node_base_ptr &n)
224
+ inline static node_base_ptr_ptr ptr_to_node_base_ptr(node_base_ptr &n)
180
225
  { return node_base_ptr_ptr_traits::pointer_to(n); }
181
226
 
182
227
  static void fix_up_pointers(index_iterator first, index_iterator last)
@@ -189,10 +234,10 @@ struct index_traits
189
234
  }
190
235
  }
191
236
 
192
- static index_iterator get_fix_up_end(index_type &index)
237
+ inline static index_iterator get_fix_up_end(index_type &index)
193
238
  { return index.end() - (ExtraPointers - 1); }
194
239
 
195
- static void fix_up_pointers_from(index_type & index, index_iterator first)
240
+ inline static void fix_up_pointers_from(index_type & index, index_iterator first)
196
241
  { index_traits::fix_up_pointers(first, index_traits::get_fix_up_end(index)); }
197
242
 
198
243
  static void readjust_end_node(index_type &index, node_base_type &end_node)
@@ -245,6 +290,7 @@ class stable_vector_iterator
245
290
  typedef std::random_access_iterator_tag iterator_category;
246
291
  typedef typename non_const_ptr_traits::element_type value_type;
247
292
  typedef typename non_const_ptr_traits::difference_type difference_type;
293
+ typedef typename non_const_ptr_traits::size_type size_type;
248
294
  typedef typename ::boost::container::dtl::if_c
249
295
  < IsConst
250
296
  , typename non_const_ptr_traits::template
@@ -254,7 +300,6 @@ class stable_vector_iterator
254
300
  typedef boost::intrusive::pointer_traits<pointer> ptr_traits;
255
301
  typedef typename ptr_traits::reference reference;
256
302
 
257
- private:
258
303
  typedef typename non_const_ptr_traits::template
259
304
  rebind_pointer<void>::type void_ptr;
260
305
  typedef stable_vector_detail::node<Pointer> node_type;
@@ -268,119 +313,152 @@ class stable_vector_iterator
268
313
  typedef typename non_const_ptr_traits::template
269
314
  rebind_pointer<node_base_ptr>::type node_base_ptr_ptr;
270
315
 
316
+ class nat
317
+ {
318
+ public:
319
+ node_base_ptr node_pointer() const
320
+ { return node_base_ptr(); }
321
+ };
322
+ typedef typename dtl::if_c< IsConst
323
+ , stable_vector_iterator<Pointer, false>
324
+ , nat>::type nonconst_iterator;
325
+
271
326
  node_base_ptr m_pn;
272
327
 
273
328
  public:
274
329
 
275
- explicit stable_vector_iterator(node_base_ptr p) BOOST_NOEXCEPT_OR_NOTHROW
330
+ inline explicit stable_vector_iterator(node_base_ptr p) BOOST_NOEXCEPT_OR_NOTHROW
276
331
  : m_pn(p)
277
332
  {}
278
333
 
279
- stable_vector_iterator() BOOST_NOEXCEPT_OR_NOTHROW
334
+ inline stable_vector_iterator() BOOST_NOEXCEPT_OR_NOTHROW
280
335
  : m_pn() //Value initialization to achieve "null iterators" (N3644)
281
336
  {}
282
337
 
283
- stable_vector_iterator(stable_vector_iterator<Pointer, false> const& other) BOOST_NOEXCEPT_OR_NOTHROW
338
+ inline stable_vector_iterator(const stable_vector_iterator& other) BOOST_NOEXCEPT_OR_NOTHROW
339
+ : m_pn(other.node_pointer())
340
+ {}
341
+
342
+ inline stable_vector_iterator(const nonconst_iterator& other) BOOST_NOEXCEPT_OR_NOTHROW
284
343
  : m_pn(other.node_pointer())
285
344
  {}
286
345
 
287
- node_ptr node_pointer() const BOOST_NOEXCEPT_OR_NOTHROW
346
+ inline stable_vector_iterator & operator=(const stable_vector_iterator& other) BOOST_NOEXCEPT_OR_NOTHROW
347
+ { m_pn = other.node_pointer(); return *this; }
348
+
349
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
350
+ node_ptr node_pointer() const BOOST_NOEXCEPT_OR_NOTHROW
288
351
  { return node_ptr_traits::static_cast_from(m_pn); }
289
352
 
290
353
  public:
291
354
  //Pointer like operators
292
- reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
293
- { return node_pointer()->value; }
355
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
356
+ reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
357
+ { return node_pointer()->get_data(); }
294
358
 
295
- pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
359
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
360
+ pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
296
361
  { return ptr_traits::pointer_to(this->operator*()); }
297
362
 
298
363
  //Increment / Decrement
299
- stable_vector_iterator& operator++() BOOST_NOEXCEPT_OR_NOTHROW
364
+ inline stable_vector_iterator& operator++() BOOST_NOEXCEPT_OR_NOTHROW
300
365
  {
301
366
  node_base_ptr_ptr p(this->m_pn->up);
302
367
  this->m_pn = *(++p);
303
368
  return *this;
304
369
  }
305
370
 
306
- stable_vector_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW
371
+ inline stable_vector_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW
307
372
  { stable_vector_iterator tmp(*this); ++*this; return stable_vector_iterator(tmp); }
308
373
 
309
- stable_vector_iterator& operator--() BOOST_NOEXCEPT_OR_NOTHROW
374
+ inline stable_vector_iterator& operator--() BOOST_NOEXCEPT_OR_NOTHROW
310
375
  {
311
376
  node_base_ptr_ptr p(this->m_pn->up);
312
377
  this->m_pn = *(--p);
313
378
  return *this;
314
379
  }
315
380
 
316
- stable_vector_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
381
+ inline stable_vector_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
317
382
  { stable_vector_iterator tmp(*this); --*this; return stable_vector_iterator(tmp); }
318
383
 
319
- reference operator[](difference_type off) const BOOST_NOEXCEPT_OR_NOTHROW
320
- { return node_ptr_traits::static_cast_from(this->m_pn->up[off])->value; }
384
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
385
+ reference operator[](difference_type off) const BOOST_NOEXCEPT_OR_NOTHROW
386
+ { return node_ptr_traits::static_cast_from(this->m_pn->up[off])->get_data(); }
321
387
 
322
- stable_vector_iterator& operator+=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
388
+ //Arithmetic
389
+ inline stable_vector_iterator& operator+=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
323
390
  {
324
391
  if(off) this->m_pn = this->m_pn->up[off];
325
392
  return *this;
326
393
  }
327
394
 
328
- friend stable_vector_iterator operator+(const stable_vector_iterator &left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
395
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
396
+ friend stable_vector_iterator operator+(const stable_vector_iterator &left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
329
397
  {
330
398
  stable_vector_iterator tmp(left);
331
399
  tmp += off;
332
400
  return tmp;
333
401
  }
334
402
 
335
- friend stable_vector_iterator operator+(difference_type off, const stable_vector_iterator& right) BOOST_NOEXCEPT_OR_NOTHROW
403
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
404
+ friend stable_vector_iterator operator+(difference_type off, const stable_vector_iterator& right) BOOST_NOEXCEPT_OR_NOTHROW
336
405
  {
337
406
  stable_vector_iterator tmp(right);
338
407
  tmp += off;
339
408
  return tmp;
340
409
  }
341
410
 
342
- stable_vector_iterator& operator-=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
411
+ inline stable_vector_iterator& operator-=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
343
412
  { *this += -off; return *this; }
344
413
 
345
- friend stable_vector_iterator operator-(const stable_vector_iterator &left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
414
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
415
+ friend stable_vector_iterator operator-(const stable_vector_iterator &left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
346
416
  {
347
417
  stable_vector_iterator tmp(left);
348
418
  tmp -= off;
349
419
  return tmp;
350
420
  }
351
421
 
352
- friend difference_type operator-(const stable_vector_iterator &left, const stable_vector_iterator &right) BOOST_NOEXCEPT_OR_NOTHROW
422
+ //Difference
423
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
424
+ friend difference_type operator-(const stable_vector_iterator &left, const stable_vector_iterator &right) BOOST_NOEXCEPT_OR_NOTHROW
353
425
  { return left.m_pn->up - right.m_pn->up; }
354
426
 
355
427
  //Comparison operators
356
- friend bool operator== (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
428
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
429
+ friend bool operator== (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
357
430
  { return l.m_pn == r.m_pn; }
358
431
 
359
- friend bool operator!= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
432
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
433
+ friend bool operator!= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
360
434
  { return l.m_pn != r.m_pn; }
361
435
 
362
- friend bool operator< (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
436
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
437
+ friend bool operator< (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
363
438
  { return l.m_pn->up < r.m_pn->up; }
364
439
 
365
- friend bool operator<= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
440
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
441
+ friend bool operator<= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
366
442
  { return l.m_pn->up <= r.m_pn->up; }
367
443
 
368
- friend bool operator> (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
444
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
445
+ friend bool operator> (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
369
446
  { return l.m_pn->up > r.m_pn->up; }
370
447
 
371
- friend bool operator>= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
448
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
449
+ friend bool operator>= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
372
450
  { return l.m_pn->up >= r.m_pn->up; }
373
451
  };
374
452
 
375
453
  #if defined(STABLE_VECTOR_ENABLE_INVARIANT_CHECKING)
376
454
 
377
- #define STABLE_VECTOR_CHECK_INVARIANT \
455
+ #define BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT \
378
456
  invariant_checker BOOST_JOIN(check_invariant_,__LINE__)(*this); \
379
457
  BOOST_JOIN(check_invariant_,__LINE__).touch();
380
458
 
381
459
  #else //STABLE_VECTOR_ENABLE_INVARIANT_CHECKING
382
460
 
383
- #define STABLE_VECTOR_CHECK_INVARIANT
461
+ #define BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT
384
462
 
385
463
  #endif //#if defined(STABLE_VECTOR_ENABLE_INVARIANT_CHECKING)
386
464
 
@@ -421,14 +499,15 @@ class stable_vector_iterator
421
499
  //! \tparam T The type of object that is stored in the stable_vector
422
500
  //! \tparam Allocator The allocator used for all internal memory management
423
501
  #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
424
- template <class T, class Allocator = new_allocator<T> >
502
+ template <class T, class Allocator = void >
425
503
  #else
426
504
  template <class T, class Allocator>
427
505
  #endif
428
506
  class stable_vector
429
507
  {
430
508
  #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
431
- typedef allocator_traits<Allocator> allocator_traits_type;
509
+ typedef typename real_allocator<T, Allocator>::type ValueAllocator;
510
+ typedef allocator_traits<ValueAllocator> allocator_traits_type;
432
511
  typedef boost::intrusive::
433
512
  pointer_traits
434
513
  <typename allocator_traits_type::pointer> ptr_traits;
@@ -466,7 +545,7 @@ class stable_vector
466
545
 
467
546
  typedef ::boost::container::dtl::integral_constant
468
547
  <unsigned, boost::container::dtl::
469
- version<Allocator>::value> alloc_version;
548
+ version<ValueAllocator>::value> alloc_version;
470
549
  typedef typename allocator_traits_type::
471
550
  template portable_rebind_alloc
472
551
  <node_type>::type node_allocator_type;
@@ -475,24 +554,24 @@ class stable_vector
475
554
  allocator_version_traits<node_allocator_type> allocator_version_traits_t;
476
555
  typedef typename allocator_version_traits_t::multiallocation_chain multiallocation_chain;
477
556
 
478
- node_ptr allocate_one()
557
+ inline node_ptr allocate_one()
479
558
  { return allocator_version_traits_t::allocate_one(this->priv_node_alloc()); }
480
559
 
481
- void deallocate_one(const node_ptr &p)
560
+ inline void deallocate_one(const node_ptr &p)
482
561
  { allocator_version_traits_t::deallocate_one(this->priv_node_alloc(), p); }
483
562
 
484
- void allocate_individual(typename allocator_traits_type::size_type n, multiallocation_chain &m)
563
+ inline void allocate_individual(typename allocator_traits_type::size_type n, multiallocation_chain &m)
485
564
  { allocator_version_traits_t::allocate_individual(this->priv_node_alloc(), n, m); }
486
565
 
487
- void deallocate_individual(multiallocation_chain &holder)
566
+ inline void deallocate_individual(multiallocation_chain &holder)
488
567
  { allocator_version_traits_t::deallocate_individual(this->priv_node_alloc(), holder); }
489
568
 
490
569
  friend class stable_vector_detail::clear_on_destroy<stable_vector>;
491
570
  typedef stable_vector_iterator
492
- < typename allocator_traits<Allocator>::pointer
571
+ < typename allocator_traits<ValueAllocator>::pointer
493
572
  , false> iterator_impl;
494
573
  typedef stable_vector_iterator
495
- < typename allocator_traits<Allocator>::pointer
574
+ < typename allocator_traits<ValueAllocator>::pointer
496
575
  , true> const_iterator_impl;
497
576
  #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
498
577
  public:
@@ -503,13 +582,13 @@ class stable_vector
503
582
  //
504
583
  //////////////////////////////////////////////
505
584
  typedef T value_type;
506
- typedef typename ::boost::container::allocator_traits<Allocator>::pointer pointer;
507
- typedef typename ::boost::container::allocator_traits<Allocator>::const_pointer const_pointer;
508
- typedef typename ::boost::container::allocator_traits<Allocator>::reference reference;
509
- typedef typename ::boost::container::allocator_traits<Allocator>::const_reference const_reference;
510
- typedef typename ::boost::container::allocator_traits<Allocator>::size_type size_type;
511
- typedef typename ::boost::container::allocator_traits<Allocator>::difference_type difference_type;
512
- typedef Allocator allocator_type;
585
+ typedef typename ::boost::container::allocator_traits<ValueAllocator>::pointer pointer;
586
+ typedef typename ::boost::container::allocator_traits<ValueAllocator>::const_pointer const_pointer;
587
+ typedef typename ::boost::container::allocator_traits<ValueAllocator>::reference reference;
588
+ typedef typename ::boost::container::allocator_traits<ValueAllocator>::const_reference const_reference;
589
+ typedef typename ::boost::container::allocator_traits<ValueAllocator>::size_type size_type;
590
+ typedef typename ::boost::container::allocator_traits<ValueAllocator>::difference_type difference_type;
591
+ typedef ValueAllocator allocator_type;
513
592
  typedef node_allocator_type stored_allocator_type;
514
593
  typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator;
515
594
  typedef BOOST_CONTAINER_IMPDEF(const_iterator_impl) const_iterator;
@@ -519,7 +598,7 @@ class stable_vector
519
598
  #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
520
599
  private:
521
600
  BOOST_COPYABLE_AND_MOVABLE(stable_vector)
522
- static const size_type ExtraPointers = index_traits_type::ExtraPointers;
601
+ BOOST_STATIC_CONSTEXPR size_type ExtraPointers = index_traits_type::ExtraPointers;
523
602
 
524
603
  class insert_rollback;
525
604
  friend class insert_rollback;
@@ -540,10 +619,10 @@ class stable_vector
540
619
  //! <b>Throws</b>: If allocator_type's default constructor throws.
541
620
  //!
542
621
  //! <b>Complexity</b>: Constant.
543
- stable_vector() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<Allocator>::value)
622
+ inline stable_vector() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<ValueAllocator>::value)
544
623
  : internal_data(), index()
545
624
  {
546
- STABLE_VECTOR_CHECK_INVARIANT;
625
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
547
626
  }
548
627
 
549
628
  //! <b>Effects</b>: Constructs a stable_vector taking the allocator as parameter.
@@ -551,10 +630,10 @@ class stable_vector
551
630
  //! <b>Throws</b>: Nothing
552
631
  //!
553
632
  //! <b>Complexity</b>: Constant.
554
- explicit stable_vector(const allocator_type& al) BOOST_NOEXCEPT_OR_NOTHROW
633
+ inline explicit stable_vector(const allocator_type& al) BOOST_NOEXCEPT_OR_NOTHROW
555
634
  : internal_data(al), index(al)
556
635
  {
557
- STABLE_VECTOR_CHECK_INVARIANT;
636
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
558
637
  }
559
638
 
560
639
  //! <b>Effects</b>: Constructs a stable_vector
@@ -569,7 +648,7 @@ class stable_vector
569
648
  {
570
649
  stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
571
650
  this->resize(n);
572
- STABLE_VECTOR_CHECK_INVARIANT;
651
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
573
652
  cod.release();
574
653
  }
575
654
 
@@ -587,7 +666,7 @@ class stable_vector
587
666
  {
588
667
  stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
589
668
  this->resize(n, default_init);
590
- STABLE_VECTOR_CHECK_INVARIANT;
669
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
591
670
  cod.release();
592
671
  }
593
672
 
@@ -603,7 +682,7 @@ class stable_vector
603
682
  {
604
683
  stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
605
684
  this->resize(n);
606
- STABLE_VECTOR_CHECK_INVARIANT;
685
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
607
686
  cod.release();
608
687
  }
609
688
 
@@ -621,7 +700,7 @@ class stable_vector
621
700
  {
622
701
  stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
623
702
  this->resize(n, default_init);
624
- STABLE_VECTOR_CHECK_INVARIANT;
703
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
625
704
  cod.release();
626
705
  }
627
706
 
@@ -637,7 +716,7 @@ class stable_vector
637
716
  {
638
717
  stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
639
718
  this->insert(this->cend(), n, t);
640
- STABLE_VECTOR_CHECK_INVARIANT;
719
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
641
720
  cod.release();
642
721
  }
643
722
 
@@ -654,7 +733,7 @@ class stable_vector
654
733
  {
655
734
  stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
656
735
  this->insert(this->cend(), first, last);
657
- STABLE_VECTOR_CHECK_INVARIANT;
736
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
658
737
  cod.release();
659
738
  }
660
739
 
@@ -671,7 +750,7 @@ class stable_vector
671
750
  {
672
751
  stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
673
752
  this->insert(this->cend(), x.begin(), x.end());
674
- STABLE_VECTOR_CHECK_INVARIANT;
753
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
675
754
  cod.release();
676
755
  }
677
756
 
@@ -688,7 +767,7 @@ class stable_vector
688
767
  {
689
768
  stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
690
769
  insert(cend(), il.begin(), il.end());
691
- STABLE_VECTOR_CHECK_INVARIANT;
770
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
692
771
  cod.release();
693
772
  }
694
773
  #endif
@@ -698,7 +777,7 @@ class stable_vector
698
777
  //! <b>Throws</b>: If allocator_type's copy constructor throws.
699
778
  //!
700
779
  //! <b>Complexity</b>: Constant.
701
- stable_vector(BOOST_RV_REF(stable_vector) x) BOOST_NOEXCEPT_OR_NOTHROW
780
+ inline stable_vector(BOOST_RV_REF(stable_vector) x) BOOST_NOEXCEPT_OR_NOTHROW
702
781
  : internal_data(boost::move(x.priv_node_alloc())), index(boost::move(x.index))
703
782
  {
704
783
  this->priv_swap_members(x);
@@ -714,7 +793,7 @@ class stable_vector
714
793
  {
715
794
  stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
716
795
  this->insert(this->cend(), x.begin(), x.end());
717
- STABLE_VECTOR_CHECK_INVARIANT;
796
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
718
797
  cod.release();
719
798
  }
720
799
 
@@ -734,7 +813,7 @@ class stable_vector
734
813
  else{
735
814
  stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
736
815
  this->insert(this->cend(), boost::make_move_iterator(x.begin()), boost::make_move_iterator(x.end()));
737
- STABLE_VECTOR_CHECK_INVARIANT;
816
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
738
817
  cod.release();
739
818
  }
740
819
  }
@@ -761,8 +840,8 @@ class stable_vector
761
840
  //! <b>Complexity</b>: Linear to the number of elements in x.
762
841
  stable_vector& operator=(BOOST_COPY_ASSIGN_REF(stable_vector) x)
763
842
  {
764
- STABLE_VECTOR_CHECK_INVARIANT;
765
- if (&x != this){
843
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
844
+ if (BOOST_LIKELY(this != &x)) {
766
845
  node_allocator_type &this_alloc = this->priv_node_alloc();
767
846
  const node_allocator_type &x_alloc = x.priv_node_alloc();
768
847
  dtl::bool_<allocator_traits_type::
@@ -793,30 +872,14 @@ class stable_vector
793
872
  BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value
794
873
  || allocator_traits_type::is_always_equal::value)
795
874
  {
796
- //for move constructor, no aliasing (&x != this) is assummed.
797
- BOOST_ASSERT(this != &x);
798
- node_allocator_type &this_alloc = this->priv_node_alloc();
799
- node_allocator_type &x_alloc = x.priv_node_alloc();
800
- const bool propagate_alloc = allocator_traits_type::
801
- propagate_on_container_move_assignment::value;
802
- dtl::bool_<propagate_alloc> flag;
803
- const bool allocators_equal = this_alloc == x_alloc; (void)allocators_equal;
804
- //Resources can be transferred if both allocators are
805
- //going to be equal after this function (either propagated or already equal)
806
- if(propagate_alloc || allocators_equal){
807
- STABLE_VECTOR_CHECK_INVARIANT
808
- //Destroy objects but retain memory in case x reuses it in the future
809
- this->clear();
810
- //Move allocator if needed
811
- dtl::move_alloc(this_alloc, x_alloc, flag);
812
- //Take resources
813
- this->index.swap(x.index);
814
- this->priv_swap_members(x);
815
- }
816
- //Else do a one by one move
817
- else{
818
- this->assign( boost::make_move_iterator(x.begin())
819
- , boost::make_move_iterator(x.end()));
875
+ if (BOOST_LIKELY(this != &x)) {
876
+ //We know resources can be transferred at comiple time if both allocators are
877
+ //always equal or the allocator is going to be propagated
878
+ const bool can_steal_resources_alloc
879
+ = allocator_traits_type::propagate_on_container_move_assignment::value
880
+ || allocator_traits_type::is_always_equal::value;
881
+ dtl::bool_<can_steal_resources_alloc> flag;
882
+ this->priv_move_assign(boost::move(x), flag);
820
883
  }
821
884
  return *this;
822
885
  }
@@ -827,7 +890,7 @@ class stable_vector
827
890
  //! <b>Complexity</b>: Linear to the range [il.begin(), il.end()).
828
891
  stable_vector& operator=(std::initializer_list<value_type> il)
829
892
  {
830
- STABLE_VECTOR_CHECK_INVARIANT;
893
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
831
894
  assign(il.begin(), il.end());
832
895
  return *this;
833
896
  }
@@ -838,9 +901,9 @@ class stable_vector
838
901
  //! <b>Throws</b>: If memory allocation throws or T's copy constructor throws.
839
902
  //!
840
903
  //! <b>Complexity</b>: Linear to n.
841
- void assign(size_type n, const T& t)
904
+ inline void assign(size_type n, const T& t)
842
905
  {
843
- typedef constant_iterator<value_type, difference_type> cvalue_iterator;
906
+ typedef constant_iterator<value_type> cvalue_iterator;
844
907
  this->assign(cvalue_iterator(t, n), cvalue_iterator());
845
908
  }
846
909
 
@@ -858,7 +921,7 @@ class stable_vector
858
921
  #endif
859
922
  assign(InputIterator first,InputIterator last)
860
923
  {
861
- STABLE_VECTOR_CHECK_INVARIANT;
924
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
862
925
  iterator first1 = this->begin();
863
926
  iterator last1 = this->end();
864
927
  for ( ; first1 != last1 && first != last; ++first1, ++first)
@@ -877,9 +940,9 @@ class stable_vector
877
940
  //! <b>Throws</b>: If memory allocation throws or
878
941
  //! T's constructor from dereferencing initializer_list iterator throws.
879
942
  //!
880
- void assign(std::initializer_list<value_type> il)
943
+ inline void assign(std::initializer_list<value_type> il)
881
944
  {
882
- STABLE_VECTOR_CHECK_INVARIANT;
945
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
883
946
  assign(il.begin(), il.end());
884
947
  }
885
948
  #endif
@@ -889,7 +952,8 @@ class stable_vector
889
952
  //! <b>Throws</b>: If allocator's copy constructor throws.
890
953
  //!
891
954
  //! <b>Complexity</b>: Constant.
892
- allocator_type get_allocator() const
955
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
956
+ allocator_type get_allocator() const
893
957
  { return this->priv_node_alloc(); }
894
958
 
895
959
  //! <b>Effects</b>: Returns a reference to the internal allocator.
@@ -899,7 +963,8 @@ class stable_vector
899
963
  //! <b>Complexity</b>: Constant.
900
964
  //!
901
965
  //! <b>Note</b>: Non-standard extension.
902
- const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
966
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
967
+ const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
903
968
  { return this->priv_node_alloc(); }
904
969
 
905
970
  //! <b>Effects</b>: Returns a reference to the internal allocator.
@@ -909,7 +974,8 @@ class stable_vector
909
974
  //! <b>Complexity</b>: Constant.
910
975
  //!
911
976
  //! <b>Note</b>: Non-standard extension.
912
- stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
977
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
978
+ stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
913
979
  { return this->priv_node_alloc(); }
914
980
 
915
981
  //////////////////////////////////////////////
@@ -923,7 +989,8 @@ class stable_vector
923
989
  //! <b>Throws</b>: Nothing.
924
990
  //!
925
991
  //! <b>Complexity</b>: Constant.
926
- iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
992
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
993
+ iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
927
994
  { return (this->index.empty()) ? this->end(): iterator(node_ptr_traits::static_cast_from(this->index.front())); }
928
995
 
929
996
  //! <b>Effects</b>: Returns a const_iterator to the first element contained in the stable_vector.
@@ -931,7 +998,8 @@ class stable_vector
931
998
  //! <b>Throws</b>: Nothing.
932
999
  //!
933
1000
  //! <b>Complexity</b>: Constant.
934
- const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
1001
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1002
+ const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
935
1003
  { return (this->index.empty()) ? this->cend() : const_iterator(node_ptr_traits::static_cast_from(this->index.front())) ; }
936
1004
 
937
1005
  //! <b>Effects</b>: Returns an iterator to the end of the stable_vector.
@@ -939,7 +1007,8 @@ class stable_vector
939
1007
  //! <b>Throws</b>: Nothing.
940
1008
  //!
941
1009
  //! <b>Complexity</b>: Constant.
942
- iterator end() BOOST_NOEXCEPT_OR_NOTHROW
1010
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1011
+ iterator end() BOOST_NOEXCEPT_OR_NOTHROW
943
1012
  { return iterator(this->priv_get_end_node()); }
944
1013
 
945
1014
  //! <b>Effects</b>: Returns a const_iterator to the end of the stable_vector.
@@ -947,7 +1016,8 @@ class stable_vector
947
1016
  //! <b>Throws</b>: Nothing.
948
1017
  //!
949
1018
  //! <b>Complexity</b>: Constant.
950
- const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
1019
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1020
+ const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
951
1021
  { return const_iterator(this->priv_get_end_node()); }
952
1022
 
953
1023
  //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
@@ -956,7 +1026,8 @@ class stable_vector
956
1026
  //! <b>Throws</b>: Nothing.
957
1027
  //!
958
1028
  //! <b>Complexity</b>: Constant.
959
- reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
1029
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1030
+ reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
960
1031
  { return reverse_iterator(this->end()); }
961
1032
 
962
1033
  //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
@@ -965,7 +1036,8 @@ class stable_vector
965
1036
  //! <b>Throws</b>: Nothing.
966
1037
  //!
967
1038
  //! <b>Complexity</b>: Constant.
968
- const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
1039
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1040
+ const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
969
1041
  { return const_reverse_iterator(this->end()); }
970
1042
 
971
1043
  //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
@@ -974,7 +1046,8 @@ class stable_vector
974
1046
  //! <b>Throws</b>: Nothing.
975
1047
  //!
976
1048
  //! <b>Complexity</b>: Constant.
977
- reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
1049
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1050
+ reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
978
1051
  { return reverse_iterator(this->begin()); }
979
1052
 
980
1053
  //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
@@ -983,7 +1056,8 @@ class stable_vector
983
1056
  //! <b>Throws</b>: Nothing.
984
1057
  //!
985
1058
  //! <b>Complexity</b>: Constant.
986
- const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
1059
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1060
+ const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
987
1061
  { return const_reverse_iterator(this->begin()); }
988
1062
 
989
1063
  //! <b>Effects</b>: Returns a const_iterator to the first element contained in the stable_vector.
@@ -991,7 +1065,8 @@ class stable_vector
991
1065
  //! <b>Throws</b>: Nothing.
992
1066
  //!
993
1067
  //! <b>Complexity</b>: Constant.
994
- const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
1068
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1069
+ const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
995
1070
  { return this->begin(); }
996
1071
 
997
1072
  //! <b>Effects</b>: Returns a const_iterator to the end of the stable_vector.
@@ -999,7 +1074,8 @@ class stable_vector
999
1074
  //! <b>Throws</b>: Nothing.
1000
1075
  //!
1001
1076
  //! <b>Complexity</b>: Constant.
1002
- const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
1077
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1078
+ const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
1003
1079
  { return this->end(); }
1004
1080
 
1005
1081
  //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
@@ -1008,7 +1084,8 @@ class stable_vector
1008
1084
  //! <b>Throws</b>: Nothing.
1009
1085
  //!
1010
1086
  //! <b>Complexity</b>: Constant.
1011
- const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
1087
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1088
+ const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
1012
1089
  { return this->rbegin(); }
1013
1090
 
1014
1091
  //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
@@ -1017,7 +1094,8 @@ class stable_vector
1017
1094
  //! <b>Throws</b>: Nothing.
1018
1095
  //!
1019
1096
  //! <b>Complexity</b>: Constant.
1020
- const_reverse_iterator crend()const BOOST_NOEXCEPT_OR_NOTHROW
1097
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1098
+ const_reverse_iterator crend()const BOOST_NOEXCEPT_OR_NOTHROW
1021
1099
  { return this->rend(); }
1022
1100
 
1023
1101
  //////////////////////////////////////////////
@@ -1031,7 +1109,8 @@ class stable_vector
1031
1109
  //! <b>Throws</b>: Nothing.
1032
1110
  //!
1033
1111
  //! <b>Complexity</b>: Constant.
1034
- bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
1112
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1113
+ bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
1035
1114
  { return this->index.size() <= ExtraPointers; }
1036
1115
 
1037
1116
  //! <b>Effects</b>: Returns the number of the elements contained in the stable_vector.
@@ -1039,7 +1118,8 @@ class stable_vector
1039
1118
  //! <b>Throws</b>: Nothing.
1040
1119
  //!
1041
1120
  //! <b>Complexity</b>: Constant.
1042
- size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
1121
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1122
+ size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
1043
1123
  {
1044
1124
  const size_type index_size = this->index.size();
1045
1125
  return (index_size - ExtraPointers) & (size_type(0u) -size_type(index_size != 0));
@@ -1050,7 +1130,8 @@ class stable_vector
1050
1130
  //! <b>Throws</b>: Nothing.
1051
1131
  //!
1052
1132
  //! <b>Complexity</b>: Constant.
1053
- size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
1133
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1134
+ size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
1054
1135
  { return this->index.max_size() - ExtraPointers; }
1055
1136
 
1056
1137
  //! <b>Effects</b>: Inserts or erases elements at the end such that
@@ -1061,12 +1142,13 @@ class stable_vector
1061
1142
  //! <b>Complexity</b>: Linear to the difference between size() and new_size.
1062
1143
  void resize(size_type n)
1063
1144
  {
1064
- typedef value_init_construct_iterator<value_type, difference_type> value_init_iterator;
1065
- STABLE_VECTOR_CHECK_INVARIANT;
1145
+ typedef value_init_construct_iterator<value_type> value_init_iterator;
1146
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
1066
1147
  if(n > this->size())
1067
- this->insert(this->cend(), value_init_iterator(n - this->size()), value_init_iterator());
1148
+ this->insert( this->cend()
1149
+ , value_init_iterator(n - this->size()), value_init_iterator());
1068
1150
  else if(n < this->size())
1069
- this->erase(this->cbegin() + n, this->cend());
1151
+ this->erase(this->cbegin() + difference_type(n), this->cend());
1070
1152
  }
1071
1153
 
1072
1154
  //! <b>Effects</b>: Inserts or erases elements at the end such that
@@ -1079,12 +1161,12 @@ class stable_vector
1079
1161
  //! <b>Note</b>: Non-standard extension
1080
1162
  void resize(size_type n, default_init_t)
1081
1163
  {
1082
- typedef default_init_construct_iterator<value_type, difference_type> default_init_iterator;
1083
- STABLE_VECTOR_CHECK_INVARIANT;
1164
+ typedef default_init_construct_iterator<value_type> default_init_iterator;
1165
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
1084
1166
  if(n > this->size())
1085
1167
  this->insert(this->cend(), default_init_iterator(n - this->size()), default_init_iterator());
1086
1168
  else if(n < this->size())
1087
- this->erase(this->cbegin() + n, this->cend());
1169
+ this->erase(this->cbegin() + difference_type(n), this->cend());
1088
1170
  }
1089
1171
 
1090
1172
  //! <b>Effects</b>: Inserts or erases elements at the end such that
@@ -1095,11 +1177,11 @@ class stable_vector
1095
1177
  //! <b>Complexity</b>: Linear to the difference between size() and new_size.
1096
1178
  void resize(size_type n, const T& t)
1097
1179
  {
1098
- STABLE_VECTOR_CHECK_INVARIANT;
1180
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
1099
1181
  if(n > this->size())
1100
1182
  this->insert(this->cend(), n - this->size(), t);
1101
1183
  else if(n < this->size())
1102
- this->erase(this->cbegin() + n, this->cend());
1184
+ this->erase(this->cbegin() + difference_type(n), this->cend());
1103
1185
  }
1104
1186
 
1105
1187
  //! <b>Effects</b>: Number of elements for which memory has been allocated.
@@ -1108,7 +1190,8 @@ class stable_vector
1108
1190
  //! <b>Throws</b>: Nothing.
1109
1191
  //!
1110
1192
  //! <b>Complexity</b>: Constant.
1111
- size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
1193
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1194
+ size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
1112
1195
  {
1113
1196
  const size_type index_size = this->index.size();
1114
1197
  BOOST_ASSERT(!index_size || index_size >= ExtraPointers);
@@ -1128,7 +1211,7 @@ class stable_vector
1128
1211
  //! <b>Throws</b>: If memory allocation allocation throws.
1129
1212
  void reserve(size_type n)
1130
1213
  {
1131
- STABLE_VECTOR_CHECK_INVARIANT;
1214
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
1132
1215
  if(n > this->max_size()){
1133
1216
  throw_length_error("stable_vector::reserve max_size() exceeded");
1134
1217
  }
@@ -1195,10 +1278,11 @@ class stable_vector
1195
1278
  //! <b>Throws</b>: Nothing.
1196
1279
  //!
1197
1280
  //! <b>Complexity</b>: Constant.
1198
- reference front() BOOST_NOEXCEPT_OR_NOTHROW
1281
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1282
+ reference front() BOOST_NOEXCEPT_OR_NOTHROW
1199
1283
  {
1200
1284
  BOOST_ASSERT(!this->empty());
1201
- return static_cast<node_reference>(*this->index.front()).value;
1285
+ return static_cast<node_reference>(*this->index.front()).get_data();
1202
1286
  }
1203
1287
 
1204
1288
  //! <b>Requires</b>: !empty()
@@ -1209,10 +1293,11 @@ class stable_vector
1209
1293
  //! <b>Throws</b>: Nothing.
1210
1294
  //!
1211
1295
  //! <b>Complexity</b>: Constant.
1212
- const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
1296
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1297
+ const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
1213
1298
  {
1214
1299
  BOOST_ASSERT(!this->empty());
1215
- return static_cast<const_node_reference>(*this->index.front()).value;
1300
+ return static_cast<const_node_reference>(*this->index.front()).get_data();
1216
1301
  }
1217
1302
 
1218
1303
  //! <b>Requires</b>: !empty()
@@ -1223,10 +1308,11 @@ class stable_vector
1223
1308
  //! <b>Throws</b>: Nothing.
1224
1309
  //!
1225
1310
  //! <b>Complexity</b>: Constant.
1226
- reference back() BOOST_NOEXCEPT_OR_NOTHROW
1311
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1312
+ reference back() BOOST_NOEXCEPT_OR_NOTHROW
1227
1313
  {
1228
1314
  BOOST_ASSERT(!this->empty());
1229
- return static_cast<node_reference>(*this->index[this->size()-1u]).value;
1315
+ return static_cast<node_reference>(*this->index[this->size()-1u]).get_data();
1230
1316
  }
1231
1317
 
1232
1318
  //! <b>Requires</b>: !empty()
@@ -1237,10 +1323,11 @@ class stable_vector
1237
1323
  //! <b>Throws</b>: Nothing.
1238
1324
  //!
1239
1325
  //! <b>Complexity</b>: Constant.
1240
- const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
1326
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1327
+ const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
1241
1328
  {
1242
1329
  BOOST_ASSERT(!this->empty());
1243
- return static_cast<const_node_reference>(*this->index[this->size()-1u]).value;
1330
+ return static_cast<const_node_reference>(*this->index[this->size()-1u]).get_data();
1244
1331
  }
1245
1332
 
1246
1333
  //! <b>Requires</b>: size() > n.
@@ -1251,10 +1338,11 @@ class stable_vector
1251
1338
  //! <b>Throws</b>: Nothing.
1252
1339
  //!
1253
1340
  //! <b>Complexity</b>: Constant.
1254
- reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
1341
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1342
+ reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
1255
1343
  {
1256
1344
  BOOST_ASSERT(this->size() > n);
1257
- return static_cast<node_reference>(*this->index[n]).value;
1345
+ return static_cast<node_reference>(*this->index[n]).get_data();
1258
1346
  }
1259
1347
 
1260
1348
  //! <b>Requires</b>: size() > n.
@@ -1265,10 +1353,11 @@ class stable_vector
1265
1353
  //! <b>Throws</b>: Nothing.
1266
1354
  //!
1267
1355
  //! <b>Complexity</b>: Constant.
1268
- const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
1356
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1357
+ const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
1269
1358
  {
1270
1359
  BOOST_ASSERT(this->size() > n);
1271
- return static_cast<const_node_reference>(*this->index[n]).value;
1360
+ return static_cast<const_node_reference>(*this->index[n]).get_data();
1272
1361
  }
1273
1362
 
1274
1363
  //! <b>Requires</b>: size() >= n.
@@ -1282,7 +1371,8 @@ class stable_vector
1282
1371
  //! <b>Complexity</b>: Constant.
1283
1372
  //!
1284
1373
  //! <b>Note</b>: Non-standard extension
1285
- iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
1374
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1375
+ iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
1286
1376
  {
1287
1377
  BOOST_ASSERT(this->size() >= n);
1288
1378
  return (this->index.empty()) ? this->end() : iterator(node_ptr_traits::static_cast_from(this->index[n]));
@@ -1299,7 +1389,8 @@ class stable_vector
1299
1389
  //! <b>Complexity</b>: Constant.
1300
1390
  //!
1301
1391
  //! <b>Note</b>: Non-standard extension
1302
- const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
1392
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1393
+ const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
1303
1394
  {
1304
1395
  BOOST_ASSERT(this->size() >= n);
1305
1396
  return (this->index.empty()) ? this->cend() : iterator(node_ptr_traits::static_cast_from(this->index[n]));
@@ -1315,7 +1406,8 @@ class stable_vector
1315
1406
  //! <b>Complexity</b>: Constant.
1316
1407
  //!
1317
1408
  //! <b>Note</b>: Non-standard extension
1318
- size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
1409
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1410
+ size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
1319
1411
  { return this->priv_index_of(p.node_pointer()); }
1320
1412
 
1321
1413
  //! <b>Requires</b>: begin() <= p <= end().
@@ -1328,7 +1420,8 @@ class stable_vector
1328
1420
  //! <b>Complexity</b>: Constant.
1329
1421
  //!
1330
1422
  //! <b>Note</b>: Non-standard extension
1331
- size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
1423
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1424
+ size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
1332
1425
  { return this->priv_index_of(p.node_pointer()); }
1333
1426
 
1334
1427
  //! <b>Requires</b>: size() > n.
@@ -1336,10 +1429,11 @@ class stable_vector
1336
1429
  //! <b>Effects</b>: Returns a reference to the nth element
1337
1430
  //! from the beginning of the container.
1338
1431
  //!
1339
- //! <b>Throws</b>: std::range_error if n >= size()
1432
+ //! <b>Throws</b>: range_error if n >= size()
1340
1433
  //!
1341
1434
  //! <b>Complexity</b>: Constant.
1342
- reference at(size_type n)
1435
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1436
+ reference at(size_type n)
1343
1437
  {
1344
1438
  if(n >= this->size()){
1345
1439
  throw_out_of_range("vector::at invalid subscript");
@@ -1352,10 +1446,11 @@ class stable_vector
1352
1446
  //! <b>Effects</b>: Returns a const reference to the nth element
1353
1447
  //! from the beginning of the container.
1354
1448
  //!
1355
- //! <b>Throws</b>: std::range_error if n >= size()
1449
+ //! <b>Throws</b>: range_error if n >= size()
1356
1450
  //!
1357
1451
  //! <b>Complexity</b>: Constant.
1358
- const_reference at(size_type n)const
1452
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1453
+ const_reference at(size_type n)const
1359
1454
  {
1360
1455
  if(n >= this->size()){
1361
1456
  throw_out_of_range("vector::at invalid subscript");
@@ -1383,7 +1478,7 @@ class stable_vector
1383
1478
  reference emplace_back(Args &&...args)
1384
1479
  {
1385
1480
  typedef emplace_functor<Args...> EmplaceFunctor;
1386
- typedef emplace_iterator<value_type, EmplaceFunctor, difference_type> EmplaceIterator;
1481
+ typedef emplace_iterator<value_type, EmplaceFunctor> EmplaceIterator;
1387
1482
  EmplaceFunctor &&ef = EmplaceFunctor(boost::forward<Args>(args)...);
1388
1483
  return *this->insert(this->cend(), EmplaceIterator(ef), EmplaceIterator());
1389
1484
  }
@@ -1401,9 +1496,9 @@ class stable_vector
1401
1496
  iterator emplace(const_iterator p, Args && ...args)
1402
1497
  {
1403
1498
  BOOST_ASSERT(this->priv_in_range_or_end(p));
1404
- size_type pos_n = p - cbegin();
1499
+ difference_type pos_n = p - cbegin();
1405
1500
  typedef emplace_functor<Args...> EmplaceFunctor;
1406
- typedef emplace_iterator<value_type, EmplaceFunctor, difference_type> EmplaceIterator;
1501
+ typedef emplace_iterator<value_type, EmplaceFunctor> EmplaceIterator;
1407
1502
  EmplaceFunctor &&ef = EmplaceFunctor(boost::forward<Args>(args)...);
1408
1503
  this->insert(p, EmplaceIterator(ef), EmplaceIterator());
1409
1504
  return iterator(this->begin() + pos_n);
@@ -1417,7 +1512,7 @@ class stable_vector
1417
1512
  {\
1418
1513
  typedef emplace_functor##N\
1419
1514
  BOOST_MOVE_LT##N BOOST_MOVE_TARG##N BOOST_MOVE_GT##N EmplaceFunctor;\
1420
- typedef emplace_iterator<value_type, EmplaceFunctor, difference_type> EmplaceIterator;\
1515
+ typedef emplace_iterator<value_type, EmplaceFunctor> EmplaceIterator;\
1421
1516
  EmplaceFunctor ef BOOST_MOVE_LP##N BOOST_MOVE_FWD##N BOOST_MOVE_RP##N;\
1422
1517
  return *this->insert(this->cend() , EmplaceIterator(ef), EmplaceIterator());\
1423
1518
  }\
@@ -1428,11 +1523,11 @@ class stable_vector
1428
1523
  BOOST_ASSERT(this->priv_in_range_or_end(p));\
1429
1524
  typedef emplace_functor##N\
1430
1525
  BOOST_MOVE_LT##N BOOST_MOVE_TARG##N BOOST_MOVE_GT##N EmplaceFunctor;\
1431
- typedef emplace_iterator<value_type, EmplaceFunctor, difference_type> EmplaceIterator;\
1526
+ typedef emplace_iterator<value_type, EmplaceFunctor> EmplaceIterator;\
1432
1527
  EmplaceFunctor ef BOOST_MOVE_LP##N BOOST_MOVE_FWD##N BOOST_MOVE_RP##N;\
1433
- const size_type pos_n = p - this->cbegin();\
1528
+ const size_type pos_n = size_type(p - this->cbegin());\
1434
1529
  this->insert(p, EmplaceIterator(ef), EmplaceIterator());\
1435
- return this->begin() += pos_n;\
1530
+ return this->begin() += difference_type(pos_n);\
1436
1531
  }\
1437
1532
  //
1438
1533
  BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_STABLE_VECTOR_EMPLACE_CODE)
@@ -1500,8 +1595,8 @@ class stable_vector
1500
1595
  iterator insert(const_iterator p, size_type n, const T& t)
1501
1596
  {
1502
1597
  BOOST_ASSERT(this->priv_in_range_or_end(p));
1503
- STABLE_VECTOR_CHECK_INVARIANT;
1504
- typedef constant_iterator<value_type, difference_type> cvalue_iterator;
1598
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
1599
+ typedef constant_iterator<value_type> cvalue_iterator;
1505
1600
  return this->insert(p, cvalue_iterator(t, n), cvalue_iterator());
1506
1601
  }
1507
1602
 
@@ -1514,10 +1609,10 @@ class stable_vector
1514
1609
  //! <b>Returns</b>: an iterator to the first inserted element or p if first == last.
1515
1610
  //!
1516
1611
  //! <b>Complexity</b>: Linear to distance [il.begin(), il.end()).
1517
- iterator insert(const_iterator p, std::initializer_list<value_type> il)
1612
+ inline iterator insert(const_iterator p, std::initializer_list<value_type> il)
1518
1613
  {
1519
1614
  //Position checks done by insert()
1520
- STABLE_VECTOR_CHECK_INVARIANT;
1615
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
1521
1616
  return insert(p, il.begin(), il.end());
1522
1617
  }
1523
1618
  #endif
@@ -1546,12 +1641,12 @@ class stable_vector
1546
1641
  )
1547
1642
  {
1548
1643
  BOOST_ASSERT(this->priv_in_range_or_end(p));
1549
- STABLE_VECTOR_CHECK_INVARIANT;
1550
- const size_type pos_n = p - this->cbegin();
1644
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
1645
+ const difference_type pos_n = p - this->cbegin();
1551
1646
  for(; first != last; ++first){
1552
1647
  this->emplace(p, *first);
1553
1648
  }
1554
- return this->begin() + pos_n;
1649
+ return this->begin() + difference_type(pos_n);
1555
1650
  }
1556
1651
 
1557
1652
  #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
@@ -1564,7 +1659,7 @@ class stable_vector
1564
1659
  insert(const_iterator p, FwdIt first, FwdIt last)
1565
1660
  {
1566
1661
  BOOST_ASSERT(this->priv_in_range_or_end(p));
1567
- const size_type num_new = static_cast<size_type>(boost::container::iterator_distance(first, last));
1662
+ const size_type num_new = boost::container::iterator_udistance(first, last);
1568
1663
  const size_type idx = static_cast<size_type>(p - this->cbegin());
1569
1664
  if(num_new){
1570
1665
  //Fills the node pool and inserts num_new null pointers in idx.
@@ -1572,7 +1667,7 @@ class stable_vector
1572
1667
  //past-new nodes are not aligned until the end of this function
1573
1668
  //or in a rollback in case of exception
1574
1669
  index_iterator it_past_newly_constructed(this->priv_insert_forward_non_templated(idx, num_new));
1575
- const index_iterator it_past_new(it_past_newly_constructed + num_new);
1670
+ const index_iterator it_past_new(it_past_newly_constructed + difference_type(num_new));
1576
1671
  {
1577
1672
  //Prepare rollback
1578
1673
  insert_rollback rollback(*this, it_past_newly_constructed, it_past_new);
@@ -1592,7 +1687,7 @@ class stable_vector
1592
1687
  //nodes before insertion p in priv_insert_forward_non_templated(...)
1593
1688
  index_traits_type::fix_up_pointers_from(this->index, it_past_newly_constructed);
1594
1689
  }
1595
- return this->begin() + idx;
1690
+ return this->begin() + static_cast<difference_type>(idx);
1596
1691
  }
1597
1692
  #endif
1598
1693
 
@@ -1601,7 +1696,7 @@ class stable_vector
1601
1696
  //! <b>Throws</b>: Nothing.
1602
1697
  //!
1603
1698
  //! <b>Complexity</b>: Constant time.
1604
- void pop_back() BOOST_NOEXCEPT_OR_NOTHROW
1699
+ inline void pop_back() BOOST_NOEXCEPT_OR_NOTHROW
1605
1700
  {
1606
1701
  BOOST_ASSERT(!this->empty());
1607
1702
  this->erase(--this->cend());
@@ -1613,11 +1708,11 @@ class stable_vector
1613
1708
  //!
1614
1709
  //! <b>Complexity</b>: Linear to the elements between p and the
1615
1710
  //! last element. Constant if p is the last element.
1616
- iterator erase(const_iterator p) BOOST_NOEXCEPT_OR_NOTHROW
1711
+ inline iterator erase(const_iterator p) BOOST_NOEXCEPT_OR_NOTHROW
1617
1712
  {
1618
1713
  BOOST_ASSERT(this->priv_in_range(p));
1619
- STABLE_VECTOR_CHECK_INVARIANT;
1620
- const size_type d = p - this->cbegin();
1714
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
1715
+ const difference_type d = p - this->cbegin();
1621
1716
  index_iterator it = this->index.begin() + d;
1622
1717
  this->priv_delete_node(p.node_pointer());
1623
1718
  it = this->index.erase(it);
@@ -1635,17 +1730,18 @@ class stable_vector
1635
1730
  {
1636
1731
  BOOST_ASSERT(first == last ||
1637
1732
  (first < last && this->priv_in_range(first) && this->priv_in_range_or_end(last)));
1638
- STABLE_VECTOR_CHECK_INVARIANT;
1733
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
1639
1734
  const const_iterator cbeg(this->cbegin());
1640
1735
  const size_type d1 = static_cast<size_type>(first - cbeg),
1641
1736
  d2 = static_cast<size_type>(last - cbeg);
1642
1737
  size_type d_dif = d2 - d1;
1643
1738
  if(d_dif){
1644
1739
  multiallocation_chain holder;
1645
- const index_iterator it1(this->index.begin() + d1);
1646
- const index_iterator it2(it1 + d_dif);
1740
+ const index_iterator it1(this->index.begin() + difference_type(d1));
1741
+ const index_iterator it2(it1 + difference_type(d_dif));
1647
1742
  index_iterator it(it1);
1648
- while(d_dif--){
1743
+ while(d_dif){
1744
+ --d_dif;
1649
1745
  node_base_ptr &nb = *it;
1650
1746
  ++it;
1651
1747
  node_type &n = *node_ptr_traits::static_cast_from(nb);
@@ -1671,7 +1767,7 @@ class stable_vector
1671
1767
  BOOST_ASSERT(allocator_traits_type::propagate_on_container_swap::value ||
1672
1768
  allocator_traits_type::is_always_equal::value ||
1673
1769
  this->get_stored_allocator() == x.get_stored_allocator());
1674
- STABLE_VECTOR_CHECK_INVARIANT;
1770
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT;
1675
1771
  dtl::bool_<allocator_traits_type::propagate_on_container_swap::value> flag;
1676
1772
  dtl::swap_alloc(this->priv_node_alloc(), x.priv_node_alloc(), flag);
1677
1773
  //vector's allocator is swapped here
@@ -1684,70 +1780,106 @@ class stable_vector
1684
1780
  //! <b>Throws</b>: Nothing.
1685
1781
  //!
1686
1782
  //! <b>Complexity</b>: Linear to the number of elements in the stable_vector.
1687
- void clear() BOOST_NOEXCEPT_OR_NOTHROW
1783
+ inline void clear() BOOST_NOEXCEPT_OR_NOTHROW
1688
1784
  { this->erase(this->cbegin(),this->cend()); }
1689
1785
 
1690
1786
  //! <b>Effects</b>: Returns true if x and y are equal
1691
1787
  //!
1692
1788
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1693
- friend bool operator==(const stable_vector& x, const stable_vector& y)
1789
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1790
+ friend bool operator==(const stable_vector& x, const stable_vector& y)
1694
1791
  { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
1695
1792
 
1696
1793
  //! <b>Effects</b>: Returns true if x and y are unequal
1697
1794
  //!
1698
1795
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1699
- friend bool operator!=(const stable_vector& x, const stable_vector& y)
1796
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1797
+ friend bool operator!=(const stable_vector& x, const stable_vector& y)
1700
1798
  { return !(x == y); }
1701
1799
 
1702
1800
  //! <b>Effects</b>: Returns true if x is less than y
1703
1801
  //!
1704
1802
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1705
- friend bool operator<(const stable_vector& x, const stable_vector& y)
1803
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1804
+ friend bool operator<(const stable_vector& x, const stable_vector& y)
1706
1805
  { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
1707
1806
 
1708
1807
  //! <b>Effects</b>: Returns true if x is greater than y
1709
1808
  //!
1710
1809
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1711
- friend bool operator>(const stable_vector& x, const stable_vector& y)
1810
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1811
+ friend bool operator>(const stable_vector& x, const stable_vector& y)
1712
1812
  { return y < x; }
1713
1813
 
1714
1814
  //! <b>Effects</b>: Returns true if x is equal or less than y
1715
1815
  //!
1716
1816
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1717
- friend bool operator<=(const stable_vector& x, const stable_vector& y)
1817
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1818
+ friend bool operator<=(const stable_vector& x, const stable_vector& y)
1718
1819
  { return !(y < x); }
1719
1820
 
1720
1821
  //! <b>Effects</b>: Returns true if x is equal or greater than y
1721
1822
  //!
1722
1823
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1723
- friend bool operator>=(const stable_vector& x, const stable_vector& y)
1824
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1825
+ friend bool operator>=(const stable_vector& x, const stable_vector& y)
1724
1826
  { return !(x < y); }
1725
1827
 
1726
1828
  //! <b>Effects</b>: x.swap(y)
1727
1829
  //!
1728
1830
  //! <b>Complexity</b>: Constant.
1729
- friend void swap(stable_vector& x, stable_vector& y)
1831
+ inline friend void swap(stable_vector& x, stable_vector& y)
1832
+ BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
1730
1833
  { x.swap(y); }
1731
1834
 
1732
1835
  #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1733
1836
  private:
1734
1837
 
1838
+ void priv_move_assign(BOOST_RV_REF(stable_vector) x, dtl::bool_<true> /*steal_resources*/)
1839
+ {
1840
+ //Resources can be transferred if both allocators are
1841
+ //going to be equal after this function (either propagated or already equal)
1842
+ BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT
1843
+ //Destroy objects but retain memory in case x reuses it in the future
1844
+ this->clear();
1845
+ //Move allocator if needed
1846
+ dtl::bool_<allocator_traits_type::
1847
+ propagate_on_container_move_assignment::value> flag;
1848
+ dtl::move_alloc(this->priv_node_alloc(), x.priv_node_alloc(), flag);
1849
+
1850
+ //Take resources
1851
+ this->index = boost::move(x.index); //this also moves the vector's allocator if needed
1852
+ this->priv_swap_members(x);
1853
+ }
1854
+
1855
+ void priv_move_assign(BOOST_RV_REF(stable_vector) x, dtl::bool_<false> /*steal_resources*/)
1856
+ {
1857
+ //We can't guarantee a compile-time equal allocator or propagation so fallback to runtime
1858
+ //Resources can be transferred if both allocators are equal
1859
+ if (this->priv_node_alloc() == x.priv_node_alloc()) {
1860
+ this->priv_move_assign(boost::move(x), dtl::true_());
1861
+ }
1862
+ else {
1863
+ this->assign(boost::make_move_iterator(x.begin()), boost::make_move_iterator(x.end()));
1864
+ }
1865
+ }
1866
+
1735
1867
  bool priv_in_range(const_iterator pos) const
1736
1868
  {
1737
1869
  return (this->begin() <= pos) && (pos < this->end());
1738
1870
  }
1739
1871
 
1740
- bool priv_in_range_or_end(const_iterator pos) const
1872
+ inline bool priv_in_range_or_end(const_iterator pos) const
1741
1873
  {
1742
1874
  return (this->begin() <= pos) && (pos <= this->end());
1743
1875
  }
1744
1876
 
1745
- size_type priv_index_of(node_ptr p) const
1877
+ inline size_type priv_index_of(node_ptr p) const
1746
1878
  {
1747
1879
  //Check range
1748
1880
  BOOST_ASSERT(this->index.empty() || (this->index.data() <= p->up));
1749
1881
  BOOST_ASSERT(this->index.empty() || p->up <= (this->index.data() + this->index.size()));
1750
- return this->index.empty() ? 0 : p->up - this->index.data();
1882
+ return this->index.empty() ? 0u : size_type(p->up - this->index.data());
1751
1883
  }
1752
1884
 
1753
1885
  class insert_rollback
@@ -1776,18 +1908,18 @@ class stable_vector
1776
1908
  class push_back_rollback
1777
1909
  {
1778
1910
  public:
1779
- push_back_rollback(stable_vector &sv, const node_ptr &p)
1911
+ inline push_back_rollback(stable_vector &sv, const node_ptr &p)
1780
1912
  : m_sv(sv), m_p(p)
1781
1913
  {}
1782
1914
 
1783
- ~push_back_rollback()
1915
+ inline ~push_back_rollback()
1784
1916
  {
1785
1917
  if(m_p){
1786
1918
  m_sv.priv_put_in_pool(m_p);
1787
1919
  }
1788
1920
  }
1789
1921
 
1790
- void release()
1922
+ inline void release()
1791
1923
  { m_p = node_ptr(); }
1792
1924
 
1793
1925
  private:
@@ -1806,18 +1938,18 @@ class stable_vector
1806
1938
 
1807
1939
  //Now try to make room in the vector
1808
1940
  const node_base_ptr_ptr old_buffer = this->index.data();
1809
- this->index.insert(this->index.begin() + idx, num_new, node_ptr());
1941
+ this->index.insert(this->index.begin() + (difference_type)idx, num_new, node_ptr());
1810
1942
  bool new_buffer = this->index.data() != old_buffer;
1811
1943
 
1812
1944
  //Fix the pointers for the newly allocated buffer
1813
1945
  const index_iterator index_beg = this->index.begin();
1814
1946
  if(new_buffer){
1815
- index_traits_type::fix_up_pointers(index_beg, index_beg + idx);
1947
+ index_traits_type::fix_up_pointers(index_beg, index_beg + (difference_type)idx);
1816
1948
  }
1817
- return index_beg + idx;
1949
+ return index_beg + (difference_type)idx;
1818
1950
  }
1819
1951
 
1820
- bool priv_capacity_bigger_than_size() const
1952
+ inline bool priv_capacity_bigger_than_size() const
1821
1953
  {
1822
1954
  return this->index.capacity() > this->index.size() &&
1823
1955
  this->internal_data.pool_size > 0;
@@ -1848,14 +1980,14 @@ class stable_vector
1848
1980
  iterator priv_insert(const_iterator p, const value_type &t)
1849
1981
  {
1850
1982
  BOOST_ASSERT(this->priv_in_range_or_end(p));
1851
- typedef constant_iterator<value_type, difference_type> cvalue_iterator;
1983
+ typedef constant_iterator<value_type> cvalue_iterator;
1852
1984
  return this->insert(p, cvalue_iterator(t, 1), cvalue_iterator());
1853
1985
  }
1854
1986
 
1855
1987
  iterator priv_insert(const_iterator p, BOOST_RV_REF(T) x)
1856
1988
  {
1857
1989
  BOOST_ASSERT(this->priv_in_range_or_end(p));
1858
- typedef repeat_iterator<T, difference_type> repeat_it;
1990
+ typedef repeat_iterator<T> repeat_it;
1859
1991
  typedef boost::move_iterator<repeat_it> repeat_move_it;
1860
1992
  //Just call more general insert(p, size, value) and return iterator
1861
1993
  return this->insert(p, repeat_move_it(repeat_it(x, 1)), repeat_move_it(repeat_it()));
@@ -1891,7 +2023,7 @@ class stable_vector
1891
2023
  this->allocate_individual(n, m);
1892
2024
  holder.splice_after(holder.before_begin(), m, m.before_begin(), m.last(), n);
1893
2025
  this->internal_data.pool_size += n;
1894
- std::pair<node_ptr, node_ptr> data(holder.extract_data());
2026
+ typename multiallocation_chain::pointer_pair data(holder.extract_data());
1895
2027
  pool_first_ref = data.first;
1896
2028
  pool_last_ref = data.second;
1897
2029
  }
@@ -1907,7 +2039,7 @@ class stable_vector
1907
2039
  , internal_data.pool_size);
1908
2040
  holder.push_front(p);
1909
2041
  ++this->internal_data.pool_size;
1910
- std::pair<node_ptr, node_ptr> ret(holder.extract_data());
2042
+ typename multiallocation_chain::pointer_pair ret(holder.extract_data());
1911
2043
  pool_first_ref = ret.first;
1912
2044
  pool_last_ref = ret.second;
1913
2045
  }
@@ -1921,7 +2053,7 @@ class stable_vector
1921
2053
  , node_ptr_traits::static_cast_from(pool_last_ref)
1922
2054
  , internal_data.pool_size);
1923
2055
  this->internal_data.pool_size = ch.size();
1924
- const std::pair<node_ptr, node_ptr> ret(ch.extract_data());
2056
+ const typename multiallocation_chain::pointer_pair ret(ch.extract_data());
1925
2057
  pool_first_ref = ret.first;
1926
2058
  pool_last_ref = ret.second;
1927
2059
  }
@@ -1943,24 +2075,23 @@ class stable_vector
1943
2075
  pool_first_ref = pool_last_ref = node_ptr();
1944
2076
  }
1945
2077
  else{
1946
- const std::pair<node_ptr, node_ptr> data(holder.extract_data());
2078
+ const typename multiallocation_chain::pointer_pair data(holder.extract_data());
1947
2079
  pool_first_ref = data.first;
1948
2080
  pool_last_ref = data.second;
1949
2081
  }
1950
2082
  return ret;
1951
2083
  }
1952
2084
 
1953
- node_base_ptr priv_get_end_node() const
2085
+ inline node_base_ptr priv_get_end_node() const
1954
2086
  { return node_base_ptr_traits::pointer_to(const_cast<node_base_type&>(this->internal_data.end_node)); }
1955
2087
 
1956
- void priv_destroy_node(const node_type &n)
2088
+ inline void priv_destroy_node(const node_type &n)
1957
2089
  {
1958
2090
  allocator_traits<node_allocator_type>::
1959
- destroy(this->priv_node_alloc(), dtl::addressof(n.value));
1960
- static_cast<const node_base_type*>(&n)->~node_base_type();
2091
+ destroy(this->priv_node_alloc(), &n);
1961
2092
  }
1962
2093
 
1963
- void priv_delete_node(const node_ptr &n)
2094
+ inline void priv_delete_node(const node_ptr &n)
1964
2095
  {
1965
2096
  this->priv_destroy_node(*n);
1966
2097
  this->priv_put_in_pool(n);
@@ -1969,26 +2100,40 @@ class stable_vector
1969
2100
  template<class Iterator>
1970
2101
  void priv_build_node_from_it(const node_ptr &p, const index_iterator &up_index, const Iterator &it)
1971
2102
  {
1972
- //This can throw
1973
- boost::container::construct_in_place
1974
- ( this->priv_node_alloc()
1975
- , dtl::addressof(p->value)
1976
- , it);
1977
- //This does not throw
1978
- ::new(static_cast<node_base_type*>(boost::movelib::to_raw_pointer(p)), boost_container_new_t())
1979
- node_base_type(index_traits_type::ptr_to_node_base_ptr(*up_index));
2103
+ node_type *praw = ::new(boost::movelib::iterator_to_raw_pointer(p), boost_container_new_t())
2104
+ node_type(index_traits_type::ptr_to_node_base_ptr(*up_index));
2105
+ BOOST_CONTAINER_TRY{
2106
+ //This can throw
2107
+ boost::container::construct_in_place
2108
+ ( this->priv_node_alloc()
2109
+ , praw->get_data_ptr()
2110
+ , it);
2111
+ }
2112
+ BOOST_CONTAINER_CATCH(...) {
2113
+ praw->destroy_header();
2114
+ this->priv_node_alloc().deallocate(p, 1);
2115
+ BOOST_CONTAINER_RETHROW
2116
+ }
2117
+ BOOST_CONTAINER_CATCH_END
1980
2118
  }
1981
2119
 
1982
2120
  template<class ValueConvertible>
1983
2121
  void priv_build_node_from_convertible(const node_ptr &p, BOOST_FWD_REF(ValueConvertible) value_convertible)
1984
2122
  {
1985
- //This can throw
1986
- boost::container::allocator_traits<node_allocator_type>::construct
1987
- ( this->priv_node_alloc()
1988
- , dtl::addressof(p->value)
1989
- , ::boost::forward<ValueConvertible>(value_convertible));
1990
- //This does not throw
1991
- ::new(static_cast<node_base_type*>(boost::movelib::to_raw_pointer(p)), boost_container_new_t()) node_base_type;
2123
+ node_type *praw = ::new(boost::movelib::iterator_to_raw_pointer(p), boost_container_new_t()) node_type;
2124
+ BOOST_CONTAINER_TRY{
2125
+ //This can throw
2126
+ boost::container::allocator_traits<node_allocator_type>::construct
2127
+ ( this->priv_node_alloc()
2128
+ , p->get_data_ptr()
2129
+ , ::boost::forward<ValueConvertible>(value_convertible));
2130
+ }
2131
+ BOOST_CONTAINER_CATCH(...) {
2132
+ praw->destroy_header();
2133
+ this->priv_node_alloc().deallocate(p, 1);
2134
+ BOOST_CONTAINER_RETHROW
2135
+ }
2136
+ BOOST_CONTAINER_CATCH_END
1992
2137
  }
1993
2138
 
1994
2139
  void priv_swap_members(stable_vector &x)
@@ -2085,9 +2230,21 @@ class stable_vector
2085
2230
  #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
2086
2231
  };
2087
2232
 
2233
+ #ifndef BOOST_CONTAINER_NO_CXX17_CTAD
2234
+
2235
+ template <typename InputIterator>
2236
+ stable_vector(InputIterator, InputIterator) ->
2237
+ stable_vector<typename iterator_traits<InputIterator>::value_type>;
2238
+
2239
+ template <typename InputIterator, typename Allocator>
2240
+ stable_vector(InputIterator, InputIterator, Allocator const&) ->
2241
+ stable_vector<typename iterator_traits<InputIterator>::value_type, Allocator>;
2242
+
2243
+ #endif
2244
+
2088
2245
  #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
2089
2246
 
2090
- #undef STABLE_VECTOR_CHECK_INVARIANT
2247
+ #undef BOOST_CONTAINER_STABLE_VECTOR_CHECK_INVARIANT
2091
2248
 
2092
2249
  } //namespace container {
2093
2250
 
@@ -2096,8 +2253,9 @@ class stable_vector
2096
2253
  template <class T, class Allocator>
2097
2254
  struct has_trivial_destructor_after_move<boost::container::stable_vector<T, Allocator> >
2098
2255
  {
2099
- typedef typename ::boost::container::allocator_traits<Allocator>::pointer pointer;
2100
- static const bool value = ::boost::has_trivial_destructor_after_move<Allocator>::value &&
2256
+ typedef typename boost::container::stable_vector<T, Allocator>::allocator_type allocator_type;
2257
+ typedef typename ::boost::container::allocator_traits<allocator_type>::pointer pointer;
2258
+ BOOST_STATIC_CONSTEXPR bool value = ::boost::has_trivial_destructor_after_move<allocator_type>::value &&
2101
2259
  ::boost::has_trivial_destructor_after_move<pointer>::value;
2102
2260
  };
2103
2261