passenger 6.2.0 → 6.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +69 -15
- data/CONTRIBUTING.md +7 -311
- data/CONTRIBUTORS +1 -0
- data/LICENSE +1 -1
- data/README.md +1 -1
- data/Rakefile +1 -1
- data/bin/passenger +1 -1
- data/bin/passenger-config +1 -1
- data/bin/passenger-install-apache2-module +1 -1
- data/bin/passenger-install-nginx-module +4 -9
- data/bin/passenger-memory-stats +1 -1
- data/bin/passenger-status +1 -1
- data/build/agent.rb +13 -15
- data/build/apache2.rb +13 -16
- data/build/basics.rb +10 -13
- data/build/common_library.rb +5 -9
- data/build/cxx_tests.rb +39 -12
- data/build/integration_tests.rb +5 -2
- data/build/misc.rb +1 -1
- data/build/nginx.rb +1 -1
- data/build/node_tests.rb +1 -1
- data/build/oxt_tests.rb +6 -8
- data/build/packaging.rb +1 -1
- data/build/ruby_extension.rb +1 -1
- data/build/ruby_tests.rb +1 -1
- data/build/schema_printer.rb +13 -15
- data/build/support/cplusplus.rb +61 -69
- data/build/support/cxx_dependency_map.rb +5 -64
- data/build/support/general.rb +1 -1
- data/build/support/vendor/cxx_hinted_parser/LICENSE.md +1 -1
- data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +1 -1
- data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser.rb +1 -1
- data/build/support/vendor/cxxcodebuilder/LICENSE.md +1 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/initializer_builder.rb +1 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder.rb +1 -1
- data/build/test_basics.rb +1 -1
- data/dev/copy_boost_headers +1 -1
- data/dev/index_cxx_dependencies.rb +5 -1
- data/dev/libev-changes.patch +108 -0
- data/dev/nginx_version_sha256 +1 -1
- data/dev/ruby_server.rb +1 -6
- data/dev/upgrading_libuv.sh +16 -0
- data/doc/BasicArchitectureOverview.md +55 -0
- data/doc/BuildCaching.md +23 -0
- data/doc/BuildSystem.md +49 -0
- data/doc/DebuggingAndStressTesting.md +2 -0
- data/doc/DesignAspects/LimitedGemDependencies.md +1 -0
- data/doc/DevEnvironmentSetup.md +46 -0
- data/doc/DevHandbook.md +28 -0
- data/doc/Packaging.md +1 -1
- data/doc/RunningTests.md +88 -0
- data/doc/{TempFileHandling.md → SecureTempFileHandling.md} +1 -1
- data/doc/{CxxTestingGuide.md → WritingCxxTests.md} +1 -20
- data/src/agent/AgentMain.cpp +1 -1
- data/src/agent/Core/ApiServer.h +1 -1
- data/src/agent/Core/ApplicationPool/AbstractSession.h +1 -1
- data/src/agent/Core/ApplicationPool/BasicGroupInfo.h +1 -1
- data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +1 -1
- data/src/agent/Core/ApplicationPool/Common.h +1 -1
- data/src/agent/Core/ApplicationPool/Context.h +1 -1
- data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/Verification.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group.h +1 -1
- data/src/agent/Core/ApplicationPool/Implementation.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Options.h +1 -1
- data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool.h +1 -1
- data/src/agent/Core/ApplicationPool/Process.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Process.h +1 -1
- data/src/agent/Core/ApplicationPool/Session.h +1 -1
- data/src/agent/Core/ApplicationPool/Socket.h +1 -1
- data/src/agent/Core/ApplicationPool/TestSession.h +1 -1
- data/src/agent/Core/Config.h +3 -2
- data/src/agent/Core/ConfigChange.cpp +1 -1
- data/src/agent/Core/ConfigChange.h +1 -1
- data/src/agent/Core/Controller/AppResponse.h +1 -1
- data/src/agent/Core/Controller/BufferBody.cpp +1 -1
- data/src/agent/Core/Controller/CheckoutSession.cpp +8 -5
- data/src/agent/Core/Controller/Client.h +1 -1
- data/src/agent/Core/Controller/Config.cpp +1 -1
- data/src/agent/Core/Controller/Config.h +2 -2
- data/src/agent/Core/Controller/ForwardResponse.cpp +2 -2
- data/src/agent/Core/Controller/Hooks.cpp +12 -9
- data/src/agent/Core/Controller/Implementation.cpp +1 -1
- data/src/agent/Core/Controller/InitRequest.cpp +1 -1
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -1
- data/src/agent/Core/Controller/InternalUtils.cpp +1 -1
- data/src/agent/Core/Controller/Miscellaneous.cpp +1 -1
- data/src/agent/Core/Controller/Request.h +1 -1
- data/src/agent/Core/Controller/SendRequest.cpp +1 -1
- data/src/agent/Core/Controller/StateInspection.cpp +1 -1
- data/src/agent/Core/Controller/TurboCaching.h +1 -1
- data/src/agent/Core/Controller.h +1 -1
- data/src/agent/Core/CoreMain.cpp +1 -1
- data/src/agent/Core/OptionParser.h +1 -1
- data/src/agent/Core/ResponseCache.h +1 -1
- data/src/agent/Core/SecurityUpdateChecker.h +1 -1
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h.cxxcodebuilder +1 -1
- data/src/agent/Core/SpawningKit/Config.h +1 -1
- data/src/agent/Core/SpawningKit/Context.h +1 -1
- data/src/agent/Core/SpawningKit/DirectSpawner.h +1 -1
- data/src/agent/Core/SpawningKit/DummySpawner.h +1 -1
- data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
- data/src/agent/Core/SpawningKit/Exceptions.h +63 -2
- data/src/agent/Core/SpawningKit/Factory.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +3 -2
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Session.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
- data/src/agent/Core/SpawningKit/Journey.h +1 -1
- data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
- data/src/agent/Core/SpawningKit/README.md +3 -3
- data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
- data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h.cxxcodebuilder +1 -1
- data/src/agent/Core/SpawningKit/Result.h +1 -1
- data/src/agent/Core/SpawningKit/SmartSpawner.h +17 -17
- data/src/agent/Core/SpawningKit/Spawner.h +1 -1
- data/src/agent/Core/SpawningKit/UserSwitchingRules.h +1 -1
- data/src/agent/Core/TelemetryCollector.h +1 -1
- data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
- data/src/agent/FileReadHelper/FileReadHelperMain.cpp +1 -1
- data/src/agent/MainFunctions.h +1 -1
- data/src/agent/Shared/ApiAccountUtils.h +4 -3
- data/src/agent/Shared/ApiServerUtils.h +2 -3
- data/src/agent/Shared/ApplicationPoolApiKey.h +1 -1
- data/src/agent/Shared/Fundamentals/AbortHandler.cpp +1 -1
- data/src/agent/Shared/Fundamentals/AbortHandler.h +1 -1
- data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -1
- data/src/agent/Shared/Fundamentals/Initialization.h +1 -1
- data/src/agent/Shared/Fundamentals/Utils.cpp +1 -1
- data/src/agent/Shared/Fundamentals/Utils.h +1 -1
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
- data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -1
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +1 -1
- data/src/agent/Watchdog/ApiServer.h +7 -6
- data/src/agent/Watchdog/Config.h +2 -2
- data/src/apache2_module/Bucket.cpp +1 -1
- data/src/apache2_module/Bucket.h +1 -1
- data/src/apache2_module/CBindings.cpp +1 -1
- data/src/apache2_module/Config.cpp +1 -1
- data/src/apache2_module/Config.h +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +104 -104
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +2 -2
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/ConfigGeneral/Common.h +1 -1
- data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +1 -1
- data/src/apache2_module/ConfigGeneral/SetterFuncs.h +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
- data/src/apache2_module/DirectoryMapper.h +1 -1
- data/src/apache2_module/Hooks.cpp +21 -2
- data/src/apache2_module/Hooks.h +1 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +1 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +1 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
- data/src/apache2_module/Utils.h +15 -1
- data/src/apache2_module/mod_passenger.c +1 -1
- data/src/cxx_supportlib/Algorithms/Hasher.cpp +1 -1
- data/src/cxx_supportlib/Algorithms/Hasher.h +1 -1
- data/src/cxx_supportlib/Algorithms/MovingAverage.h +1 -1
- data/src/cxx_supportlib/AppLocalConfigFileUtils.h +1 -1
- data/src/cxx_supportlib/AppTypeDetector/CBindings.cpp +1 -1
- data/src/cxx_supportlib/AppTypeDetector/CBindings.h +1 -1
- data/src/cxx_supportlib/AppTypeDetector/Detector.h +1 -1
- data/src/cxx_supportlib/BackgroundEventLoop.cpp +1 -1
- data/src/cxx_supportlib/BackgroundEventLoop.h +1 -1
- data/src/cxx_supportlib/ConfigKit/AsyncUtils.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Common.h +1 -1
- data/src/cxx_supportlib/ConfigKit/ConfigKit.h +1 -1
- data/src/cxx_supportlib/ConfigKit/DummyTranslator.h +1 -1
- data/src/cxx_supportlib/ConfigKit/IN_PRACTICE.md +1 -3
- data/src/cxx_supportlib/ConfigKit/PrefixTranslator.h +3 -3
- data/src/cxx_supportlib/ConfigKit/Schema.h +1 -1
- data/src/cxx_supportlib/ConfigKit/SchemaUtils.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Store.h +1 -1
- data/src/cxx_supportlib/ConfigKit/SubComponentUtils.h +1 -1
- data/src/cxx_supportlib/ConfigKit/TableTranslator.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Translator.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Utils.h +1 -1
- data/src/cxx_supportlib/Constants.h +2 -2
- data/src/cxx_supportlib/Constants.h.cxxcodebuilder +1 -1
- data/src/cxx_supportlib/DataStructures/HashedStaticString.h +1 -1
- data/src/cxx_supportlib/DataStructures/LString.cpp +1 -1
- data/src/cxx_supportlib/DataStructures/LString.h +1 -1
- data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -1
- data/src/cxx_supportlib/DataStructures/StringMap.h +1 -1
- data/src/cxx_supportlib/Exceptions.cpp +1 -1
- data/src/cxx_supportlib/Exceptions.h +1 -1
- data/src/cxx_supportlib/FileDescriptor.h +1 -1
- data/src/cxx_supportlib/FileTools/FileManip.cpp +28 -4
- data/src/cxx_supportlib/FileTools/FileManip.h +1 -1
- data/src/cxx_supportlib/FileTools/PathManip.cpp +1 -1
- data/src/cxx_supportlib/FileTools/PathManip.h +1 -1
- data/src/cxx_supportlib/FileTools/PathManipCBindings.cpp +1 -1
- data/src/cxx_supportlib/FileTools/PathManipCBindings.h +1 -1
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.h +1 -1
- data/src/cxx_supportlib/Hooks.h +1 -1
- data/src/cxx_supportlib/IOTools/BufferedIO.h +1 -1
- data/src/cxx_supportlib/IOTools/IOUtils.cpp +10 -10
- data/src/cxx_supportlib/IOTools/IOUtils.h +1 -1
- data/src/cxx_supportlib/IOTools/MessageIO.h +1 -1
- data/src/cxx_supportlib/IOTools/MessageSerialization.h +1 -1
- data/src/cxx_supportlib/InstanceDirectory.h +31 -4
- data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +1 -1
- data/src/cxx_supportlib/JsonTools/Autocast.h +1 -1
- data/src/cxx_supportlib/JsonTools/CBindings.cpp +1 -1
- data/src/cxx_supportlib/JsonTools/CBindings.h +1 -1
- data/src/cxx_supportlib/JsonTools/JsonUtils.h +1 -1
- data/src/cxx_supportlib/LoggingKit/Assert.h +1 -1
- data/src/cxx_supportlib/LoggingKit/Config.h +2 -1
- data/src/cxx_supportlib/LoggingKit/Context.h +1 -1
- data/src/cxx_supportlib/LoggingKit/Forward.h +1 -1
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +11 -1
- data/src/cxx_supportlib/LoggingKit/Logging.h +1 -1
- data/src/cxx_supportlib/LoggingKit/LoggingKit.h +1 -1
- data/src/cxx_supportlib/LveLoggingDecorator.h +1 -1
- data/src/cxx_supportlib/MemoryKit/mbuf.cpp +1 -1
- data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
- data/src/cxx_supportlib/MemoryKit/palloc.cpp +1 -1
- data/src/cxx_supportlib/MemoryKit/palloc.h +1 -1
- data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +1 -1
- data/src/cxx_supportlib/ProcessManagement/Ruby.h +1 -1
- data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +1 -1
- data/src/cxx_supportlib/ProcessManagement/Spawn.h +1 -1
- data/src/cxx_supportlib/ProcessManagement/Utils.cpp +1 -1
- data/src/cxx_supportlib/ProcessManagement/Utils.h +1 -1
- data/src/cxx_supportlib/RandomGenerator.h +1 -1
- data/src/cxx_supportlib/ResourceLocator.h +1 -1
- data/src/cxx_supportlib/SafeLibev.h +1 -1
- data/src/cxx_supportlib/SecurityKit/Crypto.cpp +9 -27
- data/src/cxx_supportlib/SecurityKit/Crypto.h +2 -2
- data/src/cxx_supportlib/SecurityKit/MemZeroGuard.h +1 -1
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +1 -1
- data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
- data/src/cxx_supportlib/ServerKit/Client.h +1 -1
- data/src/cxx_supportlib/ServerKit/ClientRef.h +1 -1
- data/src/cxx_supportlib/ServerKit/Config.h +1 -1
- data/src/cxx_supportlib/ServerKit/Context.h +1 -1
- data/src/cxx_supportlib/ServerKit/CookieUtils.h +1 -1
- data/src/cxx_supportlib/ServerKit/Errors.h +2 -2
- data/src/cxx_supportlib/ServerKit/FdSinkChannel.h +1 -1
- data/src/cxx_supportlib/ServerKit/FdSourceChannel.h +1 -1
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +54 -2
- data/src/cxx_supportlib/ServerKit/FileBufferedFdSinkChannel.h +1 -1
- data/src/cxx_supportlib/ServerKit/HeaderTable.h +1 -1
- data/src/cxx_supportlib/ServerKit/Hooks.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParserState.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpClient.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpRequest.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpServer.h +1 -1
- data/src/cxx_supportlib/ServerKit/Implementation.cpp +1 -1
- data/src/cxx_supportlib/ServerKit/Server.h +4 -2
- data/src/cxx_supportlib/ServerKit/llerrors.h +3 -3
- data/src/cxx_supportlib/ServerKit/llversion.h +1 -1
- data/src/cxx_supportlib/StaticString.h +1 -1
- data/src/cxx_supportlib/StrIntTools/DateParsing.h +1 -1
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +1 -1
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +1 -1
- data/src/cxx_supportlib/StrIntTools/StrIntUtilsNoStrictAliasing.cpp +1 -1
- data/src/cxx_supportlib/StrIntTools/StringScanning.h +1 -1
- data/src/cxx_supportlib/StrIntTools/Template.h +1 -1
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +1 -1
- data/src/cxx_supportlib/SystemTools/ProcessMetricsCollector.h +1 -1
- data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +1 -1
- data/src/cxx_supportlib/SystemTools/SystemTime.cpp +1 -1
- data/src/cxx_supportlib/SystemTools/SystemTime.h +1 -1
- data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +1 -1
- data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
- data/src/cxx_supportlib/Utils/AnsiColorConstants.h +1 -1
- data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +1 -1
- data/src/cxx_supportlib/Utils/BlockingQueue.h +1 -1
- data/src/cxx_supportlib/Utils/CachedFileStat.cpp +1 -1
- data/src/cxx_supportlib/Utils/CachedFileStat.h +1 -1
- data/src/cxx_supportlib/Utils/CachedFileStat.hpp +1 -1
- data/src/cxx_supportlib/Utils/ClassUtils.h +1 -1
- data/src/cxx_supportlib/Utils/Curl.h +1 -1
- data/src/cxx_supportlib/Utils/FastStringStream.h +1 -1
- data/src/cxx_supportlib/Utils/FileChangeChecker.h +1 -1
- data/src/cxx_supportlib/Utils/HttpConstants.h +1 -1
- data/src/cxx_supportlib/Utils/IniFile.h +1 -1
- data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
- data/src/cxx_supportlib/Utils/OptionParsing.h +1 -1
- data/src/cxx_supportlib/Utils/ReleaseableScopedPointer.h +1 -1
- data/src/cxx_supportlib/Utils/ScopeGuard.h +1 -1
- data/src/cxx_supportlib/Utils/SpeedMeter.h +1 -1
- data/src/cxx_supportlib/Utils/Timer.h +1 -1
- data/src/cxx_supportlib/Utils/VariantMap.h +1 -1
- data/src/cxx_supportlib/Utils.cpp +1 -1
- data/src/cxx_supportlib/Utils.h +1 -1
- data/src/cxx_supportlib/WatchdogLauncher.cpp +1 -1
- data/src/cxx_supportlib/WatchdogLauncher.h +1 -1
- data/src/cxx_supportlib/WrapperRegistry/CBindings.cpp +1 -1
- data/src/cxx_supportlib/WrapperRegistry/CBindings.h +1 -1
- data/src/cxx_supportlib/WrapperRegistry/Entry.h +1 -1
- data/src/cxx_supportlib/WrapperRegistry/Registry.h +1 -1
- data/src/cxx_supportlib/oxt/backtrace.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/backtrace_enabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/context.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +1 -1
- data/src/cxx_supportlib/oxt/implementation.cpp +1 -1
- data/src/cxx_supportlib/oxt/initialize.hpp +1 -1
- data/src/cxx_supportlib/oxt/macros.hpp +1 -1
- data/src/cxx_supportlib/oxt/spin_lock.hpp +1 -1
- data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
- data/src/cxx_supportlib/oxt/system_calls.hpp +1 -1
- data/src/cxx_supportlib/oxt/thread.hpp +1 -1
- data/src/cxx_supportlib/oxt/tracable_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-copy/adhoc_lve.h +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/AUTHORS +353 -3
- data/src/cxx_supportlib/vendor-copy/libuv/ChangeLog +3981 -2
- data/src/cxx_supportlib/vendor-copy/libuv/LICENSE +1 -28
- data/src/cxx_supportlib/vendor-copy/libuv/LICENSE-docs +396 -0
- data/src/cxx_supportlib/vendor-copy/libuv/LICENSE-extra +36 -0
- data/src/cxx_supportlib/vendor-copy/libuv/Makefile.am +275 -58
- data/src/cxx_supportlib/vendor-copy/libuv/Makefile.in +4380 -2125
- data/src/cxx_supportlib/vendor-copy/libuv/aclocal.m4 +425 -221
- data/src/cxx_supportlib/vendor-copy/libuv/ar-lib +30 -10
- data/src/cxx_supportlib/vendor-copy/libuv/compile +31 -14
- data/src/cxx_supportlib/vendor-copy/libuv/config.guess +1084 -690
- data/src/cxx_supportlib/vendor-copy/libuv/config.sub +1844 -1297
- data/src/cxx_supportlib/vendor-copy/libuv/configure +6935 -3664
- data/src/cxx_supportlib/vendor-copy/libuv/configure.ac +43 -19
- data/src/cxx_supportlib/vendor-copy/libuv/depcomp +12 -11
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-darwin.h → uv/darwin.h} +3 -3
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-errno.h → uv/errno.h} +119 -60
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-linux.h → uv/linux.h} +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/include/uv/os390.h +33 -0
- data/src/cxx_supportlib/vendor-copy/libuv/include/uv/posix.h +31 -0
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-threadpool.h → uv/threadpool.h} +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/include/{tree.h → uv/tree.h} +3 -250
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-unix.h → uv/unix.h} +186 -60
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-version.h → uv/version.h} +3 -3
- data/src/cxx_supportlib/vendor-copy/libuv/include/uv/win.h +703 -0
- data/src/cxx_supportlib/vendor-copy/libuv/include/uv.h +528 -40
- data/src/cxx_supportlib/vendor-copy/libuv/install-sh +110 -70
- data/src/cxx_supportlib/vendor-copy/libuv/libuv-static.pc.in +12 -0
- data/src/cxx_supportlib/vendor-copy/libuv/libuv.pc.in +4 -2
- data/src/cxx_supportlib/vendor-copy/libuv/ltmain.sh +995 -619
- data/src/cxx_supportlib/vendor-copy/libuv/m4/ax_pthread.m4 +485 -0
- data/src/cxx_supportlib/vendor-copy/libuv/m4/libtool.m4 +438 -289
- data/src/cxx_supportlib/vendor-copy/libuv/m4/libuv-check-flags.m4 +21 -4
- data/src/cxx_supportlib/vendor-copy/libuv/m4/libuv-check-versions.m4 +7 -0
- data/src/cxx_supportlib/vendor-copy/libuv/m4/ltoptions.m4 +69 -39
- data/src/cxx_supportlib/vendor-copy/libuv/m4/ltsugar.m4 +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/m4/ltversion.m4 +7 -6
- data/src/cxx_supportlib/vendor-copy/libuv/m4/lt~obsolete.m4 +2 -2
- data/src/cxx_supportlib/vendor-copy/libuv/missing +55 -34
- data/src/cxx_supportlib/vendor-copy/libuv/src/fs-poll.c +52 -20
- data/src/cxx_supportlib/vendor-copy/libuv/src/idna.c +560 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/idna.h +31 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/inet.c +5 -16
- data/src/cxx_supportlib/vendor-copy/libuv/src/queue.h +68 -86
- data/src/cxx_supportlib/vendor-copy/libuv/src/random.c +123 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/strscpy.c +38 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/strscpy.h +39 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/strtok.c +52 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/strtok.h +27 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/thread-common.c +175 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/threadpool.c +172 -57
- data/src/cxx_supportlib/vendor-copy/libuv/src/{unix/timer.c → timer.c} +57 -29
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/aix-common.c +89 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/aix.c +418 -256
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/async.c +168 -129
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/bsd-ifaddrs.c +163 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/bsd-proctitle.c +99 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/core.c +1312 -378
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/cygwin.c +93 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-proctitle.c +18 -32
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-stub.h +97 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-syscalls.h +17 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin.c +41 -139
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/dl.c +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/freebsd.c +75 -235
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/fs.c +1308 -299
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/fsevents.c +150 -148
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/getaddrinfo.c +58 -8
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/getnameinfo.c +3 -2
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/haiku.c +172 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/hurd.c +172 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/ibmi.c +542 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/internal.h +297 -106
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/kqueue.c +325 -94
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux.c +2708 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/loop-watcher.c +11 -11
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/loop.c +105 -24
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/netbsd.c +51 -157
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/no-fsevents.c +42 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/no-proctitle.c +45 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/openbsd.c +42 -183
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-proctitle.c +136 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-syscalls.c +536 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-syscalls.h +75 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390.c +1070 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/pipe.c +324 -55
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/poll.c +58 -11
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/posix-hrtime.c +36 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/posix-poll.c +385 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/process.c +795 -248
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/procfs-exepath.c +45 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/proctitle.c +77 -22
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/qnx.c +142 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-devurandom.c +93 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-getentropy.c +57 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-getrandom.c +86 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-sysctl-linux.c +99 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/signal.c +147 -39
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/stream.c +426 -474
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sunos.c +240 -98
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sysinfo-loadavg.c +36 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sysinfo-memory.c +42 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/tcp.c +402 -91
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/thread.c +497 -145
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/tty.c +269 -45
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/udp.c +695 -165
- data/src/cxx_supportlib/vendor-copy/libuv/src/uv-common.c +463 -61
- data/src/cxx_supportlib/vendor-copy/libuv/src/uv-common.h +248 -44
- data/src/cxx_supportlib/vendor-copy/libuv/src/uv-data-getter-setters.c +119 -0
- data/src/cxx_supportlib/vendor-copy/libuv/tsansupp.txt +2 -0
- data/src/cxx_supportlib/{ServerKit/llhttp_api.c → vendor-copy/llhttp/api.c} +30 -23
- data/src/cxx_supportlib/{ServerKit → vendor-copy/llhttp}/llhttp.c +1756 -1645
- data/src/cxx_supportlib/{ServerKit → vendor-copy/llhttp}/llhttp.h +35 -13
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/classification.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/trim_all.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +20 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/debug.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/workaround.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +57 -53
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +34 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +14 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +176 -2287
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +13 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +186 -70
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/aligned_allocation.hpp +149 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/bit_utilities.hpp +133 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +18 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_end.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +20 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/deque_impl.hpp +2744 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +202 -104
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dlmalloc.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +161 -85
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_constructible.hpp +180 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +18 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +256 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +75 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +1 -56
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +16 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +1 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/range_utils.hpp +196 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +33 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +124 -69
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +109 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +168 -162
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/nest.hpp +2978 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/pmr/nest.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_all_of.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_any_of.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_copy.hpp +229 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_copy_if.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_copy_n.hpp +308 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_count.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_count_if.hpp +100 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_equal.hpp +268 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_fill.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_fill_n.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_if.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_if_not.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_last.hpp +179 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_last_if.hpp +179 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_last_if_not.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_for_each.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_generate.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_generate_n.hpp +162 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_is_partitioned.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_is_sorted.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_is_sorted_until.hpp +169 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_iterator_traits.hpp +382 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_merge.hpp +428 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_mismatch.hpp +350 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_none_of.hpp +98 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_partition.hpp +296 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_partition_copy.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_partition_point.hpp +116 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove_copy.hpp +207 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove_copy_if.hpp +223 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove_if.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_replace.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_replace_if.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_reverse.hpp +245 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_reverse_copy.hpp +229 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_search.hpp +211 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_search_n.hpp +476 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_difference.hpp +300 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_intersection.hpp +287 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_symmetric_difference.hpp +306 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_union.hpp +294 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_stable_partition.hpp +153 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_swap_ranges.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_transform.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/wrapped_iterator.hpp +142 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +642 -417
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +141 -30
- data/src/cxx_supportlib/vendor-modified/boost/container/hub.hpp +2426 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +65 -57
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +247 -68
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +39 -33
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +156 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/global_resource.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/hub.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/segtor.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/segtor.hpp +905 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +148 -35
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +59 -52
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +632 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +66 -60
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +46 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +612 -317
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +54 -111
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_construction.hpp +100 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_fwd.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +233 -116
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +17 -10
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/encoder.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/requires_cxx11.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +211 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +29 -174
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +18 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +20 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +42 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +58 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +8 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/config.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +15 -7
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +23 -11
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/{detail → lexical_cast/detail}/lcast_precision.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +15 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +48 -46
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +76 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/traits.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +58 -37
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_copy_if.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +17 -9
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_remove_if.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_common_defs.hpp +188 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_factory_support.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_hash.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_nonmember_interface.hpp +117 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +108 -83
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_select_implementation.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/union_optional.hpp +724 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +93 -220
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_fwd.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/binomial_distribution.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/uniform_int_distribution.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/system/api_config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/task_region.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +30 -28
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once_atomic.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_helpers.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +26 -26
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +196 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +191 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map.hpp +196 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set.hpp +192 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +52 -16
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/ranges_support.hpp +104 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +1 -14
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/unordered_printers.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +121 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +118 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +338 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +121 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +118 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +333 -1
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/jsoncpp/json-forwards.h +276 -143
- data/src/cxx_supportlib/vendor-modified/jsoncpp/json.h +1262 -771
- data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +1704 -1586
- data/src/cxx_supportlib/vendor-modified/libev/Changes +109 -0
- data/src/cxx_supportlib/vendor-modified/libev/Makefile.am +2 -1
- data/src/cxx_supportlib/vendor-modified/libev/Makefile.in +47 -33
- data/src/cxx_supportlib/vendor-modified/libev/README +2 -1
- data/src/cxx_supportlib/vendor-modified/libev/aclocal.m4 +1653 -1224
- data/src/cxx_supportlib/vendor-modified/libev/config.guess +376 -316
- data/src/cxx_supportlib/vendor-modified/libev/config.h.in +13 -2
- data/src/cxx_supportlib/vendor-modified/libev/config.sub +156 -154
- data/src/cxx_supportlib/vendor-modified/libev/configure +1431 -940
- data/src/cxx_supportlib/vendor-modified/libev/configure.ac +3 -3
- data/src/cxx_supportlib/vendor-modified/libev/depcomp +5 -5
- data/src/cxx_supportlib/vendor-modified/libev/ev++.h +109 -107
- data/src/cxx_supportlib/vendor-modified/libev/ev.c +807 -319
- data/src/cxx_supportlib/vendor-modified/libev/ev.h +111 -105
- data/src/cxx_supportlib/vendor-modified/libev/ev_epoll.c +42 -29
- data/src/cxx_supportlib/vendor-modified/libev/ev_iouring.c +694 -0
- data/src/cxx_supportlib/vendor-modified/libev/ev_kqueue.c +15 -9
- data/src/cxx_supportlib/vendor-modified/libev/ev_linuxaio.c +620 -0
- data/src/cxx_supportlib/vendor-modified/libev/ev_poll.c +19 -14
- data/src/cxx_supportlib/vendor-modified/libev/ev_port.c +8 -5
- data/src/cxx_supportlib/vendor-modified/libev/ev_select.c +6 -6
- data/src/cxx_supportlib/vendor-modified/libev/ev_vars.h +48 -3
- data/src/cxx_supportlib/vendor-modified/libev/ev_win32.c +2 -2
- data/src/cxx_supportlib/vendor-modified/libev/ev_wrap.h +72 -0
- data/src/cxx_supportlib/vendor-modified/libev/install-sh +23 -13
- data/src/cxx_supportlib/vendor-modified/libev/libev.m4 +6 -1
- data/src/cxx_supportlib/vendor-modified/libev/ltmain.sh +3581 -1993
- data/src/cxx_supportlib/vendor-modified/libev/missing +8 -8
- data/src/cxx_supportlib/vendor-modified/libev/mkinstalldirs +3 -3
- data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +1 -1
- data/src/helper-scripts/backtrace-sanitizer.rb +1 -1
- data/src/helper-scripts/crash-watch.rb +1 -1
- data/src/helper-scripts/download_binaries/extconf.rb +1 -1
- data/src/helper-scripts/meteor-loader.rb +1 -1
- data/src/helper-scripts/node-loader.js +1 -1
- data/src/helper-scripts/prespawn +1 -1
- data/src/helper-scripts/rack-loader.rb +1 -1
- data/src/helper-scripts/rack-preloader.rb +1 -1
- data/src/helper-scripts/wsgi-loader.py +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c.cxxcodebuilder +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c.cxxcodebuilder +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c.cxxcodebuilder +1 -1
- data/src/nginx_module/Configuration.c +1 -1
- data/src/nginx_module/Configuration.h +1 -1
- data/src/nginx_module/ContentHandler.c +36 -1
- data/src/nginx_module/ContentHandler.h +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c.cxxcodebuilder +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c.cxxcodebuilder +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
- data/src/nginx_module/StaticContentHandler.c +1 -1
- data/src/nginx_module/StaticContentHandler.h +1 -1
- data/src/nginx_module/ngx_http_passenger_module.c +1 -1
- data/src/nginx_module/ngx_http_passenger_module.h +1 -1
- data/src/nodejs_supportlib/phusion_passenger/line_reader.js +1 -1
- data/src/ruby_native_extension/extconf.rb +1 -1
- data/src/ruby_native_extension/passenger_native_support.c +1 -1
- data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +2 -12
- data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +14 -16
- data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/build_native_support_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/list_instances_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/main.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +6 -1
- data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/system_metrics_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/message_channel.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/message_client.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/native_support.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +4 -3
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +195 -11
- data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/plugin.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/public_api.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -7
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/simple_benchmarking.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/control_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +4 -8
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/ansi_colors.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/download.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +25 -2
- data/src/ruby_supportlib/phusion_passenger/utils/lock.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +3 -13
- data/src/ruby_supportlib/phusion_passenger/utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/base.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/version.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/lock_file.rb +8 -6
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/spawn.rb +4 -3
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/version.rb +6 -4
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +406 -579
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- data/src/schema_printer/SchemaPrinterMain.cpp +1 -1
- data/src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder +1 -1
- metadata +140 -38
- data/doc/DeveloperQuickstart.md +0 -70
- data/src/README.md +0 -7
- data/src/cxx_supportlib/vendor-copy/libuv/README.md +0 -245
- data/src/cxx_supportlib/vendor-copy/libuv/checksparse.sh +0 -234
- data/src/cxx_supportlib/vendor-copy/libuv/common.gypi +0 -210
- data/src/cxx_supportlib/vendor-copy/libuv/gyp_uv.py +0 -93
- data/src/cxx_supportlib/vendor-copy/libuv/include/android-ifaddrs.h +0 -54
- data/src/cxx_supportlib/vendor-copy/libuv/include/pthread-fixes.h +0 -72
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/android-ifaddrs.c +0 -703
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/atomic-ops.h +0 -77
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-core.c +0 -899
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-inotify.c +0 -285
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-syscalls.c +0 -471
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-syscalls.h +0 -158
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/pthread-fixes.c +0 -104
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/spinlock.h +0 -53
- data/src/cxx_supportlib/vendor-copy/libuv/uv.gyp +0 -508
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_utility.hpp +0 -41
- /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-aix.h → uv/aix.h} +0 -0
- /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-bsd.h → uv/bsd.h} +0 -0
- /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-sunos.h → uv/sunos.h} +0 -0
- /data/src/cxx_supportlib/{ServerKit/llhttp_http.c → vendor-copy/llhttp/http.c} +0 -0
|
@@ -104,7 +104,7 @@ class map
|
|
|
104
104
|
typedef Key key_type;
|
|
105
105
|
typedef T mapped_type;
|
|
106
106
|
typedef typename base_t::allocator_type allocator_type;
|
|
107
|
-
typedef
|
|
107
|
+
typedef boost::container::allocator_traits<allocator_type> allocator_traits_type;
|
|
108
108
|
typedef typename boost::container::allocator_traits<allocator_type>::value_type value_type;
|
|
109
109
|
typedef typename boost::container::allocator_traits<allocator_type>::pointer pointer;
|
|
110
110
|
typedef typename boost::container::allocator_traits<allocator_type>::const_pointer const_pointer;
|
|
@@ -371,7 +371,7 @@ class map
|
|
|
371
371
|
//! <b>Effects</b>: Copy constructs a map using the specified allocator.
|
|
372
372
|
//!
|
|
373
373
|
//! <b>Complexity</b>: Linear in x.size().
|
|
374
|
-
inline map(const map& x, const allocator_type &a)
|
|
374
|
+
inline map(const map& x, const BOOST_CONTAINER_DOC1ST(allocator_type, typename dtl::type_identity<allocator_type>::type) &a)
|
|
375
375
|
: base_t(static_cast<const base_t&>(x), a)
|
|
376
376
|
{}
|
|
377
377
|
|
|
@@ -381,7 +381,7 @@ class map
|
|
|
381
381
|
//! <b>Complexity</b>: Constant if x == x.get_allocator(), linear otherwise.
|
|
382
382
|
//!
|
|
383
383
|
//! <b>Postcondition</b>: x is emptied.
|
|
384
|
-
inline map(BOOST_RV_REF(map) x, const allocator_type &a)
|
|
384
|
+
inline map(BOOST_RV_REF(map) x, const BOOST_CONTAINER_DOC1ST(allocator_type, typename dtl::type_identity<allocator_type>::type) &a)
|
|
385
385
|
: base_t(BOOST_MOVE_BASE(base_t, x), a)
|
|
386
386
|
{}
|
|
387
387
|
|
|
@@ -555,26 +555,41 @@ class map
|
|
|
555
555
|
|
|
556
556
|
#endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
557
557
|
|
|
558
|
-
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
558
|
+
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) || (defined(BOOST_CXX_VERSION) &&(BOOST_CXX_VERSION >= 201103L))
|
|
559
|
+
//! <b>Effects</b>: If there is no key equivalent to x in the map, inserts
|
|
560
|
+
//! value_type(k, T()) into the map.
|
|
561
|
+
//!
|
|
562
|
+
//! <b>Returns</b>: A reference to the mapped_type corresponding to k in *this.
|
|
563
|
+
//!
|
|
564
|
+
//! <b>Complexity</b>: Logarithmic.
|
|
565
|
+
mapped_type& operator[](const key_type& k)
|
|
566
|
+
{ return this->priv_subscript(k); }
|
|
567
|
+
|
|
559
568
|
//! <b>Effects</b>: If there is no key equivalent to x in the map, inserts
|
|
560
|
-
//! value_type(
|
|
569
|
+
//! value_type(boost::move(k), T()) into the map (the key is move-constructed)
|
|
561
570
|
//!
|
|
562
|
-
//! <b>Returns</b>: A reference to the mapped_type corresponding to
|
|
571
|
+
//! <b>Returns</b>: A reference to the mapped_type corresponding to k in *this.
|
|
563
572
|
//!
|
|
564
573
|
//! <b>Complexity</b>: Logarithmic.
|
|
565
|
-
mapped_type& operator[](
|
|
574
|
+
mapped_type& operator[](key_type&& k)
|
|
575
|
+
{ return this->priv_subscript(boost::move(k)); }
|
|
566
576
|
|
|
577
|
+
//! <b>Precondition</b>: This overload is available only if key_compare::is_transparent exists.
|
|
578
|
+
//!
|
|
567
579
|
//! <b>Effects</b>: If there is no key equivalent to x in the map, inserts
|
|
568
|
-
//! value_type(boost::
|
|
580
|
+
//! value_type(boost::forward<K>(k), T()) into the map
|
|
569
581
|
//!
|
|
570
|
-
//! <b>Returns</b>: A reference to the mapped_type corresponding to
|
|
582
|
+
//! <b>Returns</b>: A reference to the mapped_type corresponding to k in *this.
|
|
571
583
|
//!
|
|
572
584
|
//! <b>Complexity</b>: Logarithmic.
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
585
|
+
template <class K>
|
|
586
|
+
inline BOOST_CONTAINER_DOC1ST
|
|
587
|
+
( mapped_type&
|
|
588
|
+
, typename dtl::enable_if_transparent<key_compare BOOST_MOVE_I K BOOST_MOVE_I mapped_type&>::type
|
|
589
|
+
)
|
|
590
|
+
operator[](K&& k)
|
|
591
|
+
{ return this->priv_subscript(boost::forward<K>(k)); }
|
|
592
|
+
|
|
578
593
|
#else
|
|
579
594
|
BOOST_MOVE_CONVERSION_AWARE_CATCH( operator[] , key_type, mapped_type&, this->priv_subscript)
|
|
580
595
|
#endif
|
|
@@ -593,7 +608,7 @@ class map
|
|
|
593
608
|
//! <b>Complexity</b>: Logarithmic in the size of the container.
|
|
594
609
|
template <class M>
|
|
595
610
|
inline std::pair<iterator, bool> insert_or_assign(const key_type& k, BOOST_FWD_REF(M) obj)
|
|
596
|
-
{ return this->base_t::insert_or_assign(
|
|
611
|
+
{ return this->base_t::insert_or_assign(k, ::boost::forward<M>(obj)); }
|
|
597
612
|
|
|
598
613
|
//! <b>Effects</b>: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
|
|
599
614
|
//! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
|
|
@@ -609,7 +624,7 @@ class map
|
|
|
609
624
|
//! <b>Complexity</b>: Logarithmic in the size of the container.
|
|
610
625
|
template <class M>
|
|
611
626
|
inline std::pair<iterator, bool> insert_or_assign(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
|
|
612
|
-
{ return this->base_t::insert_or_assign(
|
|
627
|
+
{ return this->base_t::insert_or_assign(::boost::move(k), ::boost::forward<M>(obj)); }
|
|
613
628
|
|
|
614
629
|
//! <b>Requires</b>: This overload is available only if key_compare::is_transparent exists.
|
|
615
630
|
//!
|
|
@@ -634,7 +649,7 @@ class map
|
|
|
634
649
|
BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool>
|
|
635
650
|
>::type) //transparent
|
|
636
651
|
insert_or_assign(BOOST_FWD_REF(K) k, BOOST_FWD_REF(M) obj)
|
|
637
|
-
{ return this->base_t::insert_or_assign(
|
|
652
|
+
{ return this->base_t::insert_or_assign(::boost::forward<K>(k), ::boost::forward<M>(obj)); }
|
|
638
653
|
|
|
639
654
|
//! <b>Effects</b>: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
|
|
640
655
|
//! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
|
|
@@ -698,7 +713,7 @@ class map
|
|
|
698
713
|
//! <b>Returns</b>: A reference to the element whose key is equivalent to x.
|
|
699
714
|
//! Throws: An exception object of type out_of_range if no such element is present.
|
|
700
715
|
//! <b>Complexity</b>: logarithmic.
|
|
701
|
-
T& at(const key_type& k)
|
|
716
|
+
BOOST_CONTAINER_NODISCARD T& at(const key_type& k)
|
|
702
717
|
{
|
|
703
718
|
iterator i = this->find(k);
|
|
704
719
|
if(i == this->end()){
|
|
@@ -710,15 +725,63 @@ class map
|
|
|
710
725
|
//! <b>Returns</b>: A reference to the element whose key is equivalent to x.
|
|
711
726
|
//! Throws: An exception object of type out_of_range if no such element is present.
|
|
712
727
|
//! <b>Complexity</b>: logarithmic.
|
|
713
|
-
|
|
728
|
+
BOOST_CONTAINER_NODISCARD const T& at(const key_type& k) const
|
|
714
729
|
{
|
|
715
730
|
const_iterator i = this->find(k);
|
|
731
|
+
if(i == this->cend()){
|
|
732
|
+
throw_out_of_range("map::at key not found");
|
|
733
|
+
}
|
|
734
|
+
return i->second;
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
//! <b>Precondition</b>: This overload is available only if key_compare::is_transparent exists.
|
|
738
|
+
//!
|
|
739
|
+
//! Returns: A reference to the element whose key is equivalent to x.
|
|
740
|
+
//!
|
|
741
|
+
//! Throws: An exception object of type out_of_range if no such element is present.
|
|
742
|
+
//!
|
|
743
|
+
//! Complexity: logarithmic.
|
|
744
|
+
template<class K>
|
|
745
|
+
BOOST_CONTAINER_NODISCARD
|
|
746
|
+
BOOST_CONTAINER_DOC1ST
|
|
747
|
+
( T&
|
|
748
|
+
, typename dtl::enable_if_transparent< key_compare
|
|
749
|
+
BOOST_MOVE_I K
|
|
750
|
+
BOOST_MOVE_I T&
|
|
751
|
+
>::type) //transparent
|
|
752
|
+
at(const K& k)
|
|
753
|
+
{
|
|
754
|
+
iterator i = this->find(k);
|
|
716
755
|
if(i == this->end()){
|
|
717
756
|
throw_out_of_range("map::at key not found");
|
|
718
757
|
}
|
|
719
758
|
return i->second;
|
|
720
759
|
}
|
|
721
760
|
|
|
761
|
+
//! <b>Precondition</b>: This overload is available only if key_compare::is_transparent exists.
|
|
762
|
+
//!
|
|
763
|
+
//! Returns: A reference to the element whose key is equivalent to x.
|
|
764
|
+
//!
|
|
765
|
+
//! Throws: An exception object of type out_of_range if no such element is present.
|
|
766
|
+
//!
|
|
767
|
+
//! Complexity: logarithmic.
|
|
768
|
+
template<class K>
|
|
769
|
+
BOOST_CONTAINER_NODISCARD
|
|
770
|
+
BOOST_CONTAINER_DOC1ST
|
|
771
|
+
( const T&
|
|
772
|
+
, typename dtl::enable_if_transparent< key_compare
|
|
773
|
+
BOOST_MOVE_I K
|
|
774
|
+
BOOST_MOVE_I const T&
|
|
775
|
+
>::type) //transparent
|
|
776
|
+
at(const K& k) const
|
|
777
|
+
{
|
|
778
|
+
const_iterator i = this->find(k);
|
|
779
|
+
if(i == this->cend()){
|
|
780
|
+
throw_out_of_range("map::at key not found");
|
|
781
|
+
}
|
|
782
|
+
return i->second;
|
|
783
|
+
}
|
|
784
|
+
|
|
722
785
|
//////////////////////////////////////////////
|
|
723
786
|
//
|
|
724
787
|
// modifiers
|
|
@@ -800,42 +863,6 @@ class map
|
|
|
800
863
|
{ return this->base_t::emplace_hint_unique(p, boost::forward<Pair>(x)); }
|
|
801
864
|
|
|
802
865
|
|
|
803
|
-
/*
|
|
804
|
-
//! <b>Effects</b>: Move constructs a new value from x if and only if there is
|
|
805
|
-
//! no element in the container with key equivalent to the key of x.
|
|
806
|
-
//! p is a hint pointing to where the insert should start to search.
|
|
807
|
-
//!
|
|
808
|
-
//! <b>Returns</b>: An iterator pointing to the element with key equivalent
|
|
809
|
-
//! to the key of x.
|
|
810
|
-
//!
|
|
811
|
-
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
|
812
|
-
//! is inserted right before p.
|
|
813
|
-
inline iterator insert(const_iterator p, BOOST_RV_REF(nonconst_value_type) x)
|
|
814
|
-
{ return this->try_emplace(p, boost::move(x.first), boost::move(x.second)); }
|
|
815
|
-
|
|
816
|
-
//! <b>Effects</b>: Move constructs a new value from x if and only if there is
|
|
817
|
-
//! no element in the container with key equivalent to the key of x.
|
|
818
|
-
//! p is a hint pointing to where the insert should start to search.
|
|
819
|
-
//!
|
|
820
|
-
//! <b>Returns</b>: An iterator pointing to the element with key equivalent
|
|
821
|
-
//! to the key of x.
|
|
822
|
-
//!
|
|
823
|
-
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
|
824
|
-
//! is inserted right before p.
|
|
825
|
-
inline iterator insert(const_iterator p, BOOST_RV_REF(movable_value_type) x)
|
|
826
|
-
{ return this->try_emplace(p, boost::move(x.first), boost::move(x.second)); }
|
|
827
|
-
|
|
828
|
-
//! <b>Effects</b>: Inserts a copy of x in the container.
|
|
829
|
-
//! p is a hint pointing to where the insert should start to search.
|
|
830
|
-
//!
|
|
831
|
-
//! <b>Returns</b>: An iterator pointing to the element with key equivalent to the key of x.
|
|
832
|
-
//!
|
|
833
|
-
//! <b>Complexity</b>: Logarithmic.
|
|
834
|
-
inline iterator insert(const_iterator p, const nonconst_value_type& x)
|
|
835
|
-
{ return this->try_emplace(p, x.first, x.second); }
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
*/
|
|
839
866
|
//! <b>Requires</b>: first, last are not iterators into *this.
|
|
840
867
|
//!
|
|
841
868
|
//! <b>Effects</b>: inserts each element from the range [first,last) if and only
|
|
@@ -931,7 +958,7 @@ class map
|
|
|
931
958
|
//! <b>Complexity</b>: Logarithmic.
|
|
932
959
|
template <class... Args>
|
|
933
960
|
inline std::pair<iterator, bool> try_emplace(const key_type& k, BOOST_FWD_REF(Args)... args)
|
|
934
|
-
{ return this->base_t::try_emplace(
|
|
961
|
+
{ return this->base_t::try_emplace(k, boost::forward<Args>(args)...); }
|
|
935
962
|
|
|
936
963
|
//! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
|
|
937
964
|
//! forward_as_tuple(k), forward_as_tuple(forward<Args>(args)...).
|
|
@@ -961,7 +988,7 @@ class map
|
|
|
961
988
|
//! <b>Complexity</b>: Logarithmic.
|
|
962
989
|
template <class... Args>
|
|
963
990
|
inline std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
|
|
964
|
-
{ return this->base_t::try_emplace(
|
|
991
|
+
{ return this->base_t::try_emplace(boost::move(k), boost::forward<Args>(args)...); }
|
|
965
992
|
|
|
966
993
|
//! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
|
|
967
994
|
//! forward_as_tuple(move(k)), forward_as_tuple(forward<Args>(args)...).
|
|
@@ -978,6 +1005,54 @@ class map
|
|
|
978
1005
|
inline iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
|
|
979
1006
|
{ return this->base_t::try_emplace(hint, boost::move(k), boost::forward<Args>(args)...).first; }
|
|
980
1007
|
|
|
1008
|
+
//! <b>Precondition</b>: This overload is available only if key_compare::is_transparent exists.
|
|
1009
|
+
//!
|
|
1010
|
+
//! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
|
|
1011
|
+
//! forward_as_tuple(move(k)), forward_as_tuple(forward<Args>(args)...).
|
|
1012
|
+
//!
|
|
1013
|
+
//! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
|
|
1014
|
+
//! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(forward<K>(k)),
|
|
1015
|
+
//! forward_as_tuple(forward<Args>(args)...).
|
|
1016
|
+
//!
|
|
1017
|
+
//! <b>Returns</b>: The bool component of the returned pair is true if and only if the
|
|
1018
|
+
//! insertion took place. The returned iterator points to the map element whose key is equivalent to k.
|
|
1019
|
+
//!
|
|
1020
|
+
//! <b>Complexity</b>: Logarithmic search time plus linear insertion time in case the key is not present.
|
|
1021
|
+
template <class K, class... Args>
|
|
1022
|
+
inline BOOST_CONTAINER_DOC1ST
|
|
1023
|
+
(std::pair<iterator BOOST_MOVE_I bool>
|
|
1024
|
+
, typename dtl::enable_if_c<
|
|
1025
|
+
dtl::is_transparent<key_compare>::value && //transparent
|
|
1026
|
+
!dtl::is_convertible<K BOOST_MOVE_I iterator>::value && //not convertible to iterator
|
|
1027
|
+
!dtl::is_convertible<K BOOST_MOVE_I const_iterator>::value //not convertible to const_iterator
|
|
1028
|
+
BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool>
|
|
1029
|
+
>::type)
|
|
1030
|
+
try_emplace(BOOST_FWD_REF(K) k, BOOST_FWD_REF(Args)... args)
|
|
1031
|
+
{ return this->base_t::try_emplace(boost::forward<K>(k), boost::forward<Args>(args)...); }
|
|
1032
|
+
|
|
1033
|
+
//! <b>Precondition</b>: This overload is available only if key_compare::is_transparent exists.
|
|
1034
|
+
//!
|
|
1035
|
+
//! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
|
|
1036
|
+
//! forward_as_tuple(move(k)), forward_as_tuple(forward<Args>(args)...).
|
|
1037
|
+
//!
|
|
1038
|
+
//! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
|
|
1039
|
+
//! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(move(k)),
|
|
1040
|
+
//! forward_as_tuple(forward<Args>(args)...).
|
|
1041
|
+
//!
|
|
1042
|
+
//! <b>Returns</b>: The returned iterator points to the map element whose key is equivalent to k.
|
|
1043
|
+
//!
|
|
1044
|
+
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if value
|
|
1045
|
+
//! is inserted right before p. Linear insertion time in case no equivalent key is present.
|
|
1046
|
+
template <class K, class... Args>
|
|
1047
|
+
inline BOOST_CONTAINER_DOC1ST
|
|
1048
|
+
( iterator
|
|
1049
|
+
, typename dtl::enable_if_transparent< key_compare
|
|
1050
|
+
BOOST_MOVE_I K
|
|
1051
|
+
BOOST_MOVE_I iterator
|
|
1052
|
+
>::type) //transparent
|
|
1053
|
+
try_emplace(const_iterator hint, BOOST_FWD_REF(K) k, BOOST_FWD_REF(Args)... args)
|
|
1054
|
+
{ return this->base_t::try_emplace(hint, boost::forward<K>(k), boost::forward<Args>(args)...).first; }
|
|
1055
|
+
|
|
981
1056
|
#else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
982
1057
|
|
|
983
1058
|
#define BOOST_CONTAINER_MAP_EMPLACE_CODE(N) \
|
|
@@ -991,7 +1066,7 @@ class map
|
|
|
991
1066
|
\
|
|
992
1067
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
993
1068
|
inline std::pair<iterator, bool> try_emplace(const key_type& k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
994
|
-
{ return this->base_t::try_emplace(
|
|
1069
|
+
{ return this->base_t::try_emplace(k BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\
|
|
995
1070
|
\
|
|
996
1071
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
997
1072
|
inline iterator try_emplace(const_iterator hint, const key_type &k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
@@ -999,20 +1074,38 @@ class map
|
|
|
999
1074
|
\
|
|
1000
1075
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1001
1076
|
inline std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1002
|
-
{ return this->base_t::try_emplace(
|
|
1077
|
+
{ return this->base_t::try_emplace(boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\
|
|
1003
1078
|
\
|
|
1004
1079
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1005
1080
|
inline iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1006
1081
|
{ return this->base_t::try_emplace(hint, boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first; }\
|
|
1082
|
+
\
|
|
1083
|
+
template <class K BOOST_MOVE_I##N BOOST_MOVE_CLASS##N> \
|
|
1084
|
+
typename dtl::enable_if_c< \
|
|
1085
|
+
dtl::is_transparent<key_compare>::value && \
|
|
1086
|
+
!dtl::is_convertible<K BOOST_MOVE_I iterator>::value && \
|
|
1087
|
+
!dtl::is_convertible<K BOOST_MOVE_I const_iterator>::value \
|
|
1088
|
+
BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool> \
|
|
1089
|
+
>::type \
|
|
1090
|
+
try_emplace(BOOST_FWD_REF(K) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N) \
|
|
1091
|
+
{ return this->base_t::try_emplace(boost::forward<K>(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N); } \
|
|
1092
|
+
\
|
|
1093
|
+
template <class K BOOST_MOVE_I##N BOOST_MOVE_CLASS##N> \
|
|
1094
|
+
typename dtl::enable_if_transparent< key_compare \
|
|
1095
|
+
BOOST_MOVE_I K \
|
|
1096
|
+
BOOST_MOVE_I iterator \
|
|
1097
|
+
>::type \
|
|
1098
|
+
try_emplace(const_iterator hint BOOST_MOVE_I BOOST_FWD_REF(K) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N) \
|
|
1099
|
+
{ return this->base_t::try_emplace(hint BOOST_MOVE_I boost::forward<K>(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first; } \
|
|
1007
1100
|
//
|
|
1008
1101
|
BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_MAP_EMPLACE_CODE)
|
|
1009
1102
|
#undef BOOST_CONTAINER_MAP_EMPLACE_CODE
|
|
1010
1103
|
|
|
1011
1104
|
#endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
1012
1105
|
|
|
1013
|
-
//! <b>Effects</b>: If present, erases the
|
|
1106
|
+
//! <b>Effects</b>: If present, erases the elements in the container with key equivalent to x.
|
|
1014
1107
|
//!
|
|
1015
|
-
//! <b>Returns</b>: Returns the number of erased elements
|
|
1108
|
+
//! <b>Returns</b>: Returns the number of erased elements.
|
|
1016
1109
|
//!
|
|
1017
1110
|
//! <b>Complexity</b>: log(size()) + count(k)
|
|
1018
1111
|
inline size_type erase(const key_type& x)
|
|
@@ -1021,9 +1114,9 @@ class map
|
|
|
1021
1114
|
//! <b>Requires</b>: This overload is available only if
|
|
1022
1115
|
//! key_compare::is_transparent exists.
|
|
1023
1116
|
//!
|
|
1024
|
-
//! <b>Effects</b>: If present, erases the
|
|
1117
|
+
//! <b>Effects</b>: If present, erases the elements in the container with key equivalent to x.
|
|
1025
1118
|
//!
|
|
1026
|
-
//! <b>Returns</b>: Returns the number of erased elements
|
|
1119
|
+
//! <b>Returns</b>: Returns the number of erased elements.
|
|
1027
1120
|
template <class K>
|
|
1028
1121
|
inline BOOST_CONTAINER_DOC1ST
|
|
1029
1122
|
(size_type
|
|
@@ -1069,6 +1162,29 @@ class map
|
|
|
1069
1162
|
return BOOST_MOVE_RET(node_type, nh);
|
|
1070
1163
|
}
|
|
1071
1164
|
|
|
1165
|
+
//! <b>Requires</b>: This overload is available only if
|
|
1166
|
+
//! key_compare::is_transparent exists.
|
|
1167
|
+
//!
|
|
1168
|
+
//! <b>Effects</b>: Removes the first element in the container with key equivalent to k.
|
|
1169
|
+
//!
|
|
1170
|
+
//! <b>Returns</b>: A node_type owning the element if found, otherwise an empty node_type.
|
|
1171
|
+
//!
|
|
1172
|
+
//! <b>Complexity</b>: log(size()).
|
|
1173
|
+
template<class K>
|
|
1174
|
+
inline BOOST_CONTAINER_DOC1ST
|
|
1175
|
+
(node_type
|
|
1176
|
+
, typename dtl::enable_if_c<
|
|
1177
|
+
dtl::is_transparent<key_compare>::value && //transparent
|
|
1178
|
+
!dtl::is_convertible<K BOOST_MOVE_I iterator>::value && //not convertible to iterator
|
|
1179
|
+
!dtl::is_convertible<K BOOST_MOVE_I const_iterator>::value //not convertible to const_iterator
|
|
1180
|
+
BOOST_MOVE_I node_type>::type)
|
|
1181
|
+
extract(BOOST_FWD_REF(K) k)
|
|
1182
|
+
{
|
|
1183
|
+
typename base_t::node_type base_nh(this->base_t::extract(k));
|
|
1184
|
+
node_type nh(boost::move(base_nh));
|
|
1185
|
+
return BOOST_MOVE_RET(node_type, nh);
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1072
1188
|
//! <b>Effects</b>: Removes the element pointed to by "position".
|
|
1073
1189
|
//!
|
|
1074
1190
|
//! <b>Returns</b>: A node_type owning the element, otherwise an empty node_type.
|
|
@@ -1188,7 +1304,7 @@ class map
|
|
|
1188
1304
|
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
|
1189
1305
|
//!
|
|
1190
1306
|
//! <b>Complexity</b>: log(size())+count(k)
|
|
1191
|
-
|
|
1307
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
1192
1308
|
size_type count(const key_type& x) const
|
|
1193
1309
|
{ return static_cast<size_type>(this->find(x) != this->cend()); }
|
|
1194
1310
|
|
|
@@ -1199,7 +1315,7 @@ class map
|
|
|
1199
1315
|
//!
|
|
1200
1316
|
//! <b>Complexity</b>: log(size())+count(k)
|
|
1201
1317
|
template<typename K>
|
|
1202
|
-
|
|
1318
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
1203
1319
|
size_type count(const K& x) const
|
|
1204
1320
|
{ return static_cast<size_type>(this->find(x) != this->cend()); }
|
|
1205
1321
|
|
|
@@ -1378,11 +1494,18 @@ inline typename map<K, M, C, A, O>::size_type erase_if(map<K, M, C, A, O>& c, Pr
|
|
|
1378
1494
|
|
|
1379
1495
|
#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
|
|
1380
1496
|
|
|
1497
|
+
//! <b>Deduction guide</b>: allows a `map` to be constructed from the iterator range
|
|
1498
|
+
//! <code>[first, last)</code>, deducing the key and mapped types from the pair value
|
|
1499
|
+
//! type of `InputIterator` and using the default comparator and allocator.
|
|
1381
1500
|
template <typename InputIterator>
|
|
1382
1501
|
map(InputIterator, InputIterator) ->
|
|
1383
1502
|
map< it_based_non_const_first_type_t<InputIterator>
|
|
1384
1503
|
, it_based_second_type_t<InputIterator>>;
|
|
1385
1504
|
|
|
1505
|
+
//! <b>Deduction guide</b>: allows a `map` to be constructed from the iterator range
|
|
1506
|
+
//! <code>[first, last)</code>, deducing the key and mapped types from `InputIterator`.
|
|
1507
|
+
//! The trailing argument is used as the allocator if it is an allocator type,
|
|
1508
|
+
//! otherwise it is used as the comparator.
|
|
1386
1509
|
template < typename InputIterator, typename AllocatorOrCompare>
|
|
1387
1510
|
map(InputIterator, InputIterator, AllocatorOrCompare const&) ->
|
|
1388
1511
|
map< it_based_non_const_first_type_t<InputIterator>
|
|
@@ -1399,6 +1522,9 @@ template < typename InputIterator, typename AllocatorOrCompare>
|
|
|
1399
1522
|
>::type
|
|
1400
1523
|
>;
|
|
1401
1524
|
|
|
1525
|
+
//! <b>Deduction guide</b>: allows a `map` to be constructed from the iterator range
|
|
1526
|
+
//! <code>[first, last)</code>, deducing the key and mapped types from `InputIterator`
|
|
1527
|
+
//! and taking the comparator and allocator types from the supplied arguments.
|
|
1402
1528
|
template < typename InputIterator, typename Compare, typename Allocator
|
|
1403
1529
|
, typename = dtl::require_nonallocator_t<Compare>
|
|
1404
1530
|
, typename = dtl::require_allocator_t<Allocator>>
|
|
@@ -1408,11 +1534,18 @@ map(InputIterator, InputIterator, Compare const&, Allocator const&) ->
|
|
|
1408
1534
|
, Compare
|
|
1409
1535
|
, Allocator>;
|
|
1410
1536
|
|
|
1537
|
+
//! <b>Deduction guide</b>: allows a `map` to be constructed from an already ordered,
|
|
1538
|
+
//! unique iterator range <code>[first, last)</code>, deducing the key and mapped types
|
|
1539
|
+
//! from `InputIterator` and using the default comparator and allocator.
|
|
1411
1540
|
template <typename InputIterator>
|
|
1412
1541
|
map(ordered_unique_range_t, InputIterator, InputIterator) ->
|
|
1413
1542
|
map< it_based_non_const_first_type_t<InputIterator>
|
|
1414
1543
|
, it_based_second_type_t<InputIterator>>;
|
|
1415
1544
|
|
|
1545
|
+
//! <b>Deduction guide</b>: allows a `map` to be constructed from an already ordered,
|
|
1546
|
+
//! unique iterator range <code>[first, last)</code>, deducing the key and mapped types
|
|
1547
|
+
//! from `InputIterator`. The trailing argument is used as the allocator if it is an
|
|
1548
|
+
//! allocator type, otherwise it is used as the comparator.
|
|
1416
1549
|
template < typename InputIterator, typename AllocatorOrCompare>
|
|
1417
1550
|
map(ordered_unique_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
|
|
1418
1551
|
map< it_based_non_const_first_type_t<InputIterator>
|
|
@@ -1429,6 +1562,10 @@ map(ordered_unique_range_t, InputIterator, InputIterator, AllocatorOrCompare con
|
|
|
1429
1562
|
>::type
|
|
1430
1563
|
>;
|
|
1431
1564
|
|
|
1565
|
+
//! <b>Deduction guide</b>: allows a `map` to be constructed from an already ordered,
|
|
1566
|
+
//! unique iterator range <code>[first, last)</code>, deducing the key and mapped types
|
|
1567
|
+
//! from `InputIterator` and taking the comparator and allocator types from the supplied
|
|
1568
|
+
//! arguments.
|
|
1432
1569
|
template < typename InputIterator, typename Compare, typename Allocator
|
|
1433
1570
|
, typename = dtl::require_nonallocator_t<Compare>
|
|
1434
1571
|
, typename = dtl::require_allocator_t<Allocator>>
|
|
@@ -1510,7 +1647,7 @@ class multimap
|
|
|
1510
1647
|
typedef Key key_type;
|
|
1511
1648
|
typedef T mapped_type;
|
|
1512
1649
|
typedef typename base_t::allocator_type allocator_type;
|
|
1513
|
-
typedef
|
|
1650
|
+
typedef boost::container::allocator_traits<allocator_type> allocator_traits_type;
|
|
1514
1651
|
typedef typename boost::container::allocator_traits<allocator_type>::value_type value_type;
|
|
1515
1652
|
typedef typename boost::container::allocator_traits<allocator_type>::pointer pointer;
|
|
1516
1653
|
typedef typename boost::container::allocator_traits<allocator_type>::const_pointer const_pointer;
|
|
@@ -1769,7 +1906,7 @@ class multimap
|
|
|
1769
1906
|
//! <b>Effects</b>: Copy constructs a multimap.
|
|
1770
1907
|
//!
|
|
1771
1908
|
//! <b>Complexity</b>: Linear in x.size().
|
|
1772
|
-
inline multimap(const multimap& x, const allocator_type &a)
|
|
1909
|
+
inline multimap(const multimap& x, const BOOST_CONTAINER_DOC1ST(allocator_type, typename dtl::type_identity<allocator_type>::type) &a)
|
|
1773
1910
|
: base_t(static_cast<const base_t&>(x), a)
|
|
1774
1911
|
{}
|
|
1775
1912
|
|
|
@@ -1778,7 +1915,7 @@ class multimap
|
|
|
1778
1915
|
//! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
|
|
1779
1916
|
//!
|
|
1780
1917
|
//! <b>Postcondition</b>: x is emptied.
|
|
1781
|
-
inline multimap(BOOST_RV_REF(multimap) x, const allocator_type &a)
|
|
1918
|
+
inline multimap(BOOST_RV_REF(multimap) x, const BOOST_CONTAINER_DOC1ST(allocator_type, typename dtl::type_identity<allocator_type>::type) &a)
|
|
1782
1919
|
: base_t(BOOST_MOVE_BASE(base_t, x), a)
|
|
1783
1920
|
{}
|
|
1784
1921
|
|
|
@@ -2030,6 +2167,10 @@ class multimap
|
|
|
2030
2167
|
|
|
2031
2168
|
//! @copydoc ::boost::container::set::erase(const_iterator,const_iterator)
|
|
2032
2169
|
iterator erase(const_iterator first, const_iterator last);
|
|
2170
|
+
|
|
2171
|
+
//! @copydoc ::boost::container::set::erase(K&&)
|
|
2172
|
+
template<class K>
|
|
2173
|
+
size_type erase(K && k);
|
|
2033
2174
|
#endif
|
|
2034
2175
|
|
|
2035
2176
|
//! @copydoc ::boost::container::map::extract(const key_type&)
|
|
@@ -2039,6 +2180,22 @@ class multimap
|
|
|
2039
2180
|
return node_type(boost::move(base_nh));
|
|
2040
2181
|
}
|
|
2041
2182
|
|
|
2183
|
+
//! @copydoc ::boost::container::map::extract(K&&)
|
|
2184
|
+
template<class K>
|
|
2185
|
+
inline BOOST_CONTAINER_DOC1ST
|
|
2186
|
+
(node_type
|
|
2187
|
+
, typename dtl::enable_if_c<
|
|
2188
|
+
dtl::is_transparent<key_compare>::value && //transparent
|
|
2189
|
+
!dtl::is_convertible<K BOOST_MOVE_I iterator>::value && //not convertible to iterator
|
|
2190
|
+
!dtl::is_convertible<K BOOST_MOVE_I const_iterator>::value //not convertible to const_iterator
|
|
2191
|
+
BOOST_MOVE_I node_type>::type)
|
|
2192
|
+
extract(BOOST_FWD_REF(K) k)
|
|
2193
|
+
{
|
|
2194
|
+
typename base_t::node_type base_nh(this->base_t::extract(k));
|
|
2195
|
+
node_type nh(boost::move(base_nh));
|
|
2196
|
+
return BOOST_MOVE_RET(node_type, nh);
|
|
2197
|
+
}
|
|
2198
|
+
|
|
2042
2199
|
//! @copydoc ::boost::container::map::extract(const_iterator)
|
|
2043
2200
|
node_type extract(const_iterator position)
|
|
2044
2201
|
{
|
|
@@ -2311,11 +2468,18 @@ inline typename multimap<K, M, C, A, O>::size_type erase_if(multimap<K, M, C, A,
|
|
|
2311
2468
|
|
|
2312
2469
|
#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
|
|
2313
2470
|
|
|
2471
|
+
//! <b>Deduction guide</b>: allows a `multimap` to be constructed from the iterator
|
|
2472
|
+
//! range <code>[first, last)</code>, deducing the key and mapped types from the pair
|
|
2473
|
+
//! value type of `InputIterator` and using the default comparator and allocator.
|
|
2314
2474
|
template <typename InputIterator>
|
|
2315
2475
|
multimap(InputIterator, InputIterator) ->
|
|
2316
2476
|
multimap< it_based_non_const_first_type_t<InputIterator>
|
|
2317
2477
|
, it_based_second_type_t<InputIterator>>;
|
|
2318
2478
|
|
|
2479
|
+
//! <b>Deduction guide</b>: allows a `multimap` to be constructed from the iterator
|
|
2480
|
+
//! range <code>[first, last)</code>, deducing the key and mapped types from
|
|
2481
|
+
//! `InputIterator`. The trailing argument is used as the allocator if it is an
|
|
2482
|
+
//! allocator type, otherwise it is used as the comparator.
|
|
2319
2483
|
template < typename InputIterator, typename AllocatorOrCompare>
|
|
2320
2484
|
multimap(InputIterator, InputIterator, AllocatorOrCompare const&) ->
|
|
2321
2485
|
multimap< it_based_non_const_first_type_t<InputIterator>
|
|
@@ -2332,6 +2496,10 @@ multimap(InputIterator, InputIterator, AllocatorOrCompare const&) ->
|
|
|
2332
2496
|
>::type
|
|
2333
2497
|
>;
|
|
2334
2498
|
|
|
2499
|
+
//! <b>Deduction guide</b>: allows a `multimap` to be constructed from the iterator
|
|
2500
|
+
//! range <code>[first, last)</code>, deducing the key and mapped types from
|
|
2501
|
+
//! `InputIterator` and taking the comparator and allocator types from the supplied
|
|
2502
|
+
//! arguments.
|
|
2335
2503
|
template < typename InputIterator, typename Compare, typename Allocator
|
|
2336
2504
|
, typename = dtl::require_nonallocator_t<Compare>
|
|
2337
2505
|
, typename = dtl::require_allocator_t<Allocator>>
|
|
@@ -2341,11 +2509,18 @@ multimap(InputIterator, InputIterator, Compare const&, Allocator const&) ->
|
|
|
2341
2509
|
, Compare
|
|
2342
2510
|
, Allocator>;
|
|
2343
2511
|
|
|
2512
|
+
//! <b>Deduction guide</b>: allows a `multimap` to be constructed from an already
|
|
2513
|
+
//! ordered iterator range <code>[first, last)</code>, deducing the key and mapped
|
|
2514
|
+
//! types from `InputIterator` and using the default comparator and allocator.
|
|
2344
2515
|
template <typename InputIterator>
|
|
2345
2516
|
multimap(ordered_range_t, InputIterator, InputIterator) ->
|
|
2346
2517
|
multimap< it_based_non_const_first_type_t<InputIterator>
|
|
2347
2518
|
, it_based_second_type_t<InputIterator>>;
|
|
2348
2519
|
|
|
2520
|
+
//! <b>Deduction guide</b>: allows a `multimap` to be constructed from an already
|
|
2521
|
+
//! ordered iterator range <code>[first, last)</code>, deducing the key and mapped
|
|
2522
|
+
//! types from `InputIterator`. The trailing argument is used as the allocator if it
|
|
2523
|
+
//! is an allocator type, otherwise it is used as the comparator.
|
|
2349
2524
|
template < typename InputIterator, typename AllocatorOrCompare>
|
|
2350
2525
|
multimap(ordered_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
|
|
2351
2526
|
multimap< it_based_non_const_first_type_t<InputIterator>
|
|
@@ -2362,6 +2537,10 @@ multimap(ordered_range_t, InputIterator, InputIterator, AllocatorOrCompare const
|
|
|
2362
2537
|
>::type
|
|
2363
2538
|
>;
|
|
2364
2539
|
|
|
2540
|
+
//! <b>Deduction guide</b>: allows a `multimap` to be constructed from an already
|
|
2541
|
+
//! ordered iterator range <code>[first, last)</code>, deducing the key and mapped
|
|
2542
|
+
//! types from `InputIterator` and taking the comparator and allocator types from the
|
|
2543
|
+
//! supplied arguments.
|
|
2365
2544
|
template < typename InputIterator, typename Compare, typename Allocator
|
|
2366
2545
|
, typename = dtl::require_nonallocator_t<Compare>
|
|
2367
2546
|
, typename = dtl::require_allocator_t<Allocator>>
|
|
@@ -104,6 +104,9 @@ class new_allocator<void>
|
|
|
104
104
|
|
|
105
105
|
|
|
106
106
|
//! This class is a reduced STL-compatible allocator that allocates memory using operator new
|
|
107
|
+
//! or compatible calls. This allocator is stateless and can be used with any type. It supports
|
|
108
|
+
//! overaligned types, even if the compiler does not support overaligned operator new.
|
|
109
|
+
//! It is a drop-in replacement for std::allocator
|
|
107
110
|
template<class T>
|
|
108
111
|
class new_allocator
|
|
109
112
|
{
|
|
@@ -151,6 +154,7 @@ class new_allocator
|
|
|
151
154
|
|
|
152
155
|
//!Allocates memory for an array of count elements.
|
|
153
156
|
//!Throws bad_alloc if there is no enough memory
|
|
157
|
+
BOOST_CONTAINER_NODISCARD
|
|
154
158
|
pointer allocate(size_type count)
|
|
155
159
|
{
|
|
156
160
|
return dtl::operator_new_allocate<T>(count);
|
|
@@ -165,6 +169,7 @@ class new_allocator
|
|
|
165
169
|
|
|
166
170
|
//!Returns the maximum number of elements that could be allocated.
|
|
167
171
|
//!Never throws
|
|
172
|
+
BOOST_CONTAINER_NODISCARD
|
|
168
173
|
inline size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
169
174
|
{ return std::size_t(-1)/(2*sizeof(T)); }
|
|
170
175
|
|
|
@@ -175,11 +180,13 @@ class new_allocator
|
|
|
175
180
|
|
|
176
181
|
//!An new_allocator always compares to true, as memory allocated with one
|
|
177
182
|
//!instance can be deallocated by another instance
|
|
183
|
+
BOOST_CONTAINER_NODISCARD
|
|
178
184
|
inline friend bool operator==(const new_allocator &, const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
|
179
185
|
{ return true; }
|
|
180
186
|
|
|
181
187
|
//!An new_allocator always compares to false, as memory allocated with one
|
|
182
188
|
//!instance can be deallocated by another instance
|
|
189
|
+
BOOST_CONTAINER_NODISCARD
|
|
183
190
|
inline friend bool operator!=(const new_allocator &, const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
|
184
191
|
{ return false; }
|
|
185
192
|
};
|