passenger 5.1.12 → 5.2.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (824) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +18 -1
  3. data/Rakefile +4 -1
  4. data/build/agent.rb +2 -2
  5. data/build/apache2.rb +17 -10
  6. data/build/basics.rb +18 -4
  7. data/build/common_library.rb +7 -3
  8. data/build/cxx_tests.rb +2 -7
  9. data/build/misc.rb +3 -1
  10. data/build/nginx.rb +11 -5
  11. data/build/oxt_tests.rb +0 -3
  12. data/build/packaging.rb +3 -2
  13. data/build/schema_printer.rb +103 -0
  14. data/build/support/cplusplus.rb +2 -2
  15. data/build/support/cxx_dependency_map.rb +2575 -868
  16. data/dev/ci/lib/functions.sh +1 -1
  17. data/dev/ci/lib/set-container-envvars.sh +1 -1
  18. data/dev/ci/lib/setup-container.sh +1 -1
  19. data/dev/ci/run-tests-natively +1 -1
  20. data/dev/ci/run-tests-with-docker +1 -1
  21. data/dev/ci/scripts/debug-console-wrapper.sh +1 -1
  22. data/dev/ci/scripts/docker-entrypoint-stage2.sh +1 -1
  23. data/dev/ci/scripts/docker-entrypoint.sh +1 -1
  24. data/dev/ci/scripts/inituidgid +1 -1
  25. data/dev/ci/scripts/run-tests-natively-stage2.sh +1 -1
  26. data/dev/ci/scripts/setup-host-natively.sh +1 -1
  27. data/dev/ci/setup-host +1 -1
  28. data/dev/ci/tests/apache2/run +1 -1
  29. data/dev/ci/tests/apache2/setup +1 -1
  30. data/dev/ci/tests/cxx/run +1 -1
  31. data/dev/ci/tests/cxx/setup +1 -1
  32. data/dev/ci/tests/debian/Jenkinsfile +0 -1
  33. data/dev/ci/tests/debian/run +1 -1
  34. data/dev/ci/tests/nginx-dynamic/run +1 -1
  35. data/dev/ci/tests/nginx-dynamic/setup +1 -1
  36. data/dev/ci/tests/nginx/run +1 -1
  37. data/dev/ci/tests/nginx/setup +1 -1
  38. data/dev/ci/tests/nodejs/run +1 -1
  39. data/dev/ci/tests/nodejs/setup +1 -1
  40. data/dev/ci/tests/rpm/run +1 -1
  41. data/dev/ci/tests/ruby/run +1 -1
  42. data/dev/ci/tests/ruby/setup +1 -1
  43. data/dev/ci/tests/source-packaging/run +1 -1
  44. data/dev/ci/tests/source-packaging/setup +1 -1
  45. data/dev/ci/tests/standalone/run +1 -1
  46. data/dev/ci/tests/standalone/setup +1 -1
  47. data/dev/configkit-schemas/index.json +1708 -0
  48. data/dev/configkit-schemas/update_schema_inline_comments.rb +118 -0
  49. data/dev/copy_boost_headers +13 -1
  50. data/dev/index_cxx_dependencies.rb +20 -7
  51. data/dev/vagrant/provision.sh +1 -1
  52. data/resources/mime.types +1 -0
  53. data/resources/templates/standalone/http.erb +1 -6
  54. data/src/agent/Core/AdminPanelConnector.h +550 -0
  55. data/src/agent/Core/ApiServer.h +159 -97
  56. data/src/agent/Core/ApplicationPool/Group.h +2 -0
  57. data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +3 -2
  58. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +109 -0
  59. data/src/agent/Core/ApplicationPool/Implementation.cpp +5 -3
  60. data/src/agent/Core/ApplicationPool/Options.h +5 -6
  61. data/src/agent/Core/ApplicationPool/Pool.h +59 -2
  62. data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +3 -3
  63. data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +2 -2
  64. data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +6 -0
  65. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +129 -0
  66. data/src/agent/Core/Config.h +475 -0
  67. data/src/agent/Core/ConfigChange.cpp +349 -0
  68. data/src/agent/Core/ConfigChange.h +54 -0
  69. data/src/agent/Core/Controller.h +35 -3
  70. data/src/agent/Core/Controller/CheckoutSession.cpp +1 -1
  71. data/src/agent/Core/Controller/Config.cpp +0 -2
  72. data/src/agent/Core/Controller/Config.h +168 -104
  73. data/src/agent/Core/Controller/ForwardResponse.cpp +1 -1
  74. data/src/agent/Core/Controller/InitRequest.cpp +14 -15
  75. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +34 -44
  76. data/src/agent/Core/Controller/Request.h +0 -1
  77. data/src/agent/Core/CoreMain.cpp +236 -349
  78. data/src/agent/Core/OptionParser.h +75 -89
  79. data/src/agent/Core/SecurityUpdateChecker.h +263 -100
  80. data/src/agent/Core/SpawningKit/Config.h +6 -2
  81. data/src/agent/Core/SpawningKit/Spawner.h +0 -45
  82. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +1 -0
  83. data/src/agent/Shared/ApiAccountUtils.h +318 -0
  84. data/src/agent/Shared/ApiServerUtils.h +3 -104
  85. data/src/agent/Shared/Fundamentals/Initialization.cpp +81 -44
  86. data/src/agent/Shared/Fundamentals/Initialization.h +12 -7
  87. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +21 -0
  88. data/src/agent/Watchdog/AgentWatcher.cpp +1 -1
  89. data/src/agent/Watchdog/ApiServer.h +100 -14
  90. data/src/agent/Watchdog/Config.h +340 -0
  91. data/src/agent/Watchdog/CoreWatcher.cpp +27 -13
  92. data/src/agent/Watchdog/InstanceDirToucher.cpp +1 -1
  93. data/src/agent/Watchdog/WatchdogMain.cpp +190 -206
  94. data/src/apache2_module/Bucket.cpp +4 -0
  95. data/src/apache2_module/Bucket.h +7 -3
  96. data/src/apache2_module/CBindings.cpp +49 -0
  97. data/src/apache2_module/Config.cpp +242 -0
  98. data/src/apache2_module/Config.h +109 -0
  99. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +485 -0
  100. data/src/apache2_module/{ConfigurationCommands.cpp.cxxcodebuilder → ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder} +29 -15
  101. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +298 -0
  102. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp.cxxcodebuilder +171 -0
  103. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +854 -0
  104. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +188 -0
  105. data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +610 -0
  106. data/src/apache2_module/ConfigGeneral/SetterFuncs.h +65 -0
  107. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +174 -0
  108. data/src/apache2_module/{MergeDirConfig.cpp.cxxcodebuilder → DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder} +54 -32
  109. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +113 -0
  110. data/src/apache2_module/{SetHeaders.cpp.cxxcodebuilder → DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder} +34 -23
  111. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +426 -0
  112. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +165 -0
  113. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +269 -0
  114. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +148 -0
  115. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +534 -0
  116. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +230 -0
  117. data/src/apache2_module/DirectoryMapper.h +19 -16
  118. data/src/apache2_module/Hooks.cpp +124 -138
  119. data/src/apache2_module/Hooks.h +9 -14
  120. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +263 -0
  121. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +152 -0
  122. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +299 -0
  123. data/src/apache2_module/{ConfigurationFields.hpp.cxxcodebuilder → ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder} +105 -18
  124. data/src/apache2_module/Utils.h +215 -0
  125. data/src/apache2_module/mod_passenger.c +16 -8
  126. data/src/cxx_supportlib/AppTypes.h +2 -0
  127. data/src/cxx_supportlib/ConfigKit/ConfigKit.h +1 -1
  128. data/src/cxx_supportlib/ConfigKit/DummyTranslator.h +8 -8
  129. data/src/cxx_supportlib/ConfigKit/IN_PRACTICE.md +7 -41
  130. data/src/cxx_supportlib/ConfigKit/PrefixTranslator.h +12 -66
  131. data/src/cxx_supportlib/ConfigKit/Schema.h +62 -11
  132. data/src/cxx_supportlib/ConfigKit/{ValidationUtils.h → SchemaUtils.h} +12 -3
  133. data/src/cxx_supportlib/ConfigKit/Store.h +17 -9
  134. data/src/cxx_supportlib/ConfigKit/SubComponentUtils.h +2 -1
  135. data/src/cxx_supportlib/ConfigKit/TableTranslator.h +13 -70
  136. data/src/cxx_supportlib/ConfigKit/Translator.h +125 -0
  137. data/src/cxx_supportlib/Constants.h +1 -3
  138. data/src/cxx_supportlib/FileTools/FileManip.cpp +297 -0
  139. data/src/cxx_supportlib/FileTools/FileManip.h +162 -0
  140. data/src/cxx_supportlib/{Utils → FileTools}/LargeFiles.cpp +6 -3
  141. data/src/cxx_supportlib/{Utils → FileTools}/LargeFiles.h +7 -5
  142. data/src/cxx_supportlib/FileTools/PathManip.cpp +240 -0
  143. data/src/cxx_supportlib/FileTools/PathManip.h +91 -0
  144. data/src/cxx_supportlib/FileTools/PathManipCBindings.cpp +62 -0
  145. data/src/{apache2_module/Configuration.h → cxx_supportlib/FileTools/PathManipCBindings.h} +12 -19
  146. data/src/cxx_supportlib/Hooks.h +19 -16
  147. data/src/cxx_supportlib/InstanceDirectory.h +11 -0
  148. data/src/cxx_supportlib/JsonTools/Autocast.h +79 -0
  149. data/src/cxx_supportlib/JsonTools/CBindings.cpp +364 -0
  150. data/src/cxx_supportlib/JsonTools/CBindings.h +101 -0
  151. data/src/cxx_supportlib/LoggingKit/Config.h +13 -0
  152. data/src/cxx_supportlib/LoggingKit/Context.h +5 -2
  153. data/src/cxx_supportlib/LoggingKit/Forward.h +0 -1
  154. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +12 -4
  155. data/src/cxx_supportlib/ResourceLocator.h +15 -0
  156. data/src/cxx_supportlib/ServerKit/Config.h +156 -0
  157. data/src/cxx_supportlib/ServerKit/Context.h +59 -38
  158. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +3 -2
  159. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +2 -2
  160. data/src/cxx_supportlib/ServerKit/HttpServer.h +16 -2
  161. data/src/cxx_supportlib/ServerKit/Server.h +32 -15
  162. data/src/cxx_supportlib/Utils.cpp +0 -441
  163. data/src/cxx_supportlib/Utils.h +0 -158
  164. data/src/cxx_supportlib/Utils/Curl.h +1 -0
  165. data/src/cxx_supportlib/Utils/ProcessMetricsCollector.h +1 -0
  166. data/src/cxx_supportlib/Utils/StrIntUtilsNoStrictAliasing.cpp +2 -0
  167. data/src/cxx_supportlib/Utils/VariantMap.h +31 -0
  168. data/src/cxx_supportlib/WatchdogLauncher.cpp +7 -79
  169. data/src/cxx_supportlib/WatchdogLauncher.h +50 -53
  170. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +981 -0
  171. data/src/cxx_supportlib/oxt/macros.hpp +9 -0
  172. data/src/cxx_supportlib/vendor-copy/websocketpp/COPYING +145 -0
  173. data/src/cxx_supportlib/vendor-copy/websocketpp/changelog.md +342 -0
  174. data/src/cxx_supportlib/vendor-copy/websocketpp/readme.md +49 -0
  175. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/base64/base64.hpp +178 -0
  176. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/client.hpp +33 -0
  177. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/close.hpp +342 -0
  178. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/asio.hpp +131 -0
  179. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/asio_ssl.hpp +39 -0
  180. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/chrono.hpp +68 -0
  181. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/connection_hdl.hpp +52 -0
  182. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/cpp11.hpp +162 -0
  183. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/functional.hpp +105 -0
  184. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/md5.hpp +448 -0
  185. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/memory.hpp +89 -0
  186. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/network.hpp +106 -0
  187. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/platforms.hpp +46 -0
  188. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/random.hpp +82 -0
  189. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/regex.hpp +59 -0
  190. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/stdint.hpp +73 -0
  191. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/system_error.hpp +84 -0
  192. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/thread.hpp +84 -0
  193. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/time.hpp +56 -0
  194. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/type_traits.hpp +65 -0
  195. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/concurrency/basic.hpp +46 -0
  196. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/concurrency/none.hpp +80 -0
  197. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/asio.hpp +77 -0
  198. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/asio_client.hpp +77 -0
  199. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/asio_no_tls.hpp +73 -0
  200. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/asio_no_tls_client.hpp +73 -0
  201. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/boost_config.hpp +72 -0
  202. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/core.hpp +285 -0
  203. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/core_client.hpp +294 -0
  204. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/debug.hpp +286 -0
  205. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/debug_asio.hpp +77 -0
  206. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/debug_asio_no_tls.hpp +73 -0
  207. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/minimal_client.hpp +72 -0
  208. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/minimal_server.hpp +312 -0
  209. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/connection.hpp +1651 -0
  210. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/connection_base.hpp +38 -0
  211. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/endpoint.hpp +700 -0
  212. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/endpoint_base.hpp +38 -0
  213. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/error.hpp +277 -0
  214. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/extensions/extension.hpp +102 -0
  215. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/extensions/permessage_deflate/disabled.hpp +128 -0
  216. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/extensions/permessage_deflate/enabled.hpp +752 -0
  217. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/frame.hpp +861 -0
  218. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/constants.hpp +308 -0
  219. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/impl/parser.hpp +196 -0
  220. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/impl/request.hpp +191 -0
  221. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/impl/response.hpp +266 -0
  222. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/parser.hpp +619 -0
  223. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/request.hpp +124 -0
  224. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/response.hpp +188 -0
  225. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/impl/connection_impl.hpp +2372 -0
  226. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/impl/endpoint_impl.hpp +269 -0
  227. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/impl/utilities_impl.hpp +87 -0
  228. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/logger/basic.hpp +199 -0
  229. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/logger/levels.hpp +203 -0
  230. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/logger/stub.hpp +119 -0
  231. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/logger/syslog.hpp +146 -0
  232. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/message_buffer/alloc.hpp +105 -0
  233. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/message_buffer/message.hpp +340 -0
  234. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/message_buffer/pool.hpp +229 -0
  235. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/base.hpp +299 -0
  236. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/hybi00.hpp +462 -0
  237. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/hybi07.hpp +78 -0
  238. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/hybi08.hpp +83 -0
  239. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/hybi13.hpp +1056 -0
  240. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/processor.hpp +407 -0
  241. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/random/none.hpp +60 -0
  242. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/random/random_device.hpp +80 -0
  243. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/roles/client_endpoint.hpp +173 -0
  244. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/roles/server_endpoint.hpp +190 -0
  245. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/server.hpp +33 -0
  246. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/sha1/sha1.hpp +189 -0
  247. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/base.hpp +232 -0
  248. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/connection.hpp +1204 -0
  249. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/endpoint.hpp +1147 -0
  250. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/security/base.hpp +159 -0
  251. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/security/none.hpp +370 -0
  252. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/security/tls.hpp +484 -0
  253. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/base/connection.hpp +238 -0
  254. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/base/endpoint.hpp +77 -0
  255. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/debug/base.hpp +104 -0
  256. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/debug/connection.hpp +412 -0
  257. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/debug/endpoint.hpp +140 -0
  258. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/iostream/base.hpp +133 -0
  259. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/iostream/connection.hpp +714 -0
  260. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/iostream/endpoint.hpp +222 -0
  261. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/stub/base.hpp +95 -0
  262. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/stub/connection.hpp +286 -0
  263. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/stub/endpoint.hpp +140 -0
  264. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/uri.hpp +355 -0
  265. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/utf8_validator.hpp +154 -0
  266. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/utilities.hpp +182 -0
  267. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/version.hpp +61 -0
  268. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +121 -0
  269. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +96 -0
  270. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +951 -0
  271. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +520 -0
  272. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +258 -0
  273. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +942 -0
  274. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +567 -0
  275. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +697 -0
  276. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +386 -0
  277. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +1519 -0
  278. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +1137 -0
  279. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +288 -0
  280. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +569 -0
  281. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +854 -0
  282. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +371 -0
  283. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +35 -0
  284. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +521 -0
  285. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +2241 -0
  286. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +246 -0
  287. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +27 -0
  288. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +260 -0
  289. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +27 -0
  290. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +238 -0
  291. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +27 -0
  292. data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +483 -0
  293. data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +220 -0
  294. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +825 -0
  295. data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +330 -0
  296. data/src/cxx_supportlib/vendor-modified/boost/asio/datagram_socket_service.hpp +438 -0
  297. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +40 -0
  298. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer_service.hpp +173 -0
  299. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/addressof.hpp +40 -0
  300. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +40 -0
  301. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +34 -0
  302. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +32 -0
  303. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +47 -0
  304. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +70 -0
  305. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +491 -0
  306. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +68 -0
  307. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +385 -0
  308. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +128 -0
  309. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +127 -0
  310. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +192 -0
  311. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +83 -0
  312. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +1050 -0
  313. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +294 -0
  314. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +48 -0
  315. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +34 -0
  316. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +229 -0
  317. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +38 -0
  318. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +119 -0
  319. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +121 -0
  320. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +121 -0
  321. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +208 -0
  322. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +244 -0
  323. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +50 -0
  324. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +85 -0
  325. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +41 -0
  326. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +82 -0
  327. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/function.hpp +40 -0
  328. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +91 -0
  329. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +68 -0
  330. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +65 -0
  331. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +99 -0
  332. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +82 -0
  333. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +45 -0
  334. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +57 -0
  335. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +161 -0
  336. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +480 -0
  337. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +333 -0
  338. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +120 -0
  339. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +453 -0
  340. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +80 -0
  341. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +432 -0
  342. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +78 -0
  343. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +688 -0
  344. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +167 -0
  345. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +307 -0
  346. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +82 -0
  347. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +498 -0
  348. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +126 -0
  349. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +49 -0
  350. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +48 -0
  351. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +76 -0
  352. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +48 -0
  353. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +210 -0
  354. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_serial_port_service.ipp +153 -0
  355. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +269 -0
  356. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +132 -0
  357. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +89 -0
  358. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +315 -0
  359. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +90 -0
  360. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +190 -0
  361. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +649 -0
  362. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +3470 -0
  363. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +178 -0
  364. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +120 -0
  365. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +178 -0
  366. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/task_io_service.hpp +80 -0
  367. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/task_io_service.ipp +476 -0
  368. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +47 -0
  369. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +86 -0
  370. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +103 -0
  371. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +136 -0
  372. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +72 -0
  373. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +222 -0
  374. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +26 -0
  375. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +61 -0
  376. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +63 -0
  377. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +31 -0
  378. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +50 -0
  379. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +45 -0
  380. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +90 -0
  381. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +47 -0
  382. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +66 -0
  383. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +69 -0
  384. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +71 -0
  385. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +500 -0
  386. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +62 -0
  387. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +63 -0
  388. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +70 -0
  389. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +148 -0
  390. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +216 -0
  391. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +158 -0
  392. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +40 -0
  393. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +91 -0
  394. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +131 -0
  395. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +128 -0
  396. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +120 -0
  397. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +78 -0
  398. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +87 -0
  399. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +66 -0
  400. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +107 -0
  401. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +81 -0
  402. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +166 -0
  403. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +324 -0
  404. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +90 -0
  405. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_serial_port_service.hpp +236 -0
  406. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +138 -0
  407. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +108 -0
  408. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +125 -0
  409. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +135 -0
  410. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +127 -0
  411. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +122 -0
  412. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +125 -0
  413. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +460 -0
  414. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +452 -0
  415. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +32 -0
  416. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_fwd.hpp +42 -0
  417. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +63 -0
  418. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +170 -0
  419. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +35 -0
  420. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +123 -0
  421. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +133 -0
  422. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +131 -0
  423. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +131 -0
  424. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +103 -0
  425. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +81 -0
  426. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +48 -0
  427. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +221 -0
  428. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +146 -0
  429. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/shared_ptr.hpp +40 -0
  430. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +46 -0
  431. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +84 -0
  432. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +49 -0
  433. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +51 -0
  434. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +218 -0
  435. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +100 -0
  436. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +336 -0
  437. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +318 -0
  438. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +93 -0
  439. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +410 -0
  440. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +63 -0
  441. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +54 -0
  442. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +178 -0
  443. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +64 -0
  444. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +75 -0
  445. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +83 -0
  446. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +67 -0
  447. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +144 -0
  448. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/task_io_service.hpp +203 -0
  449. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/task_io_service_operation.hpp +78 -0
  450. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/task_io_service_thread_info.hpp +42 -0
  451. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +58 -0
  452. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +93 -0
  453. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +55 -0
  454. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +53 -0
  455. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +333 -0
  456. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +70 -0
  457. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +95 -0
  458. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +68 -0
  459. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +35 -0
  460. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +42 -0
  461. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +71 -0
  462. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +60 -0
  463. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +63 -0
  464. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +85 -0
  465. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +47 -0
  466. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/weak_ptr.hpp +40 -0
  467. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/win_iocp_serial_port_service.hpp +230 -0
  468. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +130 -0
  469. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +293 -0
  470. data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +345 -0
  471. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +195 -0
  472. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +125 -0
  473. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +135 -0
  474. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +111 -0
  475. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +123 -0
  476. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +124 -0
  477. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +129 -0
  478. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +83 -0
  479. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +56 -0
  480. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +87 -0
  481. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_type.hpp +114 -0
  482. data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +65 -0
  483. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +360 -0
  484. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +340 -0
  485. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +432 -0
  486. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +130 -0
  487. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +79 -0
  488. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_service.hpp +156 -0
  489. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_service.ipp +157 -0
  490. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +755 -0
  491. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +812 -0
  492. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +1149 -0
  493. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +61 -0
  494. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +556 -0
  495. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +355 -0
  496. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.cpp +25 -0
  497. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +73 -0
  498. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +179 -0
  499. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +767 -0
  500. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +827 -0
  501. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +772 -0
  502. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +202 -0
  503. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +243 -0
  504. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +248 -0
  505. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +265 -0
  506. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +270 -0
  507. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +96 -0
  508. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +262 -0
  509. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +246 -0
  510. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +141 -0
  511. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +206 -0
  512. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +571 -0
  513. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +44 -0
  514. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +117 -0
  515. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +55 -0
  516. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +228 -0
  517. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +55 -0
  518. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +180 -0
  519. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +55 -0
  520. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +300 -0
  521. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +57 -0
  522. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +56 -0
  523. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +193 -0
  524. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +132 -0
  525. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_service.hpp +178 -0
  526. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +157 -0
  527. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +113 -0
  528. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +72 -0
  529. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +71 -0
  530. data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +61 -0
  531. data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +61 -0
  532. data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +241 -0
  533. data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +106 -0
  534. data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +82 -0
  535. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +135 -0
  536. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +130 -0
  537. data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +92 -0
  538. data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +125 -0
  539. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +492 -0
  540. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +364 -0
  541. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +99 -0
  542. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +39 -0
  543. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor_service.hpp +262 -0
  544. data/src/cxx_supportlib/vendor-modified/boost/asio/raw_socket_service.hpp +438 -0
  545. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +633 -0
  546. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +666 -0
  547. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +925 -0
  548. data/src/cxx_supportlib/vendor-modified/boost/asio/seq_packet_socket_service.hpp +386 -0
  549. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +38 -0
  550. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +169 -0
  551. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_service.hpp +255 -0
  552. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +30 -0
  553. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_service.hpp +136 -0
  554. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_acceptor_service.hpp +308 -0
  555. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +522 -0
  556. data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +267 -0
  557. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +30 -0
  558. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/basic_context.hpp +42 -0
  559. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +789 -0
  560. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +194 -0
  561. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_service.hpp +42 -0
  562. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +112 -0
  563. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +166 -0
  564. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +70 -0
  565. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +327 -0
  566. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +166 -0
  567. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +351 -0
  568. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +103 -0
  569. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +30 -0
  570. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +74 -0
  571. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +75 -0
  572. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +62 -0
  573. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +128 -0
  574. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +70 -0
  575. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +75 -0
  576. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +115 -0
  577. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +73 -0
  578. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +1177 -0
  579. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +102 -0
  580. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +168 -0
  581. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +28 -0
  582. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/basic_context.hpp +436 -0
  583. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/context_service.hpp +176 -0
  584. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/detail/openssl_context_service.hpp +396 -0
  585. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/detail/openssl_operation.hpp +526 -0
  586. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/detail/openssl_stream_service.hpp +573 -0
  587. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/stream.hpp +503 -0
  588. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/stream_service.hpp +186 -0
  589. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +102 -0
  590. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +758 -0
  591. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +54 -0
  592. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_service.hpp +42 -0
  593. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +75 -0
  594. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +65 -0
  595. data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +63 -0
  596. data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +254 -0
  597. data/src/cxx_supportlib/vendor-modified/boost/asio/stream_socket_service.hpp +382 -0
  598. data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +35 -0
  599. data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +59 -0
  600. data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +88 -0
  601. data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +21 -0
  602. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +94 -0
  603. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +23 -0
  604. data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +43 -0
  605. data/src/cxx_supportlib/vendor-modified/boost/asio/waitable_timer_service.hpp +170 -0
  606. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_handle.hpp +283 -0
  607. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +180 -0
  608. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +378 -0
  609. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +361 -0
  610. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +40 -0
  611. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle_service.hpp +179 -0
  612. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +118 -0
  613. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +39 -0
  614. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle_service.hpp +222 -0
  615. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +39 -0
  616. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle_service.hpp +220 -0
  617. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +620 -0
  618. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +672 -0
  619. data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +23 -0
  620. data/src/cxx_supportlib/vendor-modified/boost/chrono.hpp +20 -0
  621. data/src/cxx_supportlib/vendor-modified/boost/chrono/chrono.hpp +15 -0
  622. data/src/cxx_supportlib/vendor-modified/boost/chrono/chrono_io.hpp +34 -0
  623. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/chrono.hpp +46 -0
  624. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +242 -0
  625. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +356 -0
  626. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +92 -0
  627. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +121 -0
  628. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +354 -0
  629. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +92 -0
  630. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/process_cpu_clocks.hpp +46 -0
  631. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/thread_clock.hpp +46 -0
  632. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/no_warning/signed_unsigned_cmp.hpp +54 -0
  633. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/scan_keyword.hpp +163 -0
  634. data/src/cxx_supportlib/vendor-modified/boost/chrono/floor.hpp +36 -0
  635. data/src/cxx_supportlib/vendor-modified/boost/chrono/include.hpp +23 -0
  636. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_get.hpp +593 -0
  637. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_io.hpp +295 -0
  638. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_put.hpp +317 -0
  639. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_style.hpp +35 -0
  640. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +1003 -0
  641. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/ios_base_state.hpp +152 -0
  642. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_get.hpp +330 -0
  643. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1243 -0
  644. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_put.hpp +261 -0
  645. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_units.hpp +260 -0
  646. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/timezone.hpp +30 -0
  647. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/utility/ios_base_state_ptr.hpp +437 -0
  648. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/utility/manip_base.hpp +101 -0
  649. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/utility/to_string.hpp +50 -0
  650. data/src/cxx_supportlib/vendor-modified/boost/chrono/io_v1/chrono_io.hpp +637 -0
  651. data/src/cxx_supportlib/vendor-modified/boost/chrono/process_cpu_clocks.hpp +525 -0
  652. data/src/cxx_supportlib/vendor-modified/boost/chrono/round.hpp +59 -0
  653. data/src/cxx_supportlib/vendor-modified/boost/chrono/thread_clock.hpp +75 -0
  654. data/src/cxx_supportlib/vendor-modified/boost/chrono/typeof/boost/chrono/chrono.hpp +32 -0
  655. data/src/cxx_supportlib/vendor-modified/boost/chrono/typeof/boost/ratio.hpp +24 -0
  656. data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +21 -0
  657. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor.hpp +16 -0
  658. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +460 -0
  659. data/src/cxx_supportlib/vendor-modified/boost/integer/integer_log2.hpp +112 -0
  660. data/src/cxx_supportlib/vendor-modified/boost/integer/integer_mask.hpp +126 -0
  661. data/src/cxx_supportlib/vendor-modified/boost/integer/static_min_max.hpp +51 -0
  662. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/chrono.cpp +15 -0
  663. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/process_cpu_clocks.cpp +18 -0
  664. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/thread_clock.cpp +19 -0
  665. data/src/cxx_supportlib/vendor-modified/boost/libs/random/src/random_device.cpp +250 -0
  666. data/src/cxx_supportlib/vendor-modified/boost/pointer_cast.hpp +121 -0
  667. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +91 -0
  668. data/src/cxx_supportlib/vendor-modified/boost/random/additive_combine.hpp +283 -0
  669. data/src/cxx_supportlib/vendor-modified/boost/random/bernoulli_distribution.hpp +197 -0
  670. data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +184 -0
  671. data/src/cxx_supportlib/vendor-modified/boost/random/binomial_distribution.hpp +434 -0
  672. data/src/cxx_supportlib/vendor-modified/boost/random/cauchy_distribution.hpp +214 -0
  673. data/src/cxx_supportlib/vendor-modified/boost/random/chi_squared_distribution.hpp +209 -0
  674. data/src/cxx_supportlib/vendor-modified/boost/random/detail/auto_link.hpp +40 -0
  675. data/src/cxx_supportlib/vendor-modified/boost/random/detail/config.hpp +18 -0
  676. data/src/cxx_supportlib/vendor-modified/boost/random/detail/const_mod.hpp +216 -0
  677. data/src/cxx_supportlib/vendor-modified/boost/random/detail/disable_warnings.hpp +29 -0
  678. data/src/cxx_supportlib/vendor-modified/boost/random/detail/enable_warnings.hpp +22 -0
  679. data/src/cxx_supportlib/vendor-modified/boost/random/detail/generator_bits.hpp +36 -0
  680. data/src/cxx_supportlib/vendor-modified/boost/random/detail/generator_seed_seq.hpp +40 -0
  681. data/src/cxx_supportlib/vendor-modified/boost/random/detail/int_float_pair.hpp +121 -0
  682. data/src/cxx_supportlib/vendor-modified/boost/random/detail/integer_log2.hpp +84 -0
  683. data/src/cxx_supportlib/vendor-modified/boost/random/detail/iterator_mixin.hpp +45 -0
  684. data/src/cxx_supportlib/vendor-modified/boost/random/detail/large_arithmetic.hpp +122 -0
  685. data/src/cxx_supportlib/vendor-modified/boost/random/detail/operators.hpp +84 -0
  686. data/src/cxx_supportlib/vendor-modified/boost/random/detail/polynomial.hpp +384 -0
  687. data/src/cxx_supportlib/vendor-modified/boost/random/detail/ptr_helper.hpp +67 -0
  688. data/src/cxx_supportlib/vendor-modified/boost/random/detail/seed.hpp +115 -0
  689. data/src/cxx_supportlib/vendor-modified/boost/random/detail/seed_impl.hpp +398 -0
  690. data/src/cxx_supportlib/vendor-modified/boost/random/detail/signed_unsigned_tools.hpp +89 -0
  691. data/src/cxx_supportlib/vendor-modified/boost/random/detail/uniform_int_float.hpp +76 -0
  692. data/src/cxx_supportlib/vendor-modified/boost/random/detail/vector_io.hpp +75 -0
  693. data/src/cxx_supportlib/vendor-modified/boost/random/discard_block.hpp +241 -0
  694. data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +636 -0
  695. data/src/cxx_supportlib/vendor-modified/boost/random/exponential_distribution.hpp +386 -0
  696. data/src/cxx_supportlib/vendor-modified/boost/random/extreme_value_distribution.hpp +177 -0
  697. data/src/cxx_supportlib/vendor-modified/boost/random/fisher_f_distribution.hpp +183 -0
  698. data/src/cxx_supportlib/vendor-modified/boost/random/gamma_distribution.hpp +292 -0
  699. data/src/cxx_supportlib/vendor-modified/boost/random/generate_canonical.hpp +96 -0
  700. data/src/cxx_supportlib/vendor-modified/boost/random/geometric_distribution.hpp +267 -0
  701. data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +883 -0
  702. data/src/cxx_supportlib/vendor-modified/boost/random/independent_bits.hpp +271 -0
  703. data/src/cxx_supportlib/vendor-modified/boost/random/inversive_congruential.hpp +267 -0
  704. data/src/cxx_supportlib/vendor-modified/boost/random/lagged_fibonacci.hpp +537 -0
  705. data/src/cxx_supportlib/vendor-modified/boost/random/laplace_distribution.hpp +175 -0
  706. data/src/cxx_supportlib/vendor-modified/boost/random/linear_congruential.hpp +466 -0
  707. data/src/cxx_supportlib/vendor-modified/boost/random/linear_feedback_shift.hpp +217 -0
  708. data/src/cxx_supportlib/vendor-modified/boost/random/lognormal_distribution.hpp +254 -0
  709. data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +682 -0
  710. data/src/cxx_supportlib/vendor-modified/boost/random/negative_binomial_distribution.hpp +220 -0
  711. data/src/cxx_supportlib/vendor-modified/boost/random/non_central_chi_squared_distribution.hpp +221 -0
  712. data/src/cxx_supportlib/vendor-modified/boost/random/normal_distribution.hpp +374 -0
  713. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_constant_distribution.hpp +466 -0
  714. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_linear_distribution.hpp +531 -0
  715. data/src/cxx_supportlib/vendor-modified/boost/random/poisson_distribution.hpp +360 -0
  716. data/src/cxx_supportlib/vendor-modified/boost/random/random_device.hpp +143 -0
  717. data/src/cxx_supportlib/vendor-modified/boost/random/random_number_generator.hpp +73 -0
  718. data/src/cxx_supportlib/vendor-modified/boost/random/ranlux.hpp +99 -0
  719. data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +118 -0
  720. data/src/cxx_supportlib/vendor-modified/boost/random/shuffle_order.hpp +269 -0
  721. data/src/cxx_supportlib/vendor-modified/boost/random/shuffle_output.hpp +51 -0
  722. data/src/cxx_supportlib/vendor-modified/boost/random/student_t_distribution.hpp +180 -0
  723. data/src/cxx_supportlib/vendor-modified/boost/random/subtract_with_carry.hpp +613 -0
  724. data/src/cxx_supportlib/vendor-modified/boost/random/taus88.hpp +45 -0
  725. data/src/cxx_supportlib/vendor-modified/boost/random/traits.hpp +107 -0
  726. data/src/cxx_supportlib/vendor-modified/boost/random/triangle_distribution.hpp +232 -0
  727. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_01.hpp +257 -0
  728. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_int.hpp +99 -0
  729. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_int_distribution.hpp +419 -0
  730. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_on_sphere.hpp +284 -0
  731. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_real.hpp +82 -0
  732. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_real_distribution.hpp +241 -0
  733. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_smallint.hpp +307 -0
  734. data/src/cxx_supportlib/vendor-modified/boost/random/variate_generator.hpp +122 -0
  735. data/src/cxx_supportlib/vendor-modified/boost/random/weibull_distribution.hpp +177 -0
  736. data/src/cxx_supportlib/vendor-modified/boost/random/xor_combine.hpp +208 -0
  737. data/src/cxx_supportlib/vendor-modified/boost/ratio.hpp +14 -0
  738. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/ratio_io.hpp +1342 -0
  739. data/src/cxx_supportlib/vendor-modified/boost/ratio/include.hpp +16 -0
  740. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/abs.hpp +30 -0
  741. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/arithmetic.hpp +22 -0
  742. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/comparison.hpp +19 -0
  743. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/divides.hpp +30 -0
  744. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/equal_to.hpp +30 -0
  745. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/gcd.hpp +30 -0
  746. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater.hpp +30 -0
  747. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater_equal.hpp +30 -0
  748. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/lcm.hpp +30 -0
  749. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less.hpp +30 -0
  750. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less_equal.hpp +30 -0
  751. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/minus.hpp +30 -0
  752. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/negate.hpp +30 -0
  753. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/not_equal_to.hpp +30 -0
  754. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/numeric_cast.hpp +31 -0
  755. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/plus.hpp +30 -0
  756. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_c_tag.hpp +25 -0
  757. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_constant.hpp +15 -0
  758. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/sign.hpp +30 -0
  759. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/times.hpp +30 -0
  760. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_io.hpp +1076 -0
  761. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +1002 -0
  762. data/src/cxx_supportlib/vendor-modified/modp_b64.cpp +11 -0
  763. data/src/helper-scripts/rack-preloader.rb +1 -1
  764. data/src/nginx_module/{ConfigurationCommands.c → ConfigGeneral/AutoGeneratedDefinitions.c} +351 -134
  765. data/src/nginx_module/{ConfigurationCommands.c.cxxcodebuilder → ConfigGeneral/AutoGeneratedDefinitions.c.cxxcodebuilder} +14 -25
  766. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +396 -0
  767. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c.cxxcodebuilder +160 -0
  768. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +831 -0
  769. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c.cxxcodebuilder +168 -0
  770. data/src/nginx_module/ConfigGeneral/ManifestGeneration.c +887 -0
  771. data/src/nginx_module/ConfigGeneral/ManifestGeneration.h +100 -0
  772. data/src/nginx_module/Configuration.c +165 -621
  773. data/src/nginx_module/Configuration.h +43 -33
  774. data/src/nginx_module/ContentHandler.c +46 -40
  775. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +282 -0
  776. data/src/nginx_module/{CreateLocationConfig.c.cxxcodebuilder → LocationConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder} +43 -17
  777. data/src/nginx_module/{CacheLocationConfig.c → LocationConfig/AutoGeneratedHeaderSerialization.c} +148 -180
  778. data/src/nginx_module/{CacheLocationConfig.c.cxxcodebuilder → LocationConfig/AutoGeneratedHeaderSerialization.c.cxxcodebuilder} +13 -11
  779. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +595 -0
  780. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +190 -0
  781. data/src/nginx_module/{MergeLocationConfig.c → LocationConfig/AutoGeneratedMergeFunction.c} +32 -42
  782. data/src/nginx_module/{MergeLocationConfig.c.cxxcodebuilder → LocationConfig/AutoGeneratedMergeFunction.c.cxxcodebuilder} +18 -11
  783. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +220 -0
  784. data/src/nginx_module/{LocationConfig.h.cxxcodebuilder → LocationConfig/AutoGeneratedStruct.h.cxxcodebuilder} +70 -48
  785. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +163 -0
  786. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +125 -0
  787. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +303 -0
  788. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +173 -0
  789. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +133 -0
  790. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h.cxxcodebuilder +154 -0
  791. data/src/nginx_module/config +13 -4
  792. data/src/nginx_module/ngx_http_passenger_module.c +154 -84
  793. data/src/ruby_supportlib/phusion_passenger.rb +2 -2
  794. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +613 -131
  795. data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +52 -0
  796. data/src/ruby_supportlib/phusion_passenger/common_library.rb +18 -4
  797. data/src/ruby_supportlib/phusion_passenger/config/main.rb +2 -0
  798. data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +104 -0
  799. data/src/ruby_supportlib/phusion_passenger/constants.rb +0 -2
  800. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +470 -138
  801. data/src/ruby_supportlib/phusion_passenger/packaging.rb +1 -0
  802. data/src/ruby_supportlib/phusion_passenger/platform_info.rb +17 -0
  803. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +11 -1
  804. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +7 -7
  805. data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +293 -0
  806. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +8 -54
  807. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +1 -5
  808. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +4 -7
  809. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +1 -1
  810. data/src/schema_printer/SchemaPrinterMain.cpp +78 -0
  811. data/src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder +116 -0
  812. metadata +671 -30
  813. data/src/apache2_module/Configuration.cpp +0 -737
  814. data/src/apache2_module/Configuration.hpp +0 -274
  815. data/src/apache2_module/ConfigurationCommands.cpp +0 -199
  816. data/src/apache2_module/ConfigurationFields.hpp +0 -187
  817. data/src/apache2_module/ConfigurationSetters.cpp +0 -436
  818. data/src/apache2_module/ConfigurationSetters.cpp.cxxcodebuilder +0 -144
  819. data/src/apache2_module/CreateDirConfig.cpp +0 -68
  820. data/src/apache2_module/CreateDirConfig.cpp.cxxcodebuilder +0 -81
  821. data/src/apache2_module/MergeDirConfig.cpp +0 -155
  822. data/src/apache2_module/SetHeaders.cpp +0 -111
  823. data/src/nginx_module/CreateLocationConfig.c +0 -100
  824. data/src/nginx_module/LocationConfig.h +0 -95
@@ -0,0 +1,30 @@
1
+ // plus.hpp
2
+ //
3
+ // (C) Copyright 2011Vicente J. Botet Escriba
4
+ // Use, modification and distribution are subject to the Boost Software License,
5
+ // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt).
7
+ //
8
+
9
+ #ifndef BOOST_RATIO_MPL_PLUS_HPP
10
+ #define BOOST_RATIO_MPL_PLUS_HPP
11
+
12
+ #include <boost/ratio/ratio.hpp>
13
+ #include <boost/ratio/mpl/numeric_cast.hpp>
14
+ #include <boost/mpl/plus.hpp>
15
+
16
+ namespace boost {
17
+ namespace mpl {
18
+
19
+ template<>
20
+ struct plus_impl< rational_c_tag,rational_c_tag >
21
+ {
22
+ template< typename R1, typename R2 > struct apply
23
+ : ratio_add<R1, R2>
24
+ {
25
+ };
26
+ };
27
+ }
28
+ }
29
+
30
+ #endif // BOOST_RATIO_MPL_PLUS_HPP
@@ -0,0 +1,25 @@
1
+ // abs.hpp
2
+ //
3
+ // (C) Copyright 2011 Vicente J. Botet Escriba
4
+ // Use, modification and distribution are subject to the Boost Software License,
5
+ // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt).
7
+ //
8
+
9
+ #ifndef BOOST_RATIO_MPL_RATIONAL_C_TAG_HPP
10
+ #define BOOST_RATIO_MPL_RATIONAL_C_TAG_HPP
11
+
12
+ #ifdef BOOST_RATIO_EXTENSIONS
13
+
14
+ #include <boost/mpl/int.hpp>
15
+
16
+ namespace boost {
17
+ namespace mpl {
18
+
19
+ struct rational_c_tag : int_<10> {};
20
+
21
+ }
22
+ }
23
+
24
+ #endif // BOOST_RATIO_EXTENSIONS
25
+ #endif // BOOST_RATIO_MPL_RATIONAL_C_TAG_HPP
@@ -0,0 +1,15 @@
1
+ // rational_constant.hpp ---------------------------------------------------------------//
2
+ // Copyright 2011 Vicente J. Botet Escriba
3
+ // Distributed under the Boost Software License, Version 1.0.
4
+ // See http://www.boost.org/LICENSE_1_0.txt
5
+
6
+
7
+ #ifndef BOOST_RATIO_MPL_RATIONAL_CONSTANT_HPP
8
+ #define BOOST_RATIO_MPL_RATIONAL_CONSTANT_HPP
9
+
10
+ #include <boost/ratio/mpl/rational_c_tag.hpp>
11
+ #include <boost/ratio/mpl/numeric_cast.hpp>
12
+ #include <boost/ratio/mpl/arithmetic.hpp>
13
+ #include <boost/ratio/mpl/comparison.hpp>
14
+
15
+ #endif // BOOST_RATIO_HPP
@@ -0,0 +1,30 @@
1
+ // sign.hpp
2
+ //
3
+ // (C) Copyright 2011 Vicente J. Botet Escriba
4
+ // Use, modification and distribution are subject to the Boost Software License,
5
+ // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt).
7
+ //
8
+
9
+ #ifndef BOOST_RATIO_MPL_SIGN_HPP
10
+ #define BOOST_RATIO_MPL_SIGN_HPP
11
+
12
+ #include <boost/ratio/ratio.hpp>
13
+ #include <boost/ratio/mpl/numeric_cast.hpp>
14
+ #include <boost/ratio/detail/mpl/sign.hpp>
15
+
16
+ namespace boost {
17
+ namespace mpl {
18
+
19
+ template<>
20
+ struct sign_impl< rational_c_tag >
21
+ {
22
+ template< typename R > struct apply
23
+ : ratio_sign<R>
24
+ {
25
+ };
26
+ };
27
+ }
28
+ }
29
+
30
+ #endif // BOOST_RATIO_MPL_SIGN_HPP
@@ -0,0 +1,30 @@
1
+ // times.hpp
2
+ //
3
+ // (C) Copyright 2011 Vicente J. Botet Escriba
4
+ // Use, modification and distribution are subject to the Boost Software License,
5
+ // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt).
7
+ //
8
+
9
+ #ifndef BOOST_RATIO_MPL_TIMES_HPP
10
+ #define BOOST_RATIO_MPL_TIMES_HPP
11
+
12
+ #include <boost/ratio/ratio.hpp>
13
+ #include <boost/ratio/mpl/numeric_cast.hpp>
14
+ #include <boost/mpl/times.hpp>
15
+
16
+ namespace boost {
17
+ namespace mpl {
18
+
19
+ template<>
20
+ struct times_impl< rational_c_tag,rational_c_tag >
21
+ {
22
+ template< typename R1, typename R2 > struct apply
23
+ : ratio_multiply<R1, R2>
24
+ {
25
+ };
26
+ };
27
+ }
28
+ }
29
+
30
+ #endif // BOOST_RATIO_MPL_TIMES_HPP
@@ -0,0 +1,1076 @@
1
+ // ratio_io
2
+ //
3
+ // (C) Copyright Howard Hinnant
4
+ // (C) Copyright 2010 Vicente J. Botet Escriba
5
+ // Use, modification and distribution are subject to the Boost Software License,
6
+ // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7
+ // http://www.boost.org/LICENSE_1_0.txt).
8
+ //
9
+ // This code was adapted by Vicente from Howard Hinnant's experimental work
10
+ // on chrono i/o under lvm/libc++ to Boost
11
+
12
+ #ifndef BOOST_RATIO_RATIO_IO_HPP
13
+ #define BOOST_RATIO_RATIO_IO_HPP
14
+
15
+ /*
16
+
17
+ ratio_io synopsis
18
+
19
+ #include <ratio>
20
+ #include <string>
21
+
22
+ namespace boost
23
+ {
24
+
25
+ template <class Ratio, class CharT>
26
+ struct ratio_string
27
+ {
28
+ static basic_string<CharT> prefix();
29
+ static basic_string<CharT> symbol();
30
+ };
31
+
32
+ } // boost
33
+
34
+ */
35
+ #include <boost/ratio/config.hpp>
36
+
37
+ #ifdef BOOST_RATIO_PROVIDES_DEPRECATED_FEATURES_SINCE_V2_0_0
38
+ #include <boost/ratio/detail/ratio_io.hpp>
39
+ #else
40
+
41
+ #include <boost/config.hpp>
42
+ #include <boost/ratio/ratio.hpp>
43
+ #include <boost/type_traits/integral_constant.hpp>
44
+ #include <string>
45
+ #include <sstream>
46
+
47
+
48
+ #if defined(BOOST_NO_CXX11_UNICODE_LITERALS) || defined(BOOST_NO_CXX11_CHAR16_T) || defined(BOOST_NO_CXX11_CHAR32_T) || defined(BOOST_NO_CXX11_U16STRING) || defined(BOOST_NO_CXX11_U32STRING)
49
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
50
+ #undef BOOST_RATIO_HAS_UNICODE_SUPPORT
51
+ #endif
52
+ #else
53
+ #define BOOST_RATIO_HAS_UNICODE_SUPPORT 1
54
+ #endif
55
+
56
+ namespace boost {
57
+
58
+ //template <class Ratio>
59
+ //struct ratio_string_is_localizable : false_type {};
60
+ //template <class Ratio>
61
+ //struct ratio_string_id : integral_constant<int,0> {};
62
+
63
+ template <class Ratio, class CharT>
64
+ struct ratio_string
65
+ {
66
+ static std::basic_string<CharT> symbol() {return prefix();}
67
+ static std::basic_string<CharT> prefix();
68
+ };
69
+
70
+ template <class Ratio, class CharT>
71
+ std::basic_string<CharT>
72
+ ratio_string<Ratio, CharT>::prefix()
73
+ {
74
+ std::basic_ostringstream<CharT> os;
75
+ os << CharT('[') << Ratio::num << CharT('/')
76
+ << Ratio::den << CharT(']');
77
+ return os.str();
78
+ }
79
+
80
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
81
+ namespace ratio_detail {
82
+ template <class Ratio, class CharT>
83
+ struct ratio_string_static
84
+ {
85
+ static std::string symbol() {
86
+ return std::basic_string<CharT>(
87
+ static_string::c_str<
88
+ typename ratio_static_string<Ratio, CharT>::symbol
89
+ >::value);
90
+ }
91
+ static std::string prefix() {
92
+ return std::basic_string<CharT>(
93
+ static_string::c_str<
94
+ typename ratio_static_string<Ratio, CharT>::prefix
95
+ >::value);
96
+ }
97
+ };
98
+ }
99
+ #endif
100
+ // atto
101
+ //template <>
102
+ //struct ratio_string_is_localizable<atto> : true_type {};
103
+ //
104
+ //template <>
105
+ //struct ratio_string_id<atto> : integral_constant<int,-18> {};
106
+
107
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
108
+ template <typename CharT>
109
+ struct ratio_string<atto, CharT> :
110
+ ratio_detail::ratio_string_static<atto,CharT>
111
+ {};
112
+
113
+ #else
114
+ template <>
115
+ struct ratio_string<atto, char>
116
+ {
117
+ static std::string symbol() {return std::string(1, 'a');}
118
+ static std::string prefix() {return std::string("atto");}
119
+ };
120
+
121
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
122
+
123
+ template <>
124
+ struct ratio_string<atto, char16_t>
125
+ {
126
+ static std::u16string symbol() {return std::u16string(1, u'a');}
127
+ static std::u16string prefix() {return std::u16string(u"atto");}
128
+ };
129
+
130
+ template <>
131
+ struct ratio_string<atto, char32_t>
132
+ {
133
+ static std::u32string symbol() {return std::u32string(1, U'a');}
134
+ static std::u32string prefix() {return std::u32string(U"atto");}
135
+ };
136
+
137
+ #endif
138
+
139
+ #ifndef BOOST_NO_STD_WSTRING
140
+ template <>
141
+ struct ratio_string<atto, wchar_t>
142
+ {
143
+ static std::wstring symbol() {return std::wstring(1, L'a');}
144
+ static std::wstring prefix() {return std::wstring(L"atto");}
145
+ };
146
+ #endif
147
+ #endif
148
+
149
+ // femto
150
+
151
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
152
+ template <typename CharT>
153
+ struct ratio_string<femto, CharT> :
154
+ ratio_detail::ratio_string_static<femto,CharT>
155
+ {};
156
+
157
+ #else
158
+
159
+ template <>
160
+ struct ratio_string<femto, char>
161
+ {
162
+ static std::string symbol() {return std::string(1, 'f');}
163
+ static std::string prefix() {return std::string("femto");}
164
+ };
165
+
166
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
167
+
168
+ template <>
169
+ struct ratio_string<femto, char16_t>
170
+ {
171
+ static std::u16string symbol() {return std::u16string(1, u'f');}
172
+ static std::u16string prefix() {return std::u16string(u"femto");}
173
+ };
174
+
175
+ template <>
176
+ struct ratio_string<femto, char32_t>
177
+ {
178
+ static std::u32string symbol() {return std::u32string(1, U'f');}
179
+ static std::u32string prefix() {return std::u32string(U"femto");}
180
+ };
181
+
182
+ #endif
183
+
184
+ #ifndef BOOST_NO_STD_WSTRING
185
+ template <>
186
+ struct ratio_string<femto, wchar_t>
187
+ {
188
+ static std::wstring symbol() {return std::wstring(1, L'f');}
189
+ static std::wstring prefix() {return std::wstring(L"femto");}
190
+ };
191
+ #endif
192
+ #endif
193
+
194
+ // pico
195
+
196
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
197
+ template <typename CharT>
198
+ struct ratio_string<pico, CharT> :
199
+ ratio_detail::ratio_string_static<pico,CharT>
200
+ {};
201
+
202
+ #else
203
+ template <>
204
+ struct ratio_string<pico, char>
205
+ {
206
+ static std::string symbol() {return std::string(1, 'p');}
207
+ static std::string prefix() {return std::string("pico");}
208
+ };
209
+
210
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
211
+
212
+ template <>
213
+ struct ratio_string<pico, char16_t>
214
+ {
215
+ static std::u16string symbol() {return std::u16string(1, u'p');}
216
+ static std::u16string prefix() {return std::u16string(u"pico");}
217
+ };
218
+
219
+ template <>
220
+ struct ratio_string<pico, char32_t>
221
+ {
222
+ static std::u32string symbol() {return std::u32string(1, U'p');}
223
+ static std::u32string prefix() {return std::u32string(U"pico");}
224
+ };
225
+
226
+ #endif
227
+
228
+ #ifndef BOOST_NO_STD_WSTRING
229
+ template <>
230
+ struct ratio_string<pico, wchar_t>
231
+ {
232
+ static std::wstring symbol() {return std::wstring(1, L'p');}
233
+ static std::wstring prefix() {return std::wstring(L"pico");}
234
+ };
235
+ #endif
236
+ #endif
237
+
238
+ // nano
239
+
240
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
241
+ template <typename CharT>
242
+ struct ratio_string<nano, CharT> :
243
+ ratio_detail::ratio_string_static<nano,CharT>
244
+ {};
245
+
246
+ #else
247
+ template <>
248
+ struct ratio_string<nano, char>
249
+ {
250
+ static std::string symbol() {return std::string(1, 'n');}
251
+ static std::string prefix() {return std::string("nano");}
252
+ };
253
+
254
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
255
+
256
+ template <>
257
+ struct ratio_string<nano, char16_t>
258
+ {
259
+ static std::u16string symbol() {return std::u16string(1, u'n');}
260
+ static std::u16string prefix() {return std::u16string(u"nano");}
261
+ };
262
+
263
+ template <>
264
+ struct ratio_string<nano, char32_t>
265
+ {
266
+ static std::u32string symbol() {return std::u32string(1, U'n');}
267
+ static std::u32string prefix() {return std::u32string(U"nano");}
268
+ };
269
+
270
+ #endif
271
+
272
+ #ifndef BOOST_NO_STD_WSTRING
273
+ template <>
274
+ struct ratio_string<nano, wchar_t>
275
+ {
276
+ static std::wstring symbol() {return std::wstring(1, L'n');}
277
+ static std::wstring prefix() {return std::wstring(L"nano");}
278
+ };
279
+ #endif
280
+ #endif
281
+
282
+ // micro
283
+
284
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
285
+ template <typename CharT>
286
+ struct ratio_string<micro, CharT> :
287
+ ratio_detail::ratio_string_static<micro,CharT>
288
+ {};
289
+
290
+ #else
291
+ template <>
292
+ struct ratio_string<micro, char>
293
+ {
294
+ static std::string symbol() {return std::string("\xC2\xB5");}
295
+ static std::string prefix() {return std::string("micro");}
296
+ };
297
+
298
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
299
+
300
+ template <>
301
+ struct ratio_string<micro, char16_t>
302
+ {
303
+ static std::u16string symbol() {return std::u16string(1, u'\xB5');}
304
+ static std::u16string prefix() {return std::u16string(u"micro");}
305
+ };
306
+
307
+ template <>
308
+ struct ratio_string<micro, char32_t>
309
+ {
310
+ static std::u32string symbol() {return std::u32string(1, U'\xB5');}
311
+ static std::u32string prefix() {return std::u32string(U"micro");}
312
+ };
313
+
314
+ #endif
315
+
316
+ #ifndef BOOST_NO_STD_WSTRING
317
+ template <>
318
+ struct ratio_string<micro, wchar_t>
319
+ {
320
+ static std::wstring symbol() {return std::wstring(1, L'\xB5');}
321
+ static std::wstring prefix() {return std::wstring(L"micro");}
322
+ };
323
+ #endif
324
+ #endif
325
+
326
+ // milli
327
+
328
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
329
+ template <typename CharT>
330
+ struct ratio_string<milli, CharT> :
331
+ ratio_detail::ratio_string_static<milli,CharT>
332
+ {};
333
+
334
+ #else
335
+ template <>
336
+ struct ratio_string<milli, char>
337
+ {
338
+ static std::string symbol() {return std::string(1, 'm');}
339
+ static std::string prefix() {return std::string("milli");}
340
+ };
341
+
342
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
343
+
344
+ template <>
345
+ struct ratio_string<milli, char16_t>
346
+ {
347
+ static std::u16string symbol() {return std::u16string(1, u'm');}
348
+ static std::u16string prefix() {return std::u16string(u"milli");}
349
+ };
350
+
351
+ template <>
352
+ struct ratio_string<milli, char32_t>
353
+ {
354
+ static std::u32string symbol() {return std::u32string(1, U'm');}
355
+ static std::u32string prefix() {return std::u32string(U"milli");}
356
+ };
357
+
358
+ #endif
359
+
360
+ #ifndef BOOST_NO_STD_WSTRING
361
+ template <>
362
+ struct ratio_string<milli, wchar_t>
363
+ {
364
+ static std::wstring symbol() {return std::wstring(1, L'm');}
365
+ static std::wstring prefix() {return std::wstring(L"milli");}
366
+ };
367
+ #endif
368
+ #endif
369
+
370
+ // centi
371
+
372
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
373
+ template <typename CharT>
374
+ struct ratio_string<centi, CharT> :
375
+ ratio_detail::ratio_string_static<centi,CharT>
376
+ {};
377
+
378
+ #else
379
+ template <>
380
+ struct ratio_string<centi, char>
381
+ {
382
+ static std::string symbol() {return std::string(1, 'c');}
383
+ static std::string prefix() {return std::string("centi");}
384
+ };
385
+
386
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
387
+
388
+ template <>
389
+ struct ratio_string<centi, char16_t>
390
+ {
391
+ static std::u16string symbol() {return std::u16string(1, u'c');}
392
+ static std::u16string prefix() {return std::u16string(u"centi");}
393
+ };
394
+
395
+ template <>
396
+ struct ratio_string<centi, char32_t>
397
+ {
398
+ static std::u32string symbol() {return std::u32string(1, U'c');}
399
+ static std::u32string prefix() {return std::u32string(U"centi");}
400
+ };
401
+
402
+ #endif
403
+
404
+ #ifndef BOOST_NO_STD_WSTRING
405
+ template <>
406
+ struct ratio_string<centi, wchar_t>
407
+ {
408
+ static std::wstring symbol() {return std::wstring(1, L'c');}
409
+ static std::wstring prefix() {return std::wstring(L"centi");}
410
+ };
411
+ #endif
412
+ #endif
413
+
414
+ // deci
415
+
416
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
417
+ template <typename CharT>
418
+ struct ratio_string<deci, CharT> :
419
+ ratio_detail::ratio_string_static<deci,CharT>
420
+ {};
421
+
422
+ #else
423
+
424
+ template <>
425
+ struct ratio_string<deci, char>
426
+ {
427
+ static std::string symbol() {return std::string(1, 'd');}
428
+ static std::string prefix() {return std::string("deci");}
429
+ };
430
+
431
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
432
+
433
+ template <>
434
+ struct ratio_string<deci, char16_t>
435
+ {
436
+ static std::u16string symbol() {return std::u16string(1, u'd');}
437
+ static std::u16string prefix() {return std::u16string(u"deci");}
438
+ };
439
+
440
+ template <>
441
+ struct ratio_string<deci, char32_t>
442
+ {
443
+ static std::u32string symbol() {return std::u32string(1, U'd');}
444
+ static std::u32string prefix() {return std::u32string(U"deci");}
445
+ };
446
+
447
+ #endif
448
+
449
+ #ifndef BOOST_NO_STD_WSTRING
450
+ template <>
451
+ struct ratio_string<deci, wchar_t>
452
+ {
453
+ static std::wstring symbol() {return std::wstring(1, L'd');}
454
+ static std::wstring prefix() {return std::wstring(L"deci");}
455
+ };
456
+ #endif
457
+ #endif
458
+
459
+ // unit
460
+
461
+ // deca
462
+
463
+
464
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
465
+ template <typename CharT>
466
+ struct ratio_string<deca, CharT> :
467
+ ratio_detail::ratio_string_static<deca,CharT>
468
+ {};
469
+
470
+ #else
471
+ template <>
472
+ struct ratio_string<deca, char>
473
+ {
474
+ static std::string symbol() {return std::string("da");}
475
+ static std::string prefix() {return std::string("deca");}
476
+ };
477
+
478
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
479
+
480
+ template <>
481
+ struct ratio_string<deca, char16_t>
482
+ {
483
+ static std::u16string symbol() {return std::u16string(u"da");}
484
+ static std::u16string prefix() {return std::u16string(u"deca");}
485
+ };
486
+
487
+ template <>
488
+ struct ratio_string<deca, char32_t>
489
+ {
490
+ static std::u32string symbol() {return std::u32string(U"da");}
491
+ static std::u32string prefix() {return std::u32string(U"deca");}
492
+ };
493
+
494
+ #endif
495
+
496
+ #ifndef BOOST_NO_STD_WSTRING
497
+ template <>
498
+ struct ratio_string<deca, wchar_t>
499
+ {
500
+ static std::wstring symbol() {return std::wstring(L"da");}
501
+ static std::wstring prefix() {return std::wstring(L"deca");}
502
+ };
503
+ #endif
504
+ #endif
505
+
506
+ // hecto
507
+
508
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
509
+ template <typename CharT>
510
+ struct ratio_string<hecto, CharT> :
511
+ ratio_detail::ratio_string_static<hecto,CharT>
512
+ {};
513
+
514
+ #else
515
+ template <>
516
+ struct ratio_string<hecto, char>
517
+ {
518
+ static std::string symbol() {return std::string(1, 'h');}
519
+ static std::string prefix() {return std::string("hecto");}
520
+ };
521
+
522
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
523
+
524
+ template <>
525
+ struct ratio_string<hecto, char16_t>
526
+ {
527
+ static std::u16string symbol() {return std::u16string(1, u'h');}
528
+ static std::u16string prefix() {return std::u16string(u"hecto");}
529
+ };
530
+
531
+ template <>
532
+ struct ratio_string<hecto, char32_t>
533
+ {
534
+ static std::u32string symbol() {return std::u32string(1, U'h');}
535
+ static std::u32string prefix() {return std::u32string(U"hecto");}
536
+ };
537
+
538
+ #endif
539
+
540
+ #ifndef BOOST_NO_STD_WSTRING
541
+ template <>
542
+ struct ratio_string<hecto, wchar_t>
543
+ {
544
+ static std::wstring symbol() {return std::wstring(1, L'h');}
545
+ static std::wstring prefix() {return std::wstring(L"hecto");}
546
+ };
547
+ #endif
548
+ #endif
549
+
550
+ // kilo
551
+
552
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
553
+ template <typename CharT>
554
+ struct ratio_string<kilo, CharT> :
555
+ ratio_detail::ratio_string_static<kilo,CharT>
556
+ {};
557
+
558
+ #else
559
+ template <>
560
+ struct ratio_string<kilo, char>
561
+ {
562
+ static std::string symbol() {return std::string(1, 'k');}
563
+ static std::string prefix() {return std::string("kilo");}
564
+ };
565
+
566
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
567
+
568
+ template <>
569
+ struct ratio_string<kilo, char16_t>
570
+ {
571
+ static std::u16string symbol() {return std::u16string(1, u'k');}
572
+ static std::u16string prefix() {return std::u16string(u"kilo");}
573
+ };
574
+
575
+ template <>
576
+ struct ratio_string<kilo, char32_t>
577
+ {
578
+ static std::u32string symbol() {return std::u32string(1, U'k');}
579
+ static std::u32string prefix() {return std::u32string(U"kilo");}
580
+ };
581
+
582
+ #endif
583
+
584
+ #ifndef BOOST_NO_STD_WSTRING
585
+ template <>
586
+ struct ratio_string<kilo, wchar_t>
587
+ {
588
+ static std::wstring symbol() {return std::wstring(1, L'k');}
589
+ static std::wstring prefix() {return std::wstring(L"kilo");}
590
+ };
591
+ #endif
592
+ #endif
593
+
594
+ // mega
595
+
596
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
597
+ template <typename CharT>
598
+ struct ratio_string<mega, CharT> :
599
+ ratio_detail::ratio_string_static<mega,CharT>
600
+ {};
601
+
602
+ #else
603
+
604
+ template <>
605
+ struct ratio_string<mega, char>
606
+ {
607
+ static std::string symbol() {return std::string(1, 'M');}
608
+ static std::string prefix() {return std::string("mega");}
609
+ };
610
+
611
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
612
+
613
+ template <>
614
+ struct ratio_string<mega, char16_t>
615
+ {
616
+ static std::u16string symbol() {return std::u16string(1, u'M');}
617
+ static std::u16string prefix() {return std::u16string(u"mega");}
618
+ };
619
+
620
+ template <>
621
+ struct ratio_string<mega, char32_t>
622
+ {
623
+ static std::u32string symbol() {return std::u32string(1, U'M');}
624
+ static std::u32string prefix() {return std::u32string(U"mega");}
625
+ };
626
+
627
+ #endif
628
+
629
+ #ifndef BOOST_NO_STD_WSTRING
630
+ template <>
631
+ struct ratio_string<mega, wchar_t>
632
+ {
633
+ static std::wstring symbol() {return std::wstring(1, L'M');}
634
+ static std::wstring prefix() {return std::wstring(L"mega");}
635
+ };
636
+ #endif
637
+ #endif
638
+
639
+ // giga
640
+
641
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
642
+ template <typename CharT>
643
+ struct ratio_string<giga, CharT> :
644
+ ratio_detail::ratio_string_static<giga,CharT>
645
+ {};
646
+
647
+ #else
648
+
649
+ template <>
650
+ struct ratio_string<giga, char>
651
+ {
652
+ static std::string symbol() {return std::string(1, 'G');}
653
+ static std::string prefix() {return std::string("giga");}
654
+ };
655
+
656
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
657
+
658
+ template <>
659
+ struct ratio_string<giga, char16_t>
660
+ {
661
+ static std::u16string symbol() {return std::u16string(1, u'G');}
662
+ static std::u16string prefix() {return std::u16string(u"giga");}
663
+ };
664
+
665
+ template <>
666
+ struct ratio_string<giga, char32_t>
667
+ {
668
+ static std::u32string symbol() {return std::u32string(1, U'G');}
669
+ static std::u32string prefix() {return std::u32string(U"giga");}
670
+ };
671
+
672
+ #endif
673
+
674
+ #ifndef BOOST_NO_STD_WSTRING
675
+ template <>
676
+ struct ratio_string<giga, wchar_t>
677
+ {
678
+ static std::wstring symbol() {return std::wstring(1, L'G');}
679
+ static std::wstring prefix() {return std::wstring(L"giga");}
680
+ };
681
+ #endif
682
+ #endif
683
+
684
+ // tera
685
+
686
+ //template <>
687
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
688
+ template <typename CharT>
689
+ struct ratio_string<tera, CharT> :
690
+ ratio_detail::ratio_string_static<tera,CharT>
691
+ {};
692
+
693
+ #else
694
+ template <>
695
+ struct ratio_string<tera, char>
696
+ {
697
+ static std::string symbol() {return std::string(1, 'T');}
698
+ static std::string prefix() {return std::string("tera");}
699
+ };
700
+
701
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
702
+
703
+ template <>
704
+ struct ratio_string<tera, char16_t>
705
+ {
706
+ static std::u16string symbol() {return std::u16string(1, u'T');}
707
+ static std::u16string prefix() {return std::u16string(u"tera");}
708
+ };
709
+
710
+ template <>
711
+ struct ratio_string<tera, char32_t>
712
+ {
713
+ static std::u32string symbol() {return std::u32string(1, U'T');}
714
+ static std::u32string prefix() {return std::u32string(U"tera");}
715
+ };
716
+
717
+ #endif
718
+
719
+ #ifndef BOOST_NO_STD_WSTRING
720
+ template <>
721
+ struct ratio_string<tera, wchar_t>
722
+ {
723
+ static std::wstring symbol() {return std::wstring(1, L'T');}
724
+ static std::wstring prefix() {return std::wstring(L"tera");}
725
+ };
726
+ #endif
727
+ #endif
728
+
729
+ // peta
730
+
731
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
732
+ template <typename CharT>
733
+ struct ratio_string<peta, CharT> :
734
+ ratio_detail::ratio_string_static<peta,CharT>
735
+ {};
736
+
737
+ #else
738
+ template <>
739
+ struct ratio_string<peta, char>
740
+ {
741
+ static std::string symbol() {return std::string(1, 'P');}
742
+ static std::string prefix() {return std::string("peta");}
743
+ };
744
+
745
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
746
+
747
+ template <>
748
+ struct ratio_string<peta, char16_t>
749
+ {
750
+ static std::u16string symbol() {return std::u16string(1, u'P');}
751
+ static std::u16string prefix() {return std::u16string(u"peta");}
752
+ };
753
+
754
+ template <>
755
+ struct ratio_string<peta, char32_t>
756
+ {
757
+ static std::u32string symbol() {return std::u32string(1, U'P');}
758
+ static std::u32string prefix() {return std::u32string(U"peta");}
759
+ };
760
+
761
+ #endif
762
+
763
+ #ifndef BOOST_NO_STD_WSTRING
764
+ template <>
765
+ struct ratio_string<peta, wchar_t>
766
+ {
767
+ static std::wstring symbol() {return std::wstring(1, L'P');}
768
+ static std::wstring prefix() {return std::wstring(L"peta");}
769
+ };
770
+ #endif
771
+ #endif
772
+
773
+ // exa
774
+
775
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
776
+ template <typename CharT>
777
+ struct ratio_string<exa, CharT> :
778
+ ratio_detail::ratio_string_static<exa,CharT>
779
+ {};
780
+
781
+ #else
782
+ template <>
783
+ struct ratio_string<exa, char>
784
+ {
785
+ static std::string symbol() {return std::string(1, 'E');}
786
+ static std::string prefix() {return std::string("exa");}
787
+ };
788
+
789
+ #if defined BOOST_RATIO_HAS_UNICODE_SUPPORT
790
+
791
+ template <>
792
+ struct ratio_string<exa, char16_t>
793
+ {
794
+ static std::u16string symbol() {return std::u16string(1, u'E');}
795
+ static std::u16string prefix() {return std::u16string(u"exa");}
796
+ };
797
+
798
+ template <>
799
+ struct ratio_string<exa, char32_t>
800
+ {
801
+ static std::u32string symbol() {return std::u32string(1, U'E');}
802
+ static std::u32string prefix() {return std::u32string(U"exa");}
803
+ };
804
+
805
+ #endif
806
+
807
+ #ifndef BOOST_NO_STD_WSTRING
808
+ template <>
809
+ struct ratio_string<exa, wchar_t>
810
+ {
811
+ static std::wstring symbol() {return std::wstring(1, L'E');}
812
+ static std::wstring prefix() {return std::wstring(L"exa");}
813
+ };
814
+ #endif
815
+ #endif
816
+
817
+
818
+ #ifdef BOOST_RATIO_EXTENSIONS
819
+
820
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
821
+ template <typename CharT>
822
+ struct ratio_string<kibi, CharT> :
823
+ ratio_detail::ratio_string_static<kibi,CharT>
824
+ {};
825
+
826
+ #else
827
+ template <>
828
+ struct ratio_string<kibi, char>
829
+ {
830
+ static std::string symbol() {return std::string("Ki");}
831
+ static std::string prefix() {return std::string("kibi");}
832
+ };
833
+
834
+ #if BOOST_RATIO_HAS_UNICODE_SUPPORT
835
+
836
+ template <>
837
+ struct ratio_string<kibi, char16_t>
838
+ {
839
+ static std::u16string symbol() {return std::u16string(u"Ki");}
840
+ static std::u16string prefix() {return std::u16string(u"kibi");}
841
+ };
842
+
843
+ template <>
844
+ struct ratio_string<kibi, char32_t>
845
+ {
846
+ static std::u32string symbol() {return std::u32string(U"Ki");}
847
+ static std::u32string prefix() {return std::u32string(U"kibi");}
848
+ };
849
+
850
+ #endif
851
+
852
+ #ifndef BOOST_NO_STD_WSTRING
853
+ template <>
854
+ struct ratio_string<kibi, wchar_t>
855
+ {
856
+ static std::wstring symbol() {return std::wstring(L"Ki");}
857
+ static std::wstring prefix() {return std::wstring(L"kibi");}
858
+ };
859
+ #endif
860
+ #endif
861
+
862
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
863
+ template <typename CharT>
864
+ struct ratio_string<mebi, CharT> :
865
+ ratio_detail::ratio_string_static<mebi,CharT>
866
+ {};
867
+
868
+ #else
869
+ template <>
870
+ struct ratio_string<mebi, char>
871
+ {
872
+ static std::string symbol() {return std::string("Mi");}
873
+ static std::string prefix() {return std::string("mebi");}
874
+ };
875
+
876
+ #if BOOST_RATIO_HAS_UNICODE_SUPPORT
877
+
878
+ template <>
879
+ struct ratio_string<mebi, char16_t>
880
+ {
881
+ static std::u16string symbol() {return std::u16string(u"Mi");}
882
+ static std::u16string prefix() {return std::u16string(u"mebi");}
883
+ };
884
+
885
+ template <>
886
+ struct ratio_string<mebi, char32_t>
887
+ {
888
+ static std::u32string symbol() {return std::u32string(U"Mi");}
889
+ static std::u32string prefix() {return std::u32string(U"mebi");}
890
+ };
891
+
892
+ #endif
893
+
894
+ #ifndef BOOST_NO_STD_WSTRING
895
+ template <>
896
+ struct ratio_string<mebi, wchar_t>
897
+ {
898
+ static std::wstring symbol() {return std::wstring(L"Mi");}
899
+ static std::wstring prefix() {return std::wstring(L"mebi");}
900
+ };
901
+ #endif
902
+ #endif
903
+
904
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
905
+ template <typename CharT>
906
+ struct ratio_string<gibi, CharT> :
907
+ ratio_detail::ratio_string_static<gibi,CharT>
908
+ {};
909
+
910
+ #else
911
+ template <>
912
+ struct ratio_string<gibi, char>
913
+ {
914
+ static std::string symbol() {return std::string("Gi");}
915
+ static std::string prefix() {return std::string("gibi");}
916
+ };
917
+
918
+ #if BOOST_RATIO_HAS_UNICODE_SUPPORT
919
+
920
+ template <>
921
+ struct ratio_string<gibi, char16_t>
922
+ {
923
+ static std::u16string symbol() {return std::u16string(u"Gi");}
924
+ static std::u16string prefix() {return std::u16string(u"gibi");}
925
+ };
926
+
927
+ template <>
928
+ struct ratio_string<gibi, char32_t>
929
+ {
930
+ static std::u32string symbol() {return std::u32string(U"Gi");}
931
+ static std::u32string prefix() {return std::u32string(U"gibi");}
932
+ };
933
+
934
+ #endif
935
+
936
+ #ifndef BOOST_NO_STD_WSTRING
937
+ template <>
938
+ struct ratio_string<gibi, wchar_t>
939
+ {
940
+ static std::wstring symbol() {return std::wstring(L"Gi");}
941
+ static std::wstring prefix() {return std::wstring(L"gibi");}
942
+ };
943
+ #endif
944
+ #endif
945
+
946
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
947
+ template <typename CharT>
948
+ struct ratio_string<tebi, CharT> :
949
+ ratio_detail::ratio_string_static<tebi,CharT>
950
+ {};
951
+
952
+ #else
953
+ template <>
954
+ struct ratio_string<tebi, char>
955
+ {
956
+ static std::string symbol() {return std::string("Ti");}
957
+ static std::string prefix() {return std::string("tebi");}
958
+ };
959
+
960
+ #if BOOST_RATIO_HAS_UNICODE_SUPPORT
961
+
962
+ template <>
963
+ struct ratio_string<tebi, char16_t>
964
+ {
965
+ static std::u16string symbol() {return std::u16string(u"Ti");}
966
+ static std::u16string prefix() {return std::u16string(u"tebi");}
967
+ };
968
+
969
+ template <>
970
+ struct ratio_string<tebi, char32_t>
971
+ {
972
+ static std::u32string symbol() {return std::u32string(U"Ti");}
973
+ static std::u32string prefix() {return std::u32string(U"tebi");}
974
+ };
975
+
976
+ #endif
977
+
978
+ #ifndef BOOST_NO_STD_WSTRING
979
+ template <>
980
+ struct ratio_string<tebi, wchar_t>
981
+ {
982
+ static std::wstring symbol() {return std::wstring(L"Ti");}
983
+ static std::wstring prefix() {return std::wstring(L"tebi");}
984
+ };
985
+ #endif
986
+ #endif
987
+
988
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
989
+ template <typename CharT>
990
+ struct ratio_string<pebi, CharT> :
991
+ ratio_detail::ratio_string_static<pebi,CharT>
992
+ {};
993
+
994
+ #else
995
+ template <>
996
+ struct ratio_string<pebi, char>
997
+ {
998
+ static std::string symbol() {return std::string("Pi");}
999
+ static std::string prefix() {return std::string("pebi");}
1000
+ };
1001
+
1002
+ #if BOOST_RATIO_HAS_UNICODE_SUPPORT
1003
+
1004
+ template <>
1005
+ struct ratio_string<pebi, char16_t>
1006
+ {
1007
+ static std::u16string symbol() {return std::u16string(u"Pi");}
1008
+ static std::u16string prefix() {return std::u16string(u"pebi");}
1009
+ };
1010
+
1011
+ template <>
1012
+ struct ratio_string<pebi, char32_t>
1013
+ {
1014
+ static std::u32string symbol() {return std::u32string(U"Pi");}
1015
+ static std::u32string prefix() {return std::u32string(U"pebi");}
1016
+ };
1017
+
1018
+ #endif
1019
+
1020
+ #ifndef BOOST_NO_STD_WSTRING
1021
+ template <>
1022
+ struct ratio_string<pebi, wchar_t>
1023
+ {
1024
+ static std::wstring symbol() {return std::wstring(L"Pi");}
1025
+ static std::wstring prefix() {return std::wstring(L"pebi");}
1026
+ };
1027
+ #endif
1028
+ #endif
1029
+
1030
+ #ifdef BOOST_RATIO_HAS_STATIC_STRING
1031
+ template <typename CharT>
1032
+ struct ratio_string<exbi, CharT> :
1033
+ ratio_detail::ratio_string_static<exbi,CharT>
1034
+ {};
1035
+
1036
+ #else
1037
+ template <>
1038
+ struct ratio_string<exbi, char>
1039
+ {
1040
+ static std::string symbol() {return std::string("Ei");}
1041
+ static std::string prefix() {return std::string("exbi");}
1042
+ };
1043
+
1044
+ #if BOOST_RATIO_HAS_UNICODE_SUPPORT
1045
+
1046
+ template <>
1047
+ struct ratio_string<exbi, char16_t>
1048
+ {
1049
+ static std::u16string symbol() {return std::u16string(u"Ei");}
1050
+ static std::u16string prefix() {return std::u16string(u"exbi");}
1051
+ };
1052
+
1053
+ template <>
1054
+ struct ratio_string<exbi, char32_t>
1055
+ {
1056
+ static std::u32string symbol() {return std::u32string(U"Ei");}
1057
+ static std::u32string prefix() {return std::u32string(U"exbi");}
1058
+ };
1059
+
1060
+ #endif
1061
+
1062
+ #ifndef BOOST_NO_STD_WSTRING
1063
+ template <>
1064
+ struct ratio_string<exbi, wchar_t>
1065
+ {
1066
+ static std::wstring symbol() {return std::wstring(L"Ei");}
1067
+ static std::wstring prefix() {return std::wstring(L"exbi");}
1068
+ };
1069
+ #endif
1070
+ #endif
1071
+ #endif
1072
+
1073
+ }
1074
+
1075
+ #endif // BOOST_RATIO_PROVIDES_DEPRECATED_FEATURES_SINCE_V2_0_0
1076
+ #endif // BOOST_RATIO_RATIO_IO_HPP