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