passenger 6.0.14 → 6.0.27
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 +5 -5
- data/CHANGELOG +380 -85
- data/CONTRIBUTING.md +2 -2
- data/CONTRIBUTORS +8 -0
- data/LICENSE +1 -1
- data/README.md +3 -3
- data/Rakefile +15 -4
- data/bin/passenger +2 -2
- data/bin/passenger-config +2 -2
- data/bin/passenger-install-apache2-module +7 -2
- data/bin/passenger-install-nginx-module +24 -8
- data/bin/passenger-memory-stats +2 -2
- data/bin/passenger-status +2 -2
- data/build/agent.rb +2 -4
- data/build/apache2.rb +3 -3
- data/build/basics.rb +14 -6
- data/build/common_library.rb +3 -8
- data/build/cxx_tests.rb +20 -9
- data/build/integration_tests.rb +10 -9
- data/build/misc.rb +2 -4
- data/build/nginx.rb +2 -2
- data/build/node_tests.rb +2 -2
- data/build/oxt_tests.rb +2 -2
- data/build/packaging.rb +2 -2
- data/build/ruby_extension.rb +2 -2
- data/build/ruby_tests.rb +3 -3
- data/build/schema_printer.rb +2 -4
- data/build/support/cplusplus.rb +2 -2
- data/build/support/cxx_dependency_map.rb +249 -311
- data/build/support/general.rb +2 -2
- data/build/support/vendor/cxx_hinted_parser/LICENSE.md +1 -1
- data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +2 -2
- data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser.rb +2 -2
- data/build/support/vendor/cxxcodebuilder/LICENSE.md +1 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +2 -2
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/initializer_builder.rb +2 -2
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder.rb +2 -2
- data/build/test_basics.rb +27 -13
- data/dev/copy_boost_headers +96 -77
- data/dev/index_cxx_dependencies.rb +1 -1
- data/dev/nginx_version_sha256 +72 -0
- data/doc/AiInstructions.md +112 -0
- data/doc/CxxMockingStrategy.md +42 -0
- data/doc/CxxTestingGuide.md +110 -0
- data/doc/DesignAspects/LimitedGemDependencies.md +47 -0
- data/doc/DesignAspects/NoGemActivationDuringRubyLoaderInitialization.md +27 -0
- data/doc/TempFileHandling.md +15 -0
- data/package.json +15 -15
- data/passenger.gemspec +8 -2
- data/resources/templates/apache2/deployment_example.txt.erb +1 -1
- data/resources/templates/nginx/deployment_example.txt.erb +1 -1
- data/resources/templates/standalone/http.erb +1 -0
- data/resources/templates/standalone/server.erb +2 -0
- data/src/agent/AgentMain.cpp +4 -10
- data/src/agent/Core/ApiServer.h +3 -4
- data/src/agent/Core/ApplicationPool/AbstractSession.h +12 -3
- data/src/agent/Core/ApplicationPool/BasicGroupInfo.h +2 -2
- data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +2 -2
- data/src/agent/Core/ApplicationPool/Common.h +2 -2
- data/src/agent/Core/ApplicationPool/Context.h +7 -4
- data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +10 -2
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +12 -4
- data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +10 -2
- data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +11 -2
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +11 -2
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +85 -5
- data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +66 -21
- data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +10 -2
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +11 -3
- data/src/agent/Core/ApplicationPool/Group/Verification.cpp +10 -2
- data/src/agent/Core/ApplicationPool/Group.h +18 -8
- data/src/agent/Core/ApplicationPool/Implementation.cpp +2 -5
- data/src/agent/Core/ApplicationPool/Options.h +3 -4
- data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +7 -2
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +7 -2
- data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +7 -2
- data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +7 -2
- data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +7 -2
- data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +7 -2
- data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +7 -2
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +17 -3
- data/src/agent/Core/ApplicationPool/Pool.h +2 -4
- data/src/agent/Core/ApplicationPool/Process.cpp +2 -2
- data/src/agent/Core/ApplicationPool/Process.h +24 -8
- data/src/agent/Core/ApplicationPool/Session.h +22 -22
- data/src/agent/Core/ApplicationPool/Socket.h +17 -7
- data/src/agent/Core/ApplicationPool/TestSession.h +76 -17
- data/src/agent/Core/Config.h +17 -40
- data/src/agent/Core/ConfigChange.cpp +3 -43
- data/src/agent/Core/ConfigChange.h +2 -2
- data/src/agent/Core/Controller/AppResponse.h +2 -3
- data/src/agent/Core/Controller/BufferBody.cpp +2 -2
- data/src/agent/Core/Controller/CheckoutSession.cpp +125 -16
- data/src/agent/Core/Controller/Client.h +2 -3
- data/src/agent/Core/Controller/Config.cpp +2 -2
- data/src/agent/Core/Controller/Config.h +14 -5
- data/src/agent/Core/Controller/ForwardResponse.cpp +2 -2
- data/src/agent/Core/Controller/Hooks.cpp +15 -2
- data/src/agent/Core/Controller/Implementation.cpp +2 -2
- data/src/agent/Core/Controller/InitRequest.cpp +4 -3
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +2 -2
- data/src/agent/Core/Controller/InternalUtils.cpp +14 -2
- data/src/agent/Core/Controller/Miscellaneous.cpp +2 -2
- data/src/agent/Core/Controller/Request.h +5 -4
- data/src/agent/Core/Controller/SendRequest.cpp +4 -4
- data/src/agent/Core/Controller/StateInspection.cpp +2 -2
- data/src/agent/Core/Controller/TurboCaching.h +2 -2
- data/src/agent/Core/Controller.h +15 -15
- data/src/agent/Core/CoreMain.cpp +14 -75
- data/src/agent/Core/OptionParser.h +11 -9
- data/src/agent/Core/ResponseCache.h +5 -4
- data/src/agent/Core/SecurityUpdateChecker.h +7 -8
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +2 -2
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h.cxxcodebuilder +2 -2
- data/src/agent/Core/SpawningKit/Config.h +2 -2
- data/src/agent/Core/SpawningKit/Context.h +2 -2
- data/src/agent/Core/SpawningKit/DirectSpawner.h +2 -2
- data/src/agent/Core/SpawningKit/DummySpawner.h +2 -2
- data/src/agent/Core/SpawningKit/ErrorRenderer.h +7 -2
- data/src/agent/Core/SpawningKit/Exceptions.h +2 -2
- data/src/agent/Core/SpawningKit/Factory.h +2 -2
- data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +2 -2
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +6 -6
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +3 -55
- data/src/agent/Core/SpawningKit/Handshake/Session.h +5 -2
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +7 -4
- data/src/agent/Core/SpawningKit/Journey.h +2 -2
- data/src/agent/Core/SpawningKit/PipeWatcher.h +20 -5
- data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +2 -2
- data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h.cxxcodebuilder +2 -2
- data/src/agent/Core/SpawningKit/Result.h +2 -2
- data/src/agent/Core/SpawningKit/SmartSpawner.h +8 -4
- data/src/agent/Core/SpawningKit/Spawner.h +6 -2
- data/src/agent/Core/SpawningKit/UserSwitchingRules.h +4 -4
- data/src/agent/Core/TelemetryCollector.h +2 -2
- data/src/agent/ExecHelper/ExecHelperMain.cpp +12 -14
- data/src/agent/FileReadHelper/FileReadHelperMain.cpp +9 -12
- data/src/{cxx_supportlib/FileTools/LargeFiles.h → agent/MainFunctions.h} +12 -17
- data/src/agent/Shared/ApiAccountUtils.h +2 -2
- data/src/agent/Shared/ApiServerUtils.h +5 -4
- data/src/agent/Shared/ApplicationPoolApiKey.h +2 -2
- data/src/agent/Shared/Fundamentals/AbortHandler.cpp +90 -11
- data/src/agent/Shared/Fundamentals/AbortHandler.h +4 -2
- data/src/agent/Shared/Fundamentals/Initialization.cpp +12 -6
- data/src/agent/Shared/Fundamentals/Initialization.h +5 -5
- data/src/agent/Shared/Fundamentals/Utils.cpp +2 -2
- data/src/agent/Shared/Fundamentals/Utils.h +2 -2
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +33 -13
- data/src/agent/SystemMetrics/SystemMetricsMain.cpp +3 -2
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +8 -6
- data/src/agent/Watchdog/AgentWatcher.cpp +2 -2
- data/src/agent/Watchdog/ApiServer.h +3 -3
- data/src/agent/Watchdog/Config.h +6 -23
- data/src/agent/Watchdog/CoreWatcher.cpp +2 -2
- data/src/agent/Watchdog/InstanceDirToucher.cpp +2 -2
- data/src/agent/Watchdog/WatchdogMain.cpp +15 -23
- data/src/apache2_module/Bucket.cpp +2 -2
- data/src/apache2_module/Bucket.h +2 -2
- data/src/apache2_module/CBindings.cpp +2 -2
- data/src/apache2_module/Config.cpp +2 -2
- data/src/apache2_module/Config.h +2 -2
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +12 -22
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +2 -2
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +7 -2
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp.cxxcodebuilder +2 -2
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +32 -62
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +2 -2
- data/src/apache2_module/ConfigGeneral/Common.h +2 -2
- data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +7 -5
- data/src/apache2_module/ConfigGeneral/SetterFuncs.h +2 -2
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +7 -2
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +2 -2
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +5 -2
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +2 -2
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +15 -2
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +2 -2
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +9 -2
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +2 -2
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +18 -2
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +5 -2
- data/src/apache2_module/DirectoryMapper.h +2 -2
- data/src/apache2_module/Hooks.cpp +29 -7
- data/src/apache2_module/Hooks.h +2 -2
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +11 -46
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +2 -2
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +15 -55
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +4 -3
- data/src/apache2_module/Utils.h +2 -2
- data/src/apache2_module/mod_passenger.c +2 -2
- data/src/cxx_supportlib/Algorithms/Hasher.cpp +3 -3
- data/src/cxx_supportlib/Algorithms/Hasher.h +6 -9
- data/src/cxx_supportlib/Algorithms/MovingAverage.h +3 -168
- data/src/cxx_supportlib/AppLocalConfigFileUtils.h +2 -2
- data/src/cxx_supportlib/AppTypeDetector/CBindings.cpp +2 -2
- data/src/cxx_supportlib/AppTypeDetector/CBindings.h +2 -2
- data/src/cxx_supportlib/AppTypeDetector/Detector.h +2 -2
- data/src/cxx_supportlib/BackgroundEventLoop.cpp +6 -2
- data/src/cxx_supportlib/BackgroundEventLoop.h +2 -2
- data/src/cxx_supportlib/ConfigKit/AsyncUtils.h +2 -2
- data/src/cxx_supportlib/ConfigKit/Common.h +3 -3
- data/src/cxx_supportlib/ConfigKit/ConfigKit.h +2 -2
- data/src/cxx_supportlib/ConfigKit/DummyTranslator.h +2 -2
- data/src/cxx_supportlib/ConfigKit/PrefixTranslator.h +2 -2
- data/src/cxx_supportlib/ConfigKit/Schema.h +2 -2
- data/src/cxx_supportlib/ConfigKit/SchemaUtils.h +2 -2
- data/src/cxx_supportlib/ConfigKit/Store.h +2 -2
- data/src/cxx_supportlib/ConfigKit/SubComponentUtils.h +2 -2
- data/src/cxx_supportlib/ConfigKit/TableTranslator.h +2 -2
- data/src/cxx_supportlib/ConfigKit/Translator.h +2 -2
- data/src/cxx_supportlib/ConfigKit/Utils.h +2 -2
- data/src/cxx_supportlib/Constants.h +4 -3
- data/src/cxx_supportlib/Constants.h.cxxcodebuilder +2 -2
- data/src/cxx_supportlib/DataStructures/HashedStaticString.h +2 -2
- data/src/cxx_supportlib/DataStructures/LString.cpp +2 -2
- data/src/cxx_supportlib/DataStructures/LString.h +6 -2
- data/src/cxx_supportlib/DataStructures/StringKeyTable.h +3 -3
- data/src/cxx_supportlib/DataStructures/StringMap.h +4 -6
- data/src/cxx_supportlib/Exceptions.cpp +2 -2
- data/src/cxx_supportlib/Exceptions.h +2 -2
- data/src/cxx_supportlib/FileDescriptor.h +2 -2
- data/src/cxx_supportlib/FileTools/FileManip.cpp +2 -2
- data/src/cxx_supportlib/FileTools/FileManip.h +4 -2
- data/src/cxx_supportlib/FileTools/PathManip.cpp +13 -4
- data/src/cxx_supportlib/FileTools/PathManip.h +2 -2
- data/src/cxx_supportlib/FileTools/PathManipCBindings.cpp +2 -2
- data/src/cxx_supportlib/FileTools/PathManipCBindings.h +2 -2
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +2 -2
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.h +2 -2
- data/src/cxx_supportlib/Hooks.h +2 -3
- data/src/cxx_supportlib/IOTools/BufferedIO.h +2 -2
- data/src/cxx_supportlib/IOTools/IOUtils.cpp +53 -68
- data/src/cxx_supportlib/IOTools/IOUtils.h +67 -75
- data/src/cxx_supportlib/IOTools/MessageIO.h +2 -2
- data/src/cxx_supportlib/IOTools/MessageSerialization.h +2 -2
- data/src/cxx_supportlib/InstanceDirectory.h +2 -2
- data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +5 -5
- data/src/cxx_supportlib/JsonTools/Autocast.h +2 -2
- data/src/cxx_supportlib/JsonTools/CBindings.cpp +2 -4
- data/src/cxx_supportlib/JsonTools/CBindings.h +2 -2
- data/src/cxx_supportlib/JsonTools/JsonUtils.h +6 -6
- data/src/cxx_supportlib/LoggingKit/Assert.h +2 -2
- data/src/cxx_supportlib/LoggingKit/Config.h +2 -2
- data/src/cxx_supportlib/LoggingKit/Context.h +18 -23
- data/src/cxx_supportlib/LoggingKit/Forward.h +2 -4
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +38 -74
- data/src/cxx_supportlib/LoggingKit/Logging.h +2 -2
- data/src/cxx_supportlib/LoggingKit/LoggingKit.h +2 -2
- data/src/cxx_supportlib/LveLoggingDecorator.h +2 -2
- data/src/cxx_supportlib/MemoryKit/mbuf.cpp +14 -6
- data/src/cxx_supportlib/MemoryKit/mbuf.h +3 -3
- 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 +2 -2
- data/src/cxx_supportlib/ProcessManagement/Ruby.h +2 -2
- data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +2 -2
- data/src/cxx_supportlib/ProcessManagement/Spawn.h +2 -2
- data/src/cxx_supportlib/ProcessManagement/Utils.cpp +3 -3
- data/src/cxx_supportlib/ProcessManagement/Utils.h +2 -2
- data/src/cxx_supportlib/RandomGenerator.h +2 -2
- data/src/cxx_supportlib/ResourceLocator.h +3 -3
- data/src/cxx_supportlib/SafeLibev.h +5 -5
- data/src/cxx_supportlib/SecurityKit/Crypto.cpp +5 -96
- data/src/cxx_supportlib/SecurityKit/Crypto.h +2 -10
- data/src/cxx_supportlib/SecurityKit/MemZeroGuard.h +2 -2
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +4 -2
- data/src/cxx_supportlib/ServerKit/Channel.h +2 -2
- data/src/cxx_supportlib/ServerKit/Client.h +2 -2
- data/src/cxx_supportlib/ServerKit/ClientRef.h +2 -2
- data/src/cxx_supportlib/ServerKit/Config.h +2 -2
- data/src/cxx_supportlib/ServerKit/Context.h +8 -2
- data/src/cxx_supportlib/ServerKit/CookieUtils.h +2 -2
- data/src/cxx_supportlib/ServerKit/Errors.h +5 -4
- data/src/cxx_supportlib/ServerKit/FdSinkChannel.h +2 -2
- data/src/cxx_supportlib/ServerKit/FdSourceChannel.h +2 -2
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +2 -2
- data/src/cxx_supportlib/ServerKit/FileBufferedFdSinkChannel.h +2 -2
- data/src/cxx_supportlib/ServerKit/HeaderTable.h +2 -2
- data/src/cxx_supportlib/ServerKit/Hooks.h +4 -4
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParserState.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpClient.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +105 -71
- data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +6 -3
- data/src/cxx_supportlib/ServerKit/HttpRequest.h +4 -4
- data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpServer.h +20 -14
- data/src/cxx_supportlib/ServerKit/Implementation.cpp +2 -2
- data/src/cxx_supportlib/ServerKit/Server.h +2 -8
- data/src/cxx_supportlib/ServerKit/llerrors.h +84 -0
- data/src/cxx_supportlib/ServerKit/llhttp.c +10168 -0
- data/src/cxx_supportlib/ServerKit/llhttp.h +903 -0
- data/src/cxx_supportlib/ServerKit/llhttp_api.c +510 -0
- data/src/cxx_supportlib/ServerKit/llhttp_http.c +170 -0
- data/src/cxx_supportlib/ServerKit/llversion.h +12 -0
- data/src/cxx_supportlib/ServerKit/url_parser.c +574 -0
- data/src/cxx_supportlib/ServerKit/url_parser.h +74 -0
- data/src/cxx_supportlib/StaticString.h +5 -3
- data/src/cxx_supportlib/StrIntTools/DateParsing.h +3 -3
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +14 -5
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +9 -4
- data/src/cxx_supportlib/StrIntTools/StrIntUtilsNoStrictAliasing.cpp +2 -2
- data/src/cxx_supportlib/StrIntTools/StringScanning.h +2 -2
- data/src/cxx_supportlib/StrIntTools/Template.h +2 -2
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +2 -2
- data/src/cxx_supportlib/SystemTools/ProcessMetricsCollector.h +2 -2
- data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +4 -6
- data/src/cxx_supportlib/SystemTools/SystemTime.cpp +2 -2
- data/src/cxx_supportlib/SystemTools/SystemTime.h +2 -2
- data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +16 -16
- data/src/cxx_supportlib/SystemTools/UserDatabase.h +8 -12
- data/src/cxx_supportlib/Utils/AnsiColorConstants.h +13 -11
- data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +4 -2
- data/src/cxx_supportlib/Utils/BlockingQueue.h +2 -2
- data/src/cxx_supportlib/Utils/CachedFileStat.cpp +2 -2
- data/src/cxx_supportlib/Utils/CachedFileStat.h +2 -2
- data/src/cxx_supportlib/Utils/CachedFileStat.hpp +2 -2
- data/src/cxx_supportlib/Utils/ClassUtils.h +2 -2
- data/src/cxx_supportlib/Utils/Curl.h +2 -2
- data/src/cxx_supportlib/Utils/FastStringStream.h +9 -9
- data/src/cxx_supportlib/Utils/FileChangeChecker.h +2 -2
- data/src/cxx_supportlib/Utils/HttpConstants.h +2 -2
- data/src/cxx_supportlib/Utils/IniFile.h +26 -27
- data/src/cxx_supportlib/Utils/MessagePassing.h +2 -2
- data/src/cxx_supportlib/Utils/OptionParsing.h +2 -2
- data/src/cxx_supportlib/Utils/ReleaseableScopedPointer.h +2 -2
- data/src/cxx_supportlib/Utils/ScopeGuard.h +2 -2
- data/src/cxx_supportlib/Utils/SpeedMeter.h +2 -5
- data/src/cxx_supportlib/Utils/Timer.h +2 -2
- data/src/cxx_supportlib/Utils/VariantMap.h +2 -2
- data/src/cxx_supportlib/Utils.cpp +3 -3
- data/src/cxx_supportlib/Utils.h +2 -32
- data/src/cxx_supportlib/WatchdogLauncher.cpp +2 -2
- data/src/cxx_supportlib/WatchdogLauncher.h +3 -5
- data/src/cxx_supportlib/WrapperRegistry/CBindings.cpp +2 -2
- data/src/cxx_supportlib/WrapperRegistry/CBindings.h +2 -2
- data/src/cxx_supportlib/WrapperRegistry/Entry.h +2 -2
- data/src/cxx_supportlib/WrapperRegistry/Registry.h +2 -2
- 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/spin_lock_darwin.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/spin_lock_gcc_x86.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/spin_lock_portable.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/spin_lock_pthreads.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +5 -1
- data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +2 -1
- data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +1 -1
- data/src/cxx_supportlib/oxt/implementation.cpp +53 -4
- 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 +13 -5
- data/src/cxx_supportlib/oxt/system_calls.hpp +4 -5
- data/src/cxx_supportlib/oxt/thread.hpp +2 -2
- data/src/cxx_supportlib/oxt/tracable_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-copy/adhoc_lve.h +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_iterator.hpp +11 -3
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find_iterator.hpp +27 -1
- data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_sunos.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +124 -26
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +10 -18
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_impl.hpp +183 -64
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +170 -68
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +83 -12
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +40 -11
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_aarch32.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_aarch64.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_arm.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +19 -10
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +19 -54
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_ppc.hpp +105 -100
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +107 -40
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +32 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +7 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +26 -27
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +73 -72
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/float_sizes.hpp +122 -35
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +50 -12
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_arm_asm_common.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_ppc_asm_common.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +15 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/has_unique_object_representations.hpp +143 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_enum.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_nothrow_default_constructible.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_darwin_ulock.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_darwin_ulock.hpp +158 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +10 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +2 -60
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +257 -1789
- data/src/cxx_supportlib/vendor-modified/boost/bind/{bind_cc.hpp → detail/bind_cc.hpp} +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf2_cc.hpp +210 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf_cc.hpp +405 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/integer_sequence.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/result_traits.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/tuple_for_each.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +140 -290
- data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +3 -16
- data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +0 -279
- data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/chrono/config.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/is_evenly_divisible_by.hpp +1 -7
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/requires_cxx11.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/scan_keyword.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +10 -6
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_get.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_io.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_put.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_style.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/timezone.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/utility/ios_base_state_ptr.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io_v1/chrono_io.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/chrono/system_clocks.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/time_point.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +20 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +89 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +16 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +19 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +139 -34
- data/src/cxx_supportlib/vendor-modified/boost/config/header_deprecated.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/wasm.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +45 -18
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +11 -45
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +42 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/workaround.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +26 -21
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +30 -26
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +178 -39
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +827 -303
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +57 -57
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/addressof.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +155 -179
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocation_type.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +14 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_list.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_slist.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +24 -21
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_end.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +52 -16
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_or_allocator_rebind.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +23 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +891 -182
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +121 -66
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +42 -42
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +310 -231
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +16 -12
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_pair.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +213 -195
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +98 -12
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +48 -12
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +8 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +268 -120
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +49 -122
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +1 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_resource.hpp +7 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +28 -28
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +265 -354
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +93 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +1364 -1296
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +367 -260
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +112 -93
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +80 -125
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +136 -119
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +19 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +27 -21
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +35 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +158 -45
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/unsynchronized_pool_resource.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +81 -83
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +93 -90
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +82 -127
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +229 -245
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +198 -175
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +131 -87
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +373 -374
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +618 -631
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_integral.hpp +146 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_mix.hpp +113 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_range.hpp +408 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple_like.hpp +62 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/mulx.hpp +79 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +395 -581
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +25 -24
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +98 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_described_class.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_range.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_tuple_like.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/alignof.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/alloc_construct.hpp +7 -81
- data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +448 -215
- data/src/cxx_supportlib/vendor-modified/boost/core/allocator_traits.hpp +112 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +418 -45
- data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +29 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +100 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +19 -9
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/is_same.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/lwt_unattended.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/minstd_rand.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_pause.hpp +71 -0
- data/src/cxx_supportlib/vendor-modified/boost/{smart_ptr → core}/detail/sp_thread_sleep.hpp +39 -21
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_yield.hpp +100 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/splitmix64.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +1272 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +78 -21
- data/src/cxx_supportlib/vendor-modified/boost/core/fclose_deleter.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/functor.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/identity.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/invoke_swap.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/is_same.hpp +10 -15
- data/src/cxx_supportlib/vendor-modified/boost/core/launder.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +41 -37
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +8 -54
- data/src/cxx_supportlib/vendor-modified/boost/core/make_span.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/max_align.hpp +82 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/memory_resource.hpp +108 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/noinit_adaptor.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/pointer_in_range.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/pointer_traits.hpp +111 -60
- data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +23 -16
- data/src/cxx_supportlib/vendor-modified/boost/core/serialization.hpp +131 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/snprintf.hpp +173 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +401 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +10 -40
- data/src/cxx_supportlib/vendor-modified/boost/core/type_name.hpp +1186 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/verbose_terminate_handler.hpp +88 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/yield_primitives.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters_limited.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/parsers.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/iso_format.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_date_time.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/conversion.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters_limited.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_parser.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/describe/bases.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/cx_streq.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/void_t.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/members.hpp +161 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +3 -7
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +24 -126
- data/src/cxx_supportlib/vendor-modified/boost/detail/workaround.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/exception/current_exception_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +58 -30
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/requires_cxx11.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +85 -3
- data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/function/function0.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function1.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function10.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function2.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function3.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function4.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function5.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function6.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function7.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function8.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function9.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +71 -223
- data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +36 -41
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +428 -452
- data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +1 -31
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +5 -61
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +6 -10
- data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/integer/integer_log2.hpp +85 -80
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +32 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +16 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +45 -45
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +32 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +104 -97
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +87 -90
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +29 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +77 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algorithm.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/array_initializer.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +38 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +84 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/empty_node_checker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +1 -32
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/function_detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +14 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +277 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +11 -49
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_integral.hpp +119 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_mix.hpp +130 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +195 -115
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +22 -26
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +121 -75
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_to_value.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +7 -17
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/reverse_iterator.hpp +3 -140
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +26 -19
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +28 -28
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/value_functors.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +70 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +1722 -995
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/intrusive_fwd.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +84 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +68 -63
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/options.hpp +17 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +15 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +16 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +38 -38
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +32 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +32 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +18 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +80 -79
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +32 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +16 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +38 -36
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +22 -19
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +25 -21
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +44 -37
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +64 -54
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/io/ios_state.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +148 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +106 -25
- data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +7 -13
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +113 -131
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +618 -646
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +83 -74
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +26 -33
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +22 -29
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +22 -161
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +9 -12
- data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/chrono.cpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/process_cpu_clocks.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/thread_clock.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/random/src/random_device.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +10 -18
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +13 -14
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +24 -14
- data/src/cxx_supportlib/vendor-modified/boost/limits.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +7 -5
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +48 -33
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +92 -75
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +216 -185
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +22 -11
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/insertion_sort.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +125 -165
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge_sort.hpp +24 -15
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/pdqsort.hpp +16 -5
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/search.hpp +79 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/set_difference.hpp +8 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +22 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/addressof.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/force_ptr.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +108 -9
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +9 -52
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +15 -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 +70 -26
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/placement_new.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/reverse_iterator.hpp +40 -33
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_end.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/to_raw_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +90 -30
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +90 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/move/make_unique.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +65 -66
- data/src/cxx_supportlib/vendor-modified/boost/move/utility.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/utility_core.hpp +38 -33
- data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +1386 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +120 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/config.hpp +149 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_append.hpp +321 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_copy_if.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_count.hpp +147 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_defer.hpp +119 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_fold.hpp +166 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_front.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_is_list.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_is_value_list.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_list.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_list_v.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_min_element.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_plus.hpp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_remove_if.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_rename.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_value.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_void.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_with_index.hpp +385 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/function.hpp +222 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +121 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integral.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/list.hpp +481 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/set.hpp +188 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/utility.hpp +169 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/integral_wrapper.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/template_arity.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/yes_no.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/next_prior.hpp +3 -44
- data/src/cxx_supportlib/vendor-modified/boost/nondet_random.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/none.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +15 -1
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/int_float_mixture.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/sign_mixture.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/udt_builtin_mixture.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +4 -49
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_aligned_storage.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +16 -7
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_hash.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +49 -48
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +31 -260
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_utility.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +169 -599
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_io.hpp +4 -7
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg_ref.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/unmatched_argument.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/overloads.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tag.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/void.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/binding.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/parameter/match.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/template_keyword.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/value_type.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/pointer_cast.hpp +12 -24
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +22 -9
- data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/loongarch.h +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sparc.h +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdc.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdcpp.h +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msvc.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +8 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/random/inversive_congruential.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +203 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/subtract_with_carry.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/random/uniform_real_distribution.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/random.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +4 -82
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/gcd_lcm.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_evenly_divisible_by.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_ratio.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/ratio/include.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio.hpp +5 -249
- data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_fwd.hpp +30 -56
- data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_io.hpp +0 -533
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +23 -13
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +235 -104
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +37 -43
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +1 -23
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +14 -18
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_sp_deleter.hpp +7 -15
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +40 -91
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_convertible.hpp +0 -16
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +13 -14
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +16 -17
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +17 -56
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_noexcept.hpp +5 -14
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_type_traits.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_std_atomic.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +32 -119
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ref_counter.hpp +17 -18
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +10 -8
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +28 -564
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +17 -20
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +20 -21
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +34 -66
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +79 -370
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +31 -88
- data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/append_int.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +26 -8
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/enable_if.hpp +3 -12
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +38 -50
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +76 -49
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +261 -159
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +145 -58
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +17 -5
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +3 -13
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/mutex.hpp +128 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +1 -43
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category.hpp +20 -77
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category_impl.hpp +97 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +8 -20
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_message.hpp +71 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/errc.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +30 -59
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/deque.hpp +1 -24
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/functional.hpp +1 -14
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/list.hpp +1 -14
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_arg.hpp +2 -12
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_traits.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/config.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/default_delete.hpp +0 -16
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/pointer_traits.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/scoped_allocator.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/shared_ptr.hpp +0 -19
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/unique_ptr.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +2 -26
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/tuple.hpp +1 -18
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/vector.hpp +1 -14
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_to_unsigned.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_trim.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/scoped_thread.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/thread_guard.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +104 -6
- data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +25 -24
- data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_helper.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_swappable_cxx_11.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +22 -8
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_floating_point.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_integral.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_swappable.hpp +4 -24
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_swappable.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/decltype.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/incr_registration_group.hpp +1 -10
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/bitset.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/complex.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/deque.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/fstream.hpp +2 -15
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +4 -51
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iostream.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/istream.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iterator.hpp +2 -46
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/list.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/locale.hpp +2 -29
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/map.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +4 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/ostream.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/queue.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/set.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/sstream.hpp +2 -19
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/stack.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/streambuf.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +2 -12
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/utility.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/valarray.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/vector.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +8 -202
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +1055 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +917 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map.hpp +1202 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map_fwd.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set.hpp +1065 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set_fwd.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocator_constructed.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/archive_constructed.hpp +71 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/bad_archive_exception.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/concurrent_static_asserts.hpp +127 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +900 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +1993 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +2404 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/cumulative_stats.hpp +177 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/element_type.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +94 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_set_types.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/ignore_wshadow.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +319 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_handle.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +150 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_handle.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/reentrancy_check.hpp +138 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/restore_wshadow.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/rw_spinlock.hpp +179 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +661 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/tuple_rotate_right.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/types_constructibility.hpp +172 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +1463 -3502
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +10 -31
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/mulx.hpp +129 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/narrow_cast.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/opt_storage.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/prime_fmod.hpp +214 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialization_version.hpp +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_container.hpp +204 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_fca_container.hpp +156 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_tracked_address.hpp +104 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/set.hpp +8 -30
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/static_assert.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/throw_exception.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/xmx.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +821 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +631 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +760 -994
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +35 -13
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +895 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +707 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_printers.hpp +414 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +539 -664
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +35 -15
- data/src/cxx_supportlib/vendor-modified/boost/utility/base_from_member.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/utility/binary.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +1 -43
- data/src/cxx_supportlib/vendor-modified/boost/utility/in_place_factory.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +24 -3
- data/src/cxx_supportlib/vendor-modified/boost/utility/swap.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/utility/typed_in_place_factory.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +12 -8
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +2 -9
- data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +3 -3
- data/src/helper-scripts/backtrace-sanitizer.rb +2 -2
- data/src/helper-scripts/crash-watch.rb +1 -1
- data/src/helper-scripts/download_binaries/extconf.rb +2 -2
- data/src/helper-scripts/meteor-loader.rb +9 -4
- data/src/helper-scripts/node-loader.js +2 -2
- data/src/helper-scripts/prespawn +2 -2
- data/src/helper-scripts/rack-loader.rb +2 -2
- data/src/helper-scripts/rack-preloader.rb +2 -2
- data/src/helper-scripts/wsgi-loader.py +36 -19
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +26 -34
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c.cxxcodebuilder +2 -2
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +14 -2
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c.cxxcodebuilder +2 -2
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +38 -50
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c.cxxcodebuilder +2 -2
- data/src/nginx_module/ConfigGeneral/ManifestGeneration.c +2 -2
- data/src/nginx_module/Configuration.c +8 -3
- data/src/nginx_module/Configuration.h +1 -1
- data/src/nginx_module/ContentHandler.c +1 -1
- data/src/nginx_module/ContentHandler.h +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +13 -2
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +2 -2
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +38 -2
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c.cxxcodebuilder +2 -2
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +29 -2
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +2 -2
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +8 -2
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c.cxxcodebuilder +2 -2
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +10 -2
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h.cxxcodebuilder +2 -2
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +7 -26
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +2 -2
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +13 -50
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +2 -2
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +6 -18
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h.cxxcodebuilder +2 -2
- 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 +2 -6
- data/src/nginx_module/ngx_http_passenger_module.h +1 -1
- data/src/nodejs_supportlib/phusion_passenger/line_reader.js +2 -2
- data/src/ruby_native_extension/extconf.rb +3 -3
- data/src/ruby_native_extension/passenger_native_support.c +22 -5
- data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +22 -26
- data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +18 -10
- data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/build_native_support_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +8 -4
- data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +12 -2
- data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/list_instances_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/main.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +15 -7
- data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/system_metrics_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/utils.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/constants.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +15 -5
- data/src/ruby_supportlib/phusion_passenger/message_channel.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/message_client.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/native_support.rb +12 -7
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +21 -30
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +11 -12
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +3 -3
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +56 -14
- data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +9 -31
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/gems.rb +10 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +6 -6
- data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +7 -37
- data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +13 -14
- data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +4 -4
- data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/plugin.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +14 -8
- data/src/ruby_supportlib/phusion_passenger/public_api.rb +5 -2
- data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +73 -0
- data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +14 -3
- data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +32 -58
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +7 -2
- data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/simple_benchmarking.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +27 -23
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/control_utils.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +6 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +3 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +2 -6
- data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +3 -4
- data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +9 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/utils/ansi_colors.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/utils/download.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +7 -198
- data/src/ruby_supportlib/phusion_passenger/utils/lock.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +67 -0
- data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/utils.rb +8 -17
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +2 -2
- 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 +5 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +6 -2
- 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 +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/spawn.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/version.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger.rb +11 -11
- data/src/schema_printer/SchemaPrinterMain.cpp +2 -6
- data/src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder +2 -2
- metadata +211 -741
- data/dev/webpacketpp.patch +0 -39
- data/src/agent/Core/AdminPanelConnector.h +0 -681
- data/src/cxx_supportlib/DataStructures/HashMap.h +0 -60
- data/src/cxx_supportlib/FileTools/LargeFiles.cpp +0 -41
- data/src/cxx_supportlib/ServerKit/http_parser.cpp +0 -2265
- data/src/cxx_supportlib/ServerKit/http_parser.h +0 -330
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +0 -975
- data/src/cxx_supportlib/vendor-modified/boost/align/align.hpp +0 -19
- data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of_forward.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align_cxx11.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of.hpp +0 -31
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of_cxx11.hpp +0 -23
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/element_type.hpp +0 -91
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/integral_constant.hpp +0 -53
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/min_size.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/array.hpp +0 -456
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +0 -302
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +0 -179
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +0 -179
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +0 -224
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +0 -1267
- data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +0 -135
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +0 -1305
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +0 -705
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +0 -292
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +0 -1296
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +0 -800
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +0 -909
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +0 -578
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +0 -1917
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +0 -2600
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +0 -409
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +0 -689
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +0 -1122
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +0 -454
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +0 -823
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +0 -723
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +0 -756
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +0 -2500
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +0 -255
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +0 -281
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +0 -247
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +0 -523
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +0 -361
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +0 -237
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +0 -176
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +0 -501
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +0 -220
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +0 -138
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +0 -1138
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +0 -330
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +0 -132
- data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +0 -66
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +0 -165
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +0 -1073
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +0 -109
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +0 -652
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +0 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +0 -127
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +0 -192
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +0 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +0 -94
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +0 -122
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +0 -151
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +0 -1938
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +0 -416
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +0 -62
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +0 -337
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +0 -141
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +0 -150
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +0 -150
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +0 -224
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +0 -278
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +0 -50
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +0 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +0 -206
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +0 -41
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +0 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +0 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +0 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +0 -290
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +0 -268
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +0 -561
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +0 -527
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +0 -333
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +0 -120
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +0 -610
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +0 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +0 -462
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +0 -111
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +0 -819
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +0 -173
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +0 -398
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +0 -115
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +0 -601
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +0 -76
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +0 -131
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +0 -65
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +0 -225
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_serial_port_service.ipp +0 -151
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +0 -302
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +0 -661
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +0 -126
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +0 -359
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +0 -96
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +0 -199
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +0 -670
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +0 -3966
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +0 -187
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +0 -356
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +0 -89
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +0 -204
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +0 -99
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +0 -174
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +0 -314
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +0 -254
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +0 -135
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +0 -50
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +0 -108
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +0 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +0 -66
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +0 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +0 -521
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +0 -62
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +0 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +0 -173
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +0 -216
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +0 -164
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +0 -91
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +0 -177
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +0 -120
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +0 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +0 -78
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +0 -87
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +0 -66
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +0 -111
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +0 -81
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +0 -218
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +0 -511
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_serial_port_service.hpp +0 -239
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +0 -244
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +0 -125
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +0 -161
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +0 -147
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +0 -164
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +0 -158
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +0 -607
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +0 -654
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_fwd.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +0 -214
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +0 -107
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +0 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +0 -142
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +0 -152
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +0 -147
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +0 -231
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +0 -89
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +0 -250
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +0 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +0 -231
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +0 -385
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +0 -318
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +0 -419
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +0 -190
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +0 -75
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +0 -175
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +0 -146
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +0 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +0 -62
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +0 -53
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +0 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +0 -258
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +0 -55
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +0 -53
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +0 -391
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +0 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +0 -105
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +0 -158
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +0 -294
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +0 -153
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +0 -329
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +0 -123
- data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +0 -361
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +0 -339
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +0 -2348
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +0 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +0 -1553
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +0 -1214
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +0 -401
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +0 -1217
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +0 -493
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +0 -235
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +0 -223
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_invocable.hpp +0 -154
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +0 -107
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_receiver.hpp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/bulk_sender.hpp +0 -263
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/submit_receiver.hpp +0 -235
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/void_receiver.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +0 -289
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +0 -254
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/receiver_invocation_error.ipp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +0 -1118
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +0 -228
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +0 -96
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +0 -869
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +0 -333
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +0 -282
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +0 -50
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +0 -867
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +0 -291
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +0 -313
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +0 -254
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +0 -254
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +0 -487
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +0 -251
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +0 -454
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +0 -414
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +0 -349
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +0 -304
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +0 -137
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +0 -133
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +0 -538
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +0 -1057
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +0 -607
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/completion_handler_erasure.hpp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +0 -120
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_traits.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +0 -181
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/append.hpp +0 -219
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +0 -231
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_tuple.hpp +0 -248
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/deferred.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +0 -434
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/prepend.hpp +0 -219
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +0 -217
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +0 -608
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +0 -284
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +0 -125
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +0 -135
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +0 -112
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +0 -123
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +0 -124
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +0 -129
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +0 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +0 -762
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +0 -500
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +0 -480
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +0 -348
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +0 -689
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +0 -906
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +0 -258
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +0 -132
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +0 -253
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +0 -111
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +0 -84
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +0 -302
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +0 -446
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +0 -177
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +0 -258
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +0 -1201
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +0 -735
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +0 -3317
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +0 -611
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +0 -556
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +0 -519
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +0 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +0 -94
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +0 -187
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +0 -356
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +0 -143
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +0 -293
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1030
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +0 -1102
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +0 -646
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +0 -1552
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +0 -378
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +0 -292
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +0 -357
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +0 -164
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +0 -136
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +0 -384
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +0 -131
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +0 -55
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +0 -293
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +0 -1078
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +0 -115
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +0 -194
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +0 -246
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +0 -313
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +0 -143
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +0 -201
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +0 -568
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +0 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +0 -117
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +0 -241
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +0 -212
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +0 -352
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +0 -218
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +0 -55
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +0 -187
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +0 -193
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +0 -263
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +0 -237
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +0 -131
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +0 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +0 -63
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +0 -249
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +0 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +0 -141
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +0 -133
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +0 -153
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +0 -710
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +0 -503
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +0 -738
- data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +0 -328
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +0 -1390
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +0 -740
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +0 -3033
- data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +0 -575
- data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +0 -356
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +0 -169
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +0 -561
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +0 -346
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +0 -763
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +0 -211
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +0 -121
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +0 -172
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +0 -365
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +0 -167
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +0 -427
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +0 -74
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +0 -208
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +0 -78
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +0 -129
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +0 -1247
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +0 -104
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +0 -75
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +0 -974
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +0 -65
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +0 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +0 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +0 -571
- data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +0 -686
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +0 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +0 -282
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +0 -1133
- data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_free.hpp +0 -116
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_member.hpp +0 -116
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_free.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_member.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_free.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_member.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_free.hpp +0 -236
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_member.hpp +0 -236
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +0 -125
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +0 -126
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_free.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_member.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +0 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +0 -256
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +0 -168
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +0 -162
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +0 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +0 -58
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +0 -437
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +0 -363
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +0 -512
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +0 -496
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +0 -41
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +0 -147
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +0 -1348
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +0 -748
- data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +0 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +0 -187
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_windows.hpp +0 -201
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_windows.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_windows.hpp +0 -55
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_windows.hpp +0 -150
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf2_cc.hpp +0 -228
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +0 -441
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_template.hpp +0 -345
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_cc.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_template.hpp +0 -1047
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_vw.hpp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/bind/storage.hpp +0 -475
- data/src/cxx_supportlib/vendor-modified/boost/checked_delete.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/float_functions.hpp +0 -336
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_float.hpp +0 -271
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/limits.hpp +0 -62
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/extensions.hpp +0 -361
- data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/detail/container_fwd.hpp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/function_iterate.hpp +0 -16
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/maybe_include.hpp +0 -369
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/prologue.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/function/gen_function_N.pl +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +0 -1058
- data/src/cxx_supportlib/vendor-modified/boost/pointer_to_other.hpp +0 -55
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/abs.hpp +0 -89
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/gcd.hpp +0 -124
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/lcm.hpp +0 -126
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/sign.hpp +0 -89
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/overflow_helpers.hpp +0 -367
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/ratio_io.hpp +0 -1342
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/abs.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/arithmetic.hpp +0 -22
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/comparison.hpp +0 -19
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/divides.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/equal_to.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/gcd.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater_equal.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/lcm.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less_equal.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/minus.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/negate.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/not_equal_to.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/numeric_cast.hpp +0 -31
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/plus.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_c_tag.hpp +0 -25
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_constant.hpp +0 -15
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/sign.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/times.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/indexed_bit_flag.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/operator_bool.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_forward.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_nullptr_t.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_obsolete.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_thread_pause.hpp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/swap.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +0 -278
- data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +0 -297
- data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +0 -265
- data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -58
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +0 -118
- data/src/cxx_supportlib/vendor-modified/boost/typeof/integral_template_param.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/typeof/message.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +0 -121
- data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions.hpp +0 -50
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +0 -135
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_template_param.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +0 -187
- data/src/cxx_supportlib/vendor-modified/boost/typeof/unsupported.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +0 -321
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +0 -471
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +0 -621
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +0 -63
- data/src/cxx_supportlib/vendor-modified/websocketpp/COPYING +0 -145
- data/src/cxx_supportlib/vendor-modified/websocketpp/changelog.md +0 -444
- data/src/cxx_supportlib/vendor-modified/websocketpp/readme.md +0 -49
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/base64/base64.hpp +0 -178
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/client.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/close.hpp +0 -353
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/asio.hpp +0 -141
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/asio_ssl.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/chrono.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/connection_hdl.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/cpp11.hpp +0 -162
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/functional.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/md5.hpp +0 -448
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/memory.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/network.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/platforms.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/random.hpp +0 -82
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/regex.hpp +0 -59
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/stdint.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/system_error.hpp +0 -84
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/thread.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/time.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/type_traits.hpp +0 -65
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/concurrency/basic.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/concurrency/none.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_client.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_no_tls.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_no_tls_client.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/boost_config.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/core.hpp +0 -297
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/core_client.hpp +0 -294
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug.hpp +0 -286
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug_asio.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug_asio_no_tls.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/minimal_client.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/minimal_server.hpp +0 -312
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/connection.hpp +0 -1642
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/connection_base.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/endpoint.hpp +0 -700
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/endpoint_base.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/error.hpp +0 -277
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/extension.hpp +0 -102
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/permessage_deflate/disabled.hpp +0 -129
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/permessage_deflate/enabled.hpp +0 -817
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/frame.hpp +0 -864
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/constants.hpp +0 -308
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/parser.hpp +0 -200
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/request.hpp +0 -191
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/response.hpp +0 -266
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/parser.hpp +0 -629
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/request.hpp +0 -124
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/response.hpp +0 -188
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/connection_impl.hpp +0 -2375
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/endpoint_impl.hpp +0 -269
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/utilities_impl.hpp +0 -87
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/basic.hpp +0 -199
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/levels.hpp +0 -203
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/stub.hpp +0 -119
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/syslog.hpp +0 -146
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/alloc.hpp +0 -105
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/message.hpp +0 -340
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/pool.hpp +0 -229
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/base.hpp +0 -299
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi00.hpp +0 -462
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi07.hpp +0 -78
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi08.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +0 -1078
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/processor.hpp +0 -407
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/random/none.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/random/random_device.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/roles/client_endpoint.hpp +0 -173
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/roles/server_endpoint.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/server.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/sha1/sha1.hpp +0 -189
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/base.hpp +0 -232
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/connection.hpp +0 -1197
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/endpoint.hpp +0 -1182
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/base.hpp +0 -159
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/none.hpp +0 -372
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/tls.hpp +0 -474
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/base/connection.hpp +0 -238
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/base/endpoint.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/base.hpp +0 -104
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/connection.hpp +0 -412
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/endpoint.hpp +0 -140
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/base.hpp +0 -133
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/connection.hpp +0 -714
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/endpoint.hpp +0 -222
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/base.hpp +0 -95
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/connection.hpp +0 -286
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/endpoint.hpp +0 -140
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/uri.hpp +0 -356
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/utf8_validator.hpp +0 -154
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/utilities.hpp +0 -180
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/version.hpp +0 -61
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
2
1
|
// Copyright (C) 2003-2004 Jeremy B. Maitin-Shepard.
|
|
3
2
|
// Copyright (C) 2005-2011 Daniel James.
|
|
3
|
+
// Copyright (C) 2022-2023 Christian Mazakas
|
|
4
|
+
// Copyright (C) 2024 Joaquin M Lopez Munoz.
|
|
4
5
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
5
6
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
6
7
|
|
|
@@ -14,15 +15,14 @@
|
|
|
14
15
|
#pragma once
|
|
15
16
|
#endif
|
|
16
17
|
|
|
17
|
-
#include <boost/core/explicit_operator_bool.hpp>
|
|
18
|
-
#include <boost/functional/hash.hpp>
|
|
19
|
-
#include <boost/move/move.hpp>
|
|
20
|
-
#include <boost/type_traits/is_constructible.hpp>
|
|
21
18
|
#include <boost/unordered/detail/map.hpp>
|
|
19
|
+
#include <boost/unordered/detail/serialize_fca_container.hpp>
|
|
20
|
+
#include <boost/unordered/detail/throw_exception.hpp>
|
|
21
|
+
#include <boost/unordered/detail/type_traits.hpp>
|
|
22
|
+
|
|
23
|
+
#include <boost/container_hash/hash.hpp>
|
|
22
24
|
|
|
23
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
24
25
|
#include <initializer_list>
|
|
25
|
-
#endif
|
|
26
26
|
|
|
27
27
|
#if defined(BOOST_MSVC)
|
|
28
28
|
#pragma warning(push)
|
|
@@ -39,9 +39,6 @@ namespace boost {
|
|
|
39
39
|
namespace unordered {
|
|
40
40
|
template <class K, class T, class H, class P, class A> class unordered_map
|
|
41
41
|
{
|
|
42
|
-
#if defined(BOOST_UNORDERED_USE_MOVE)
|
|
43
|
-
BOOST_COPYABLE_AND_MOVABLE(unordered_map)
|
|
44
|
-
#endif
|
|
45
42
|
template <typename, typename, typename, typename, typename>
|
|
46
43
|
friend class unordered_multimap;
|
|
47
44
|
|
|
@@ -49,16 +46,16 @@ namespace boost {
|
|
|
49
46
|
typedef K key_type;
|
|
50
47
|
typedef T mapped_type;
|
|
51
48
|
typedef std::pair<const K, T> value_type;
|
|
52
|
-
typedef H hasher;
|
|
53
|
-
typedef
|
|
54
|
-
|
|
49
|
+
typedef typename boost::unordered::detail::type_identity<H>::type hasher;
|
|
50
|
+
typedef
|
|
51
|
+
typename boost::unordered::detail::type_identity<P>::type key_equal;
|
|
52
|
+
typedef typename boost::unordered::detail::type_identity<A>::type
|
|
53
|
+
allocator_type;
|
|
55
54
|
|
|
56
55
|
private:
|
|
57
56
|
typedef boost::unordered::detail::map<A, K, T, H, P> types;
|
|
58
57
|
typedef typename types::value_allocator_traits value_allocator_traits;
|
|
59
58
|
typedef typename types::table table;
|
|
60
|
-
typedef typename table::node_pointer node_pointer;
|
|
61
|
-
typedef typename table::link_pointer link_pointer;
|
|
62
59
|
|
|
63
60
|
public:
|
|
64
61
|
typedef typename value_allocator_traits::pointer pointer;
|
|
@@ -97,33 +94,31 @@ namespace boost {
|
|
|
97
94
|
|
|
98
95
|
unordered_map(unordered_map const&);
|
|
99
96
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
unordered_map(BOOST_RV_REF(unordered_map) other)
|
|
103
|
-
BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
|
|
97
|
+
unordered_map(unordered_map&& other)
|
|
98
|
+
noexcept(table::nothrow_move_constructible)
|
|
104
99
|
: table_(other.table_, boost::unordered::detail::move_tag())
|
|
105
100
|
{
|
|
106
101
|
// The move is done in table_
|
|
107
102
|
}
|
|
108
|
-
#endif
|
|
109
103
|
|
|
110
104
|
explicit unordered_map(allocator_type const&);
|
|
111
105
|
|
|
112
106
|
unordered_map(unordered_map const&, allocator_type const&);
|
|
113
107
|
|
|
114
|
-
unordered_map(
|
|
108
|
+
unordered_map(unordered_map&&, allocator_type const&);
|
|
115
109
|
|
|
116
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
117
110
|
unordered_map(std::initializer_list<value_type>,
|
|
118
111
|
size_type = boost::unordered::detail::default_bucket_count,
|
|
119
112
|
const hasher& = hasher(), const key_equal& l = key_equal(),
|
|
120
113
|
const allocator_type& = allocator_type());
|
|
121
|
-
#endif
|
|
122
114
|
|
|
123
115
|
explicit unordered_map(size_type, const allocator_type&);
|
|
124
116
|
|
|
125
117
|
explicit unordered_map(size_type, const hasher&, const allocator_type&);
|
|
126
118
|
|
|
119
|
+
template <class InputIterator>
|
|
120
|
+
unordered_map(InputIterator, InputIterator, const allocator_type&);
|
|
121
|
+
|
|
127
122
|
template <class InputIt>
|
|
128
123
|
unordered_map(InputIt, InputIt, size_type, const allocator_type&);
|
|
129
124
|
|
|
@@ -131,266 +126,106 @@ namespace boost {
|
|
|
131
126
|
unordered_map(
|
|
132
127
|
InputIt, InputIt, size_type, const hasher&, const allocator_type&);
|
|
133
128
|
|
|
134
|
-
|
|
129
|
+
unordered_map(std::initializer_list<value_type>, const allocator_type&);
|
|
130
|
+
|
|
135
131
|
unordered_map(
|
|
136
132
|
std::initializer_list<value_type>, size_type, const allocator_type&);
|
|
137
133
|
|
|
138
134
|
unordered_map(std::initializer_list<value_type>, size_type, const hasher&,
|
|
139
135
|
const allocator_type&);
|
|
140
|
-
#endif
|
|
141
136
|
|
|
142
137
|
// Destructor
|
|
143
138
|
|
|
144
|
-
~unordered_map()
|
|
145
|
-
|
|
146
|
-
// Assign
|
|
139
|
+
~unordered_map() noexcept;
|
|
147
140
|
|
|
148
|
-
|
|
149
|
-
unordered_map& operator=(BOOST_COPY_ASSIGN_REF(unordered_map) x)
|
|
150
|
-
{
|
|
151
|
-
table_.assign(x.table_, boost::unordered::detail::true_type());
|
|
152
|
-
return *this;
|
|
153
|
-
}
|
|
141
|
+
// Assign
|
|
154
142
|
|
|
155
|
-
unordered_map& operator=(BOOST_RV_REF(unordered_map) x)
|
|
156
|
-
BOOST_NOEXCEPT_IF(value_allocator_traits::is_always_equal::value&&
|
|
157
|
-
boost::is_nothrow_move_assignable<H>::value&&
|
|
158
|
-
boost::is_nothrow_move_assignable<P>::value)
|
|
159
|
-
{
|
|
160
|
-
table_.move_assign(x.table_, boost::unordered::detail::true_type());
|
|
161
|
-
return *this;
|
|
162
|
-
}
|
|
163
|
-
#else
|
|
164
143
|
unordered_map& operator=(unordered_map const& x)
|
|
165
144
|
{
|
|
166
|
-
table_.assign(x.table_,
|
|
145
|
+
table_.assign(x.table_, std::true_type());
|
|
167
146
|
return *this;
|
|
168
147
|
}
|
|
169
148
|
|
|
170
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
171
149
|
unordered_map& operator=(unordered_map&& x)
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
150
|
+
noexcept(value_allocator_traits::is_always_equal::value&&
|
|
151
|
+
std::is_nothrow_move_assignable<H>::value&&
|
|
152
|
+
std::is_nothrow_move_assignable<P>::value)
|
|
175
153
|
{
|
|
176
|
-
table_.move_assign(x.table_,
|
|
154
|
+
table_.move_assign(x.table_, std::true_type());
|
|
177
155
|
return *this;
|
|
178
156
|
}
|
|
179
|
-
#endif
|
|
180
|
-
#endif
|
|
181
157
|
|
|
182
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
183
158
|
unordered_map& operator=(std::initializer_list<value_type>);
|
|
184
|
-
#endif
|
|
185
159
|
|
|
186
|
-
allocator_type get_allocator() const
|
|
160
|
+
allocator_type get_allocator() const noexcept
|
|
187
161
|
{
|
|
188
|
-
return table_.node_alloc();
|
|
162
|
+
return allocator_type(table_.node_alloc());
|
|
189
163
|
}
|
|
190
164
|
|
|
191
|
-
// iterators
|
|
165
|
+
// // iterators
|
|
192
166
|
|
|
193
|
-
iterator begin()
|
|
167
|
+
iterator begin() noexcept { return table_.begin(); }
|
|
194
168
|
|
|
195
|
-
const_iterator begin() const
|
|
169
|
+
const_iterator begin() const noexcept
|
|
196
170
|
{
|
|
197
171
|
return const_iterator(table_.begin());
|
|
198
172
|
}
|
|
199
173
|
|
|
200
|
-
iterator end()
|
|
174
|
+
iterator end() noexcept { return iterator(); }
|
|
201
175
|
|
|
202
|
-
const_iterator end() const
|
|
176
|
+
const_iterator end() const noexcept { return const_iterator(); }
|
|
203
177
|
|
|
204
|
-
const_iterator cbegin() const
|
|
178
|
+
const_iterator cbegin() const noexcept
|
|
205
179
|
{
|
|
206
180
|
return const_iterator(table_.begin());
|
|
207
181
|
}
|
|
208
182
|
|
|
209
|
-
const_iterator cend() const
|
|
183
|
+
const_iterator cend() const noexcept { return const_iterator(); }
|
|
210
184
|
|
|
211
185
|
// size and capacity
|
|
212
186
|
|
|
213
|
-
bool empty() const
|
|
214
|
-
|
|
215
|
-
size_type size() const BOOST_NOEXCEPT { return table_.size_; }
|
|
216
|
-
|
|
217
|
-
size_type max_size() const BOOST_NOEXCEPT;
|
|
218
|
-
|
|
219
|
-
// emplace
|
|
220
|
-
|
|
221
|
-
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
222
|
-
|
|
223
|
-
template <class... Args>
|
|
224
|
-
std::pair<iterator, bool> emplace(BOOST_FWD_REF(Args)... args)
|
|
187
|
+
BOOST_ATTRIBUTE_NODISCARD bool empty() const noexcept
|
|
225
188
|
{
|
|
226
|
-
return table_.
|
|
227
|
-
table::extractor::extract(boost::forward<Args>(args)...),
|
|
228
|
-
boost::forward<Args>(args)...);
|
|
189
|
+
return table_.size_ == 0;
|
|
229
190
|
}
|
|
230
191
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
#if !BOOST_UNORDERED_SUN_WORKAROUNDS1
|
|
192
|
+
size_type size() const noexcept { return table_.size_; }
|
|
234
193
|
|
|
235
|
-
|
|
236
|
-
// the container is instantiated with a value type that
|
|
237
|
-
// doesn't have a default constructor.
|
|
238
|
-
|
|
239
|
-
std::pair<iterator, bool> emplace(
|
|
240
|
-
boost::unordered::detail::empty_emplace =
|
|
241
|
-
boost::unordered::detail::empty_emplace(),
|
|
242
|
-
value_type v = value_type())
|
|
243
|
-
{
|
|
244
|
-
return this->emplace(boost::move(v));
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
#endif
|
|
248
|
-
|
|
249
|
-
template <typename A0>
|
|
250
|
-
std::pair<iterator, bool> emplace(BOOST_FWD_REF(A0) a0)
|
|
251
|
-
{
|
|
252
|
-
return table_.emplace_unique(
|
|
253
|
-
table::extractor::extract(boost::forward<A0>(a0)),
|
|
254
|
-
boost::unordered::detail::create_emplace_args(
|
|
255
|
-
boost::forward<A0>(a0)));
|
|
256
|
-
}
|
|
194
|
+
size_type max_size() const noexcept;
|
|
257
195
|
|
|
258
|
-
|
|
259
|
-
std::pair<iterator, bool> emplace(
|
|
260
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
261
|
-
{
|
|
262
|
-
return table_.emplace_unique(
|
|
263
|
-
table::extractor::extract(
|
|
264
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)),
|
|
265
|
-
boost::unordered::detail::create_emplace_args(
|
|
266
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)));
|
|
267
|
-
}
|
|
196
|
+
// emplace
|
|
268
197
|
|
|
269
|
-
template <
|
|
270
|
-
std::pair<iterator, bool> emplace(
|
|
271
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
198
|
+
template <class... Args> std::pair<iterator, bool> emplace(Args&&... args)
|
|
272
199
|
{
|
|
273
200
|
return table_.emplace_unique(
|
|
274
|
-
table::extractor::extract(
|
|
275
|
-
|
|
276
|
-
boost::unordered::detail::create_emplace_args(boost::forward<A0>(a0),
|
|
277
|
-
boost::forward<A1>(a1), boost::forward<A2>(a2)));
|
|
201
|
+
table::extractor::extract(detail::as_const(args)...),
|
|
202
|
+
std::forward<Args>(args)...);
|
|
278
203
|
}
|
|
279
204
|
|
|
280
|
-
#endif
|
|
281
|
-
|
|
282
|
-
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
283
|
-
|
|
284
205
|
template <class... Args>
|
|
285
|
-
iterator emplace_hint(const_iterator hint,
|
|
286
|
-
{
|
|
287
|
-
return table_.emplace_hint_unique(hint,
|
|
288
|
-
table::extractor::extract(boost::forward<Args>(args)...),
|
|
289
|
-
boost::forward<Args>(args)...);
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
#else
|
|
293
|
-
|
|
294
|
-
#if !BOOST_UNORDERED_SUN_WORKAROUNDS1
|
|
295
|
-
|
|
296
|
-
iterator emplace_hint(const_iterator hint,
|
|
297
|
-
boost::unordered::detail::empty_emplace =
|
|
298
|
-
boost::unordered::detail::empty_emplace(),
|
|
299
|
-
value_type v = value_type())
|
|
300
|
-
{
|
|
301
|
-
return this->emplace_hint(hint, boost::move(v));
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
#endif
|
|
305
|
-
|
|
306
|
-
template <typename A0>
|
|
307
|
-
iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(A0) a0)
|
|
206
|
+
iterator emplace_hint(const_iterator hint, Args&&... args)
|
|
308
207
|
{
|
|
309
208
|
return table_.emplace_hint_unique(hint,
|
|
310
|
-
table::extractor::extract(
|
|
311
|
-
|
|
312
|
-
boost::forward<A0>(a0)));
|
|
209
|
+
table::extractor::extract(detail::as_const(args)...),
|
|
210
|
+
std::forward<Args>(args)...);
|
|
313
211
|
}
|
|
314
212
|
|
|
315
|
-
template <typename A0, typename A1>
|
|
316
|
-
iterator emplace_hint(
|
|
317
|
-
const_iterator hint, BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
318
|
-
{
|
|
319
|
-
return table_.emplace_hint_unique(hint,
|
|
320
|
-
table::extractor::extract(
|
|
321
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)),
|
|
322
|
-
boost::unordered::detail::create_emplace_args(
|
|
323
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)));
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
template <typename A0, typename A1, typename A2>
|
|
327
|
-
iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(A0) a0,
|
|
328
|
-
BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
329
|
-
{
|
|
330
|
-
return table_.emplace_hint_unique(hint,
|
|
331
|
-
table::extractor::extract(
|
|
332
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)),
|
|
333
|
-
boost::unordered::detail::create_emplace_args(boost::forward<A0>(a0),
|
|
334
|
-
boost::forward<A1>(a1), boost::forward<A2>(a2)));
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
#endif
|
|
338
|
-
|
|
339
|
-
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
340
|
-
|
|
341
|
-
#define BOOST_UNORDERED_EMPLACE(z, n, _) \
|
|
342
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
343
|
-
std::pair<iterator, bool> emplace( \
|
|
344
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
345
|
-
{ \
|
|
346
|
-
return table_.emplace_unique( \
|
|
347
|
-
table::extractor::extract( \
|
|
348
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)), \
|
|
349
|
-
boost::unordered::detail::create_emplace_args( \
|
|
350
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
|
|
351
|
-
} \
|
|
352
|
-
\
|
|
353
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
354
|
-
iterator emplace_hint( \
|
|
355
|
-
const_iterator hint, BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
356
|
-
{ \
|
|
357
|
-
return table_.emplace_hint_unique(hint, \
|
|
358
|
-
table::extractor::extract( \
|
|
359
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)), \
|
|
360
|
-
boost::unordered::detail::create_emplace_args( \
|
|
361
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
BOOST_UNORDERED_EMPLACE(1, 4, _)
|
|
365
|
-
BOOST_UNORDERED_EMPLACE(1, 5, _)
|
|
366
|
-
BOOST_UNORDERED_EMPLACE(1, 6, _)
|
|
367
|
-
BOOST_UNORDERED_EMPLACE(1, 7, _)
|
|
368
|
-
BOOST_UNORDERED_EMPLACE(1, 8, _)
|
|
369
|
-
BOOST_UNORDERED_EMPLACE(1, 9, _)
|
|
370
|
-
BOOST_PP_REPEAT_FROM_TO(10, BOOST_PP_INC(BOOST_UNORDERED_EMPLACE_LIMIT),
|
|
371
|
-
BOOST_UNORDERED_EMPLACE, _)
|
|
372
|
-
|
|
373
|
-
#undef BOOST_UNORDERED_EMPLACE
|
|
374
|
-
|
|
375
|
-
#endif
|
|
376
|
-
|
|
377
213
|
std::pair<iterator, bool> insert(value_type const& x)
|
|
378
214
|
{
|
|
379
215
|
return this->emplace(x);
|
|
380
216
|
}
|
|
381
217
|
|
|
382
|
-
std::pair<iterator, bool> insert(
|
|
218
|
+
std::pair<iterator, bool> insert(value_type&& x)
|
|
383
219
|
{
|
|
384
|
-
return this->emplace(
|
|
220
|
+
return this->emplace(std::move(x));
|
|
385
221
|
}
|
|
386
222
|
|
|
387
223
|
template <class P2>
|
|
388
|
-
std::
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
void*>::type = 0)
|
|
224
|
+
typename boost::enable_if<std::is_constructible<value_type, P2&&>,
|
|
225
|
+
std::pair<iterator, bool> >::type
|
|
226
|
+
insert(P2&& obj)
|
|
392
227
|
{
|
|
393
|
-
return this->emplace(
|
|
228
|
+
return this->emplace(std::forward<P2>(obj));
|
|
394
229
|
}
|
|
395
230
|
|
|
396
231
|
iterator insert(const_iterator hint, value_type const& x)
|
|
@@ -398,311 +233,153 @@ namespace boost {
|
|
|
398
233
|
return this->emplace_hint(hint, x);
|
|
399
234
|
}
|
|
400
235
|
|
|
401
|
-
iterator insert(const_iterator hint,
|
|
236
|
+
iterator insert(const_iterator hint, value_type&& x)
|
|
402
237
|
{
|
|
403
|
-
return this->emplace_hint(hint,
|
|
238
|
+
return this->emplace_hint(hint, std::move(x));
|
|
404
239
|
}
|
|
405
240
|
|
|
406
241
|
template <class P2>
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
void*>::type = 0)
|
|
242
|
+
typename boost::enable_if<std::is_constructible<value_type, P2&&>,
|
|
243
|
+
iterator>::type
|
|
244
|
+
insert(const_iterator hint, P2&& obj)
|
|
411
245
|
{
|
|
412
|
-
return this->emplace_hint(hint,
|
|
246
|
+
return this->emplace_hint(hint, std::forward<P2>(obj));
|
|
413
247
|
}
|
|
414
248
|
|
|
415
249
|
template <class InputIt> void insert(InputIt, InputIt);
|
|
416
250
|
|
|
417
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
418
251
|
void insert(std::initializer_list<value_type>);
|
|
419
|
-
#endif
|
|
420
252
|
|
|
421
253
|
// extract
|
|
422
254
|
|
|
423
255
|
node_type extract(const_iterator position)
|
|
424
256
|
{
|
|
425
257
|
return node_type(
|
|
426
|
-
table_.extract_by_iterator_unique(position),
|
|
258
|
+
table_.extract_by_iterator_unique(position),
|
|
259
|
+
allocator_type(table_.node_alloc()));
|
|
427
260
|
}
|
|
428
261
|
|
|
429
262
|
node_type extract(const key_type& k)
|
|
430
263
|
{
|
|
431
|
-
return node_type(
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
insert_return_type insert(BOOST_RV_REF(node_type) np)
|
|
435
|
-
{
|
|
436
|
-
insert_return_type result;
|
|
437
|
-
table_.move_insert_node_type_unique(np, result);
|
|
438
|
-
return boost::move(result);
|
|
264
|
+
return node_type(
|
|
265
|
+
table_.extract_by_key_impl(k),
|
|
266
|
+
allocator_type(table_.node_alloc()));
|
|
439
267
|
}
|
|
440
268
|
|
|
441
|
-
|
|
269
|
+
template <class Key>
|
|
270
|
+
typename boost::enable_if_c<
|
|
271
|
+
detail::transparent_non_iterable<Key, unordered_map>::value,
|
|
272
|
+
node_type>::type
|
|
273
|
+
extract(Key&& k)
|
|
442
274
|
{
|
|
443
|
-
return
|
|
275
|
+
return node_type(
|
|
276
|
+
table_.extract_by_key_impl(std::forward<Key>(k)),
|
|
277
|
+
allocator_type(table_.node_alloc()));
|
|
444
278
|
}
|
|
445
279
|
|
|
446
|
-
|
|
447
|
-
(BOOST_COMP_GNUC && BOOST_COMP_GNUC < BOOST_VERSION_NUMBER(4, 6, 0))
|
|
448
|
-
private:
|
|
449
|
-
// Note: Use r-value node_type to insert.
|
|
450
|
-
insert_return_type insert(node_type&);
|
|
451
|
-
iterator insert(const_iterator, node_type& np);
|
|
452
|
-
|
|
453
|
-
public:
|
|
454
|
-
#endif
|
|
455
|
-
|
|
456
|
-
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
457
|
-
|
|
458
|
-
template <class... Args>
|
|
459
|
-
std::pair<iterator, bool> try_emplace(
|
|
460
|
-
key_type const& k, BOOST_FWD_REF(Args)... args)
|
|
280
|
+
insert_return_type insert(node_type&& np)
|
|
461
281
|
{
|
|
462
|
-
|
|
282
|
+
insert_return_type result;
|
|
283
|
+
table_.move_insert_node_type_unique((node_type&)np, result);
|
|
284
|
+
return result;
|
|
463
285
|
}
|
|
464
286
|
|
|
465
|
-
|
|
466
|
-
std::pair<iterator, bool> try_emplace(
|
|
467
|
-
BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
|
|
287
|
+
iterator insert(const_iterator hint, node_type&& np)
|
|
468
288
|
{
|
|
469
|
-
return table_.
|
|
470
|
-
boost::move(k), boost::forward<Args>(args)...);
|
|
289
|
+
return table_.move_insert_node_type_with_hint_unique(hint, np);
|
|
471
290
|
}
|
|
472
291
|
|
|
473
292
|
template <class... Args>
|
|
474
|
-
iterator try_emplace(
|
|
475
|
-
const_iterator hint, key_type const& k, BOOST_FWD_REF(Args)... args)
|
|
293
|
+
std::pair<iterator, bool> try_emplace(key_type const& k, Args&&... args)
|
|
476
294
|
{
|
|
477
|
-
return table_.
|
|
478
|
-
hint, k, boost::forward<Args>(args)...);
|
|
295
|
+
return table_.try_emplace_unique(k, std::forward<Args>(args)...);
|
|
479
296
|
}
|
|
480
297
|
|
|
481
298
|
template <class... Args>
|
|
482
|
-
iterator try_emplace(
|
|
483
|
-
BOOST_FWD_REF(Args)... args)
|
|
484
|
-
{
|
|
485
|
-
return table_.try_emplace_hint_unique(
|
|
486
|
-
hint, boost::move(k), boost::forward<Args>(args)...);
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
#else
|
|
490
|
-
|
|
491
|
-
// In order to make this a template, this handles both:
|
|
492
|
-
// try_emplace(key const&)
|
|
493
|
-
// try_emplace(key&&)
|
|
494
|
-
|
|
495
|
-
template <typename Key>
|
|
496
|
-
std::pair<iterator, bool> try_emplace(BOOST_FWD_REF(Key) k)
|
|
497
|
-
{
|
|
498
|
-
return table_.try_emplace_unique(boost::forward<Key>(k));
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
// In order to make this a template, this handles both:
|
|
502
|
-
// try_emplace(const_iterator hint, key const&)
|
|
503
|
-
// try_emplace(const_iterator hint, key&&)
|
|
504
|
-
|
|
505
|
-
template <typename Key>
|
|
506
|
-
iterator try_emplace(const_iterator hint, BOOST_FWD_REF(Key) k)
|
|
507
|
-
{
|
|
508
|
-
return table_.try_emplace_hint_unique(hint, boost::forward<Key>(k));
|
|
509
|
-
}
|
|
510
|
-
|
|
511
|
-
// try_emplace(key const&, Args&&...)
|
|
512
|
-
|
|
513
|
-
template <typename A0>
|
|
514
|
-
std::pair<iterator, bool> try_emplace(
|
|
515
|
-
key_type const& k, BOOST_FWD_REF(A0) a0)
|
|
299
|
+
std::pair<iterator, bool> try_emplace(key_type&& k, Args&&... args)
|
|
516
300
|
{
|
|
517
301
|
return table_.try_emplace_unique(
|
|
518
|
-
k,
|
|
519
|
-
boost::forward<A0>(a0)));
|
|
302
|
+
std::move(k), std::forward<Args>(args)...);
|
|
520
303
|
}
|
|
521
304
|
|
|
522
|
-
template <
|
|
523
|
-
|
|
524
|
-
|
|
305
|
+
template <class Key, class... Args>
|
|
306
|
+
typename boost::enable_if_c<
|
|
307
|
+
detail::transparent_non_iterable<Key, unordered_map>::value,
|
|
308
|
+
std::pair<iterator, bool> >::type
|
|
309
|
+
try_emplace(Key&& k, Args&&... args)
|
|
525
310
|
{
|
|
526
311
|
return table_.try_emplace_unique(
|
|
527
|
-
k,
|
|
528
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)));
|
|
312
|
+
std::forward<Key>(k), std::forward<Args>(args)...);
|
|
529
313
|
}
|
|
530
314
|
|
|
531
|
-
template <
|
|
532
|
-
std::pair<iterator, bool> try_emplace(key_type const& k,
|
|
533
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
534
|
-
{
|
|
535
|
-
return table_.try_emplace_unique(k,
|
|
536
|
-
boost::unordered::detail::create_emplace_args(boost::forward<A0>(a0),
|
|
537
|
-
boost::forward<A1>(a1), boost::forward<A2>(a2)));
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
// try_emplace(key&&, Args&&...)
|
|
541
|
-
|
|
542
|
-
template <typename A0>
|
|
543
|
-
std::pair<iterator, bool> try_emplace(
|
|
544
|
-
BOOST_RV_REF(key_type) k, BOOST_FWD_REF(A0) a0)
|
|
545
|
-
{
|
|
546
|
-
return table_.try_emplace_unique(
|
|
547
|
-
boost::move(k), boost::unordered::detail::create_emplace_args(
|
|
548
|
-
boost::forward<A0>(a0)));
|
|
549
|
-
}
|
|
550
|
-
|
|
551
|
-
template <typename A0, typename A1>
|
|
552
|
-
std::pair<iterator, bool> try_emplace(
|
|
553
|
-
BOOST_RV_REF(key_type) k, BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
554
|
-
{
|
|
555
|
-
return table_.try_emplace_unique(
|
|
556
|
-
boost::move(k), boost::unordered::detail::create_emplace_args(
|
|
557
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)));
|
|
558
|
-
}
|
|
559
|
-
|
|
560
|
-
template <typename A0, typename A1, typename A2>
|
|
561
|
-
std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k,
|
|
562
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
563
|
-
{
|
|
564
|
-
return table_.try_emplace_unique(boost::move(k),
|
|
565
|
-
boost::unordered::detail::create_emplace_args(boost::forward<A0>(a0),
|
|
566
|
-
boost::forward<A1>(a1), boost::forward<A2>(a2)));
|
|
567
|
-
}
|
|
568
|
-
|
|
569
|
-
// try_emplace(const_iterator hint, key const&, Args&&...)
|
|
570
|
-
|
|
571
|
-
template <typename A0>
|
|
315
|
+
template <class... Args>
|
|
572
316
|
iterator try_emplace(
|
|
573
|
-
const_iterator hint, key_type const& k,
|
|
317
|
+
const_iterator hint, key_type const& k, Args&&... args)
|
|
574
318
|
{
|
|
575
319
|
return table_.try_emplace_hint_unique(
|
|
576
|
-
hint, k,
|
|
577
|
-
boost::forward<A0>(a0)));
|
|
320
|
+
hint, k, std::forward<Args>(args)...);
|
|
578
321
|
}
|
|
579
322
|
|
|
580
|
-
template <
|
|
581
|
-
iterator try_emplace(const_iterator hint, key_type
|
|
582
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
323
|
+
template <class... Args>
|
|
324
|
+
iterator try_emplace(const_iterator hint, key_type&& k, Args&&... args)
|
|
583
325
|
{
|
|
584
326
|
return table_.try_emplace_hint_unique(
|
|
585
|
-
hint, k,
|
|
586
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)));
|
|
327
|
+
hint, std::move(k), std::forward<Args>(args)...);
|
|
587
328
|
}
|
|
588
329
|
|
|
589
|
-
template <
|
|
590
|
-
|
|
591
|
-
|
|
330
|
+
template <class Key, class... Args>
|
|
331
|
+
typename boost::enable_if_c<
|
|
332
|
+
detail::transparent_non_iterable<Key, unordered_map>::value,
|
|
333
|
+
iterator>::type
|
|
334
|
+
try_emplace(const_iterator hint, Key&& k, Args&&... args)
|
|
592
335
|
{
|
|
593
|
-
return table_.try_emplace_hint_unique(
|
|
594
|
-
|
|
595
|
-
boost::forward<A1>(a1), boost::forward<A2>(a2)));
|
|
336
|
+
return table_.try_emplace_hint_unique(
|
|
337
|
+
hint, std::forward<Key>(k), std::forward<Args>(args)...);
|
|
596
338
|
}
|
|
597
339
|
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
template <typename A0>
|
|
601
|
-
iterator try_emplace(
|
|
602
|
-
const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(A0) a0)
|
|
340
|
+
template <class M>
|
|
341
|
+
std::pair<iterator, bool> insert_or_assign(key_type const& k, M&& obj)
|
|
603
342
|
{
|
|
604
|
-
return table_.
|
|
605
|
-
|
|
606
|
-
boost::forward<A0>(a0)));
|
|
607
|
-
}
|
|
608
|
-
|
|
609
|
-
template <typename A0, typename A1>
|
|
610
|
-
iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k,
|
|
611
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
612
|
-
{
|
|
613
|
-
return table_.try_emplace_hint_unique(hint, boost::move(k),
|
|
614
|
-
boost::unordered::detail::create_emplace_args(
|
|
615
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)));
|
|
616
|
-
}
|
|
617
|
-
|
|
618
|
-
template <typename A0, typename A1, typename A2>
|
|
619
|
-
iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k,
|
|
620
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
621
|
-
{
|
|
622
|
-
return table_.try_emplace_hint_unique(hint, boost::move(k),
|
|
623
|
-
boost::unordered::detail::create_emplace_args(boost::forward<A0>(a0),
|
|
624
|
-
boost::forward<A1>(a1), boost::forward<A2>(a2)));
|
|
625
|
-
}
|
|
626
|
-
|
|
627
|
-
#define BOOST_UNORDERED_TRY_EMPLACE(z, n, _) \
|
|
628
|
-
\
|
|
629
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
630
|
-
std::pair<iterator, bool> try_emplace( \
|
|
631
|
-
key_type const& k, BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
632
|
-
{ \
|
|
633
|
-
return table_.try_emplace_unique( \
|
|
634
|
-
k, boost::unordered::detail::create_emplace_args( \
|
|
635
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
|
|
636
|
-
} \
|
|
637
|
-
\
|
|
638
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
639
|
-
std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k, \
|
|
640
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
641
|
-
{ \
|
|
642
|
-
return table_.try_emplace_unique(boost::move(k), \
|
|
643
|
-
boost::unordered::detail::create_emplace_args( \
|
|
644
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
|
|
645
|
-
} \
|
|
646
|
-
\
|
|
647
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
648
|
-
iterator try_emplace(const_iterator hint, key_type const& k, \
|
|
649
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
650
|
-
{ \
|
|
651
|
-
return table_.try_emplace_hint_unique( \
|
|
652
|
-
hint, k, boost::unordered::detail::create_emplace_args( \
|
|
653
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
|
|
654
|
-
} \
|
|
655
|
-
\
|
|
656
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
657
|
-
iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k, \
|
|
658
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
659
|
-
{ \
|
|
660
|
-
return table_.try_emplace_hint_unique(hint, boost::move(k), \
|
|
661
|
-
boost::unordered::detail::create_emplace_args( \
|
|
662
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
|
|
663
|
-
}
|
|
664
|
-
|
|
665
|
-
BOOST_UNORDERED_TRY_EMPLACE(1, 4, _)
|
|
666
|
-
BOOST_UNORDERED_TRY_EMPLACE(1, 5, _)
|
|
667
|
-
BOOST_UNORDERED_TRY_EMPLACE(1, 6, _)
|
|
668
|
-
BOOST_UNORDERED_TRY_EMPLACE(1, 7, _)
|
|
669
|
-
BOOST_UNORDERED_TRY_EMPLACE(1, 8, _)
|
|
670
|
-
BOOST_UNORDERED_TRY_EMPLACE(1, 9, _)
|
|
671
|
-
BOOST_PP_REPEAT_FROM_TO(10, BOOST_PP_INC(BOOST_UNORDERED_EMPLACE_LIMIT),
|
|
672
|
-
BOOST_UNORDERED_TRY_EMPLACE, _)
|
|
673
|
-
|
|
674
|
-
#undef BOOST_UNORDERED_TRY_EMPLACE
|
|
675
|
-
|
|
676
|
-
#endif
|
|
343
|
+
return table_.insert_or_assign_unique(k, std::forward<M>(obj));
|
|
344
|
+
}
|
|
677
345
|
|
|
678
346
|
template <class M>
|
|
679
|
-
std::pair<iterator, bool> insert_or_assign(
|
|
680
|
-
key_type const& k, BOOST_FWD_REF(M) obj)
|
|
347
|
+
std::pair<iterator, bool> insert_or_assign(key_type&& k, M&& obj)
|
|
681
348
|
{
|
|
682
|
-
return table_.insert_or_assign_unique(
|
|
349
|
+
return table_.insert_or_assign_unique(
|
|
350
|
+
std::move(k), std::forward<M>(obj));
|
|
683
351
|
}
|
|
684
352
|
|
|
685
|
-
template <class M>
|
|
686
|
-
|
|
687
|
-
|
|
353
|
+
template <class Key, class M>
|
|
354
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
355
|
+
std::pair<iterator, bool> >::type
|
|
356
|
+
insert_or_assign(Key&& k, M&& obj)
|
|
688
357
|
{
|
|
689
358
|
return table_.insert_or_assign_unique(
|
|
690
|
-
|
|
359
|
+
std::forward<Key>(k), std::forward<M>(obj));
|
|
691
360
|
}
|
|
692
361
|
|
|
693
362
|
template <class M>
|
|
694
|
-
iterator insert_or_assign(
|
|
695
|
-
const_iterator, key_type const& k, BOOST_FWD_REF(M) obj)
|
|
363
|
+
iterator insert_or_assign(const_iterator, key_type const& k, M&& obj)
|
|
696
364
|
{
|
|
697
|
-
return table_.insert_or_assign_unique(k,
|
|
365
|
+
return table_.insert_or_assign_unique(k, std::forward<M>(obj)).first;
|
|
698
366
|
}
|
|
699
367
|
|
|
700
368
|
template <class M>
|
|
701
|
-
iterator insert_or_assign(
|
|
702
|
-
|
|
369
|
+
iterator insert_or_assign(const_iterator, key_type&& k, M&& obj)
|
|
370
|
+
{
|
|
371
|
+
return table_
|
|
372
|
+
.insert_or_assign_unique(std::move(k), std::forward<M>(obj))
|
|
373
|
+
.first;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
template <class Key, class M>
|
|
377
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
378
|
+
iterator>::type
|
|
379
|
+
insert_or_assign(const_iterator, Key&& k, M&& obj)
|
|
703
380
|
{
|
|
704
381
|
return table_
|
|
705
|
-
.insert_or_assign_unique(
|
|
382
|
+
.insert_or_assign_unique(std::forward<Key>(k), std::forward<M>(obj))
|
|
706
383
|
.first;
|
|
707
384
|
}
|
|
708
385
|
|
|
@@ -710,32 +387,38 @@ namespace boost {
|
|
|
710
387
|
iterator erase(const_iterator);
|
|
711
388
|
size_type erase(const key_type&);
|
|
712
389
|
iterator erase(const_iterator, const_iterator);
|
|
390
|
+
|
|
391
|
+
template <class Key>
|
|
392
|
+
typename boost::enable_if_c<
|
|
393
|
+
detail::transparent_non_iterable<Key, unordered_map>::value,
|
|
394
|
+
size_type>::type
|
|
395
|
+
erase(Key&& k)
|
|
396
|
+
{
|
|
397
|
+
return table_.erase_key_unique_impl(std::forward<Key>(k));
|
|
398
|
+
}
|
|
399
|
+
|
|
713
400
|
BOOST_UNORDERED_DEPRECATED("Use erase instead")
|
|
714
401
|
void quick_erase(const_iterator it) { erase(it); }
|
|
715
402
|
BOOST_UNORDERED_DEPRECATED("Use erase instead")
|
|
716
403
|
void erase_return_void(const_iterator it) { erase(it); }
|
|
717
404
|
|
|
718
405
|
void swap(unordered_map&)
|
|
719
|
-
|
|
720
|
-
boost::is_nothrow_swappable<H>::value&&
|
|
721
|
-
boost::is_nothrow_swappable<P>::value);
|
|
722
|
-
void clear()
|
|
406
|
+
noexcept(value_allocator_traits::is_always_equal::value&&
|
|
407
|
+
boost::unordered::detail::is_nothrow_swappable<H>::value&&
|
|
408
|
+
boost::unordered::detail::is_nothrow_swappable<P>::value);
|
|
409
|
+
void clear() noexcept { table_.clear_impl(); }
|
|
723
410
|
|
|
724
411
|
template <typename H2, typename P2>
|
|
725
412
|
void merge(boost::unordered_map<K, T, H2, P2, A>& source);
|
|
726
413
|
|
|
727
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
728
414
|
template <typename H2, typename P2>
|
|
729
415
|
void merge(boost::unordered_map<K, T, H2, P2, A>&& source);
|
|
730
|
-
#endif
|
|
731
416
|
|
|
732
417
|
template <typename H2, typename P2>
|
|
733
418
|
void merge(boost::unordered_multimap<K, T, H2, P2, A>& source);
|
|
734
419
|
|
|
735
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
736
420
|
template <typename H2, typename P2>
|
|
737
421
|
void merge(boost::unordered_multimap<K, T, H2, P2, A>&& source);
|
|
738
|
-
#endif
|
|
739
422
|
|
|
740
423
|
// observers
|
|
741
424
|
|
|
@@ -747,6 +430,22 @@ namespace boost {
|
|
|
747
430
|
iterator find(const key_type&);
|
|
748
431
|
const_iterator find(const key_type&) const;
|
|
749
432
|
|
|
433
|
+
template <class Key>
|
|
434
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
435
|
+
iterator>::type
|
|
436
|
+
find(const Key& key)
|
|
437
|
+
{
|
|
438
|
+
return table_.find(key);
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
template <class Key>
|
|
442
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
443
|
+
const_iterator>::type
|
|
444
|
+
find(const Key& key) const
|
|
445
|
+
{
|
|
446
|
+
return const_iterator(table_.find(key));
|
|
447
|
+
}
|
|
448
|
+
|
|
750
449
|
template <class CompatibleKey, class CompatibleHash,
|
|
751
450
|
class CompatiblePredicate>
|
|
752
451
|
iterator find(CompatibleKey const&, CompatibleHash const&,
|
|
@@ -757,25 +456,87 @@ namespace boost {
|
|
|
757
456
|
const_iterator find(CompatibleKey const&, CompatibleHash const&,
|
|
758
457
|
CompatiblePredicate const&) const;
|
|
759
458
|
|
|
459
|
+
bool contains(const key_type& k) const
|
|
460
|
+
{
|
|
461
|
+
return table_.find(k) != this->end();
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
template <class Key>
|
|
465
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
466
|
+
bool>::type
|
|
467
|
+
contains(const Key& k) const
|
|
468
|
+
{
|
|
469
|
+
return table_.find(k) != this->end();
|
|
470
|
+
}
|
|
471
|
+
|
|
760
472
|
size_type count(const key_type&) const;
|
|
761
473
|
|
|
474
|
+
template <class Key>
|
|
475
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
476
|
+
size_type>::type
|
|
477
|
+
count(const Key& k) const
|
|
478
|
+
{
|
|
479
|
+
return (table_.find(k) != this->end() ? 1 : 0);
|
|
480
|
+
}
|
|
481
|
+
|
|
762
482
|
std::pair<iterator, iterator> equal_range(const key_type&);
|
|
763
483
|
std::pair<const_iterator, const_iterator> equal_range(
|
|
764
484
|
const key_type&) const;
|
|
765
485
|
|
|
486
|
+
template <class Key>
|
|
487
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
488
|
+
std::pair<iterator, iterator> >::type
|
|
489
|
+
equal_range(const Key& key)
|
|
490
|
+
{
|
|
491
|
+
iterator first = table_.find(key);
|
|
492
|
+
iterator last = first;
|
|
493
|
+
if (last != this->end()) {
|
|
494
|
+
++last;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
return std::make_pair(first, last);
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
template <class Key>
|
|
501
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
502
|
+
std::pair<const_iterator, const_iterator> >::type
|
|
503
|
+
equal_range(const Key& key) const
|
|
504
|
+
{
|
|
505
|
+
iterator first = table_.find(key);
|
|
506
|
+
iterator last = first;
|
|
507
|
+
if (last != this->end()) {
|
|
508
|
+
++last;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
return std::make_pair(first, last);
|
|
512
|
+
}
|
|
513
|
+
|
|
766
514
|
mapped_type& operator[](const key_type&);
|
|
767
|
-
mapped_type& operator[](
|
|
515
|
+
mapped_type& operator[](key_type&&);
|
|
516
|
+
|
|
517
|
+
template <class Key>
|
|
518
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
519
|
+
mapped_type&>::type
|
|
520
|
+
operator[](Key&& k);
|
|
521
|
+
|
|
768
522
|
mapped_type& at(const key_type&);
|
|
769
523
|
mapped_type const& at(const key_type&) const;
|
|
770
524
|
|
|
525
|
+
template <class Key>
|
|
526
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
527
|
+
mapped_type&>::type
|
|
528
|
+
at(Key&& k);
|
|
529
|
+
|
|
530
|
+
template <class Key>
|
|
531
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
532
|
+
mapped_type const&>::type
|
|
533
|
+
at(Key&& k) const;
|
|
534
|
+
|
|
771
535
|
// bucket interface
|
|
772
536
|
|
|
773
|
-
size_type bucket_count() const
|
|
774
|
-
{
|
|
775
|
-
return table_.bucket_count_;
|
|
776
|
-
}
|
|
537
|
+
size_type bucket_count() const noexcept { return table_.bucket_count(); }
|
|
777
538
|
|
|
778
|
-
size_type max_bucket_count() const
|
|
539
|
+
size_type max_bucket_count() const noexcept
|
|
779
540
|
{
|
|
780
541
|
return table_.max_bucket_count();
|
|
781
542
|
}
|
|
@@ -787,18 +548,22 @@ namespace boost {
|
|
|
787
548
|
return table_.hash_to_bucket(table_.hash(k));
|
|
788
549
|
}
|
|
789
550
|
|
|
790
|
-
|
|
551
|
+
template <class Key>
|
|
552
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
553
|
+
size_type>::type
|
|
554
|
+
bucket(Key&& k) const
|
|
791
555
|
{
|
|
792
|
-
return
|
|
556
|
+
return table_.hash_to_bucket(table_.hash(std::forward<Key>(k)));
|
|
793
557
|
}
|
|
794
558
|
|
|
559
|
+
local_iterator begin(size_type n) { return table_.begin(n); }
|
|
560
|
+
|
|
795
561
|
const_local_iterator begin(size_type n) const
|
|
796
562
|
{
|
|
797
|
-
return const_local_iterator(table_.begin(n)
|
|
563
|
+
return const_local_iterator(table_.begin(n));
|
|
798
564
|
}
|
|
799
565
|
|
|
800
566
|
local_iterator end(size_type) { return local_iterator(); }
|
|
801
|
-
|
|
802
567
|
const_local_iterator end(size_type) const
|
|
803
568
|
{
|
|
804
569
|
return const_local_iterator();
|
|
@@ -806,7 +571,7 @@ namespace boost {
|
|
|
806
571
|
|
|
807
572
|
const_local_iterator cbegin(size_type n) const
|
|
808
573
|
{
|
|
809
|
-
return const_local_iterator(table_.begin(n)
|
|
574
|
+
return const_local_iterator(table_.begin(n));
|
|
810
575
|
}
|
|
811
576
|
|
|
812
577
|
const_local_iterator cend(size_type) const
|
|
@@ -816,9 +581,9 @@ namespace boost {
|
|
|
816
581
|
|
|
817
582
|
// hash policy
|
|
818
583
|
|
|
819
|
-
float load_factor() const
|
|
820
|
-
float max_load_factor() const
|
|
821
|
-
void max_load_factor(float)
|
|
584
|
+
float load_factor() const noexcept;
|
|
585
|
+
float max_load_factor() const noexcept { return table_.mlf_; }
|
|
586
|
+
void max_load_factor(float) noexcept;
|
|
822
587
|
void rehash(size_type);
|
|
823
588
|
void reserve(size_type);
|
|
824
589
|
|
|
@@ -830,87 +595,101 @@ namespace boost {
|
|
|
830
595
|
#endif
|
|
831
596
|
}; // class template unordered_map
|
|
832
597
|
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
typename std::iterator_traits<T>::value_type::first_type;
|
|
839
|
-
template <typename T>
|
|
840
|
-
using iter_val_t =
|
|
841
|
-
typename std::iterator_traits<T>::value_type::second_type;
|
|
842
|
-
template <typename T>
|
|
843
|
-
using iter_to_alloc_t =
|
|
844
|
-
typename std::pair<iter_key_t<T> const, iter_val_t<T> >;
|
|
598
|
+
template <class Archive, class K, class T, class H, class P, class A>
|
|
599
|
+
void serialize(
|
|
600
|
+
Archive& ar, unordered_map<K, T, H, P, A>& m, unsigned int version)
|
|
601
|
+
{
|
|
602
|
+
detail::serialize_fca_container(ar, m, version);
|
|
845
603
|
}
|
|
846
604
|
|
|
605
|
+
#if BOOST_UNORDERED_TEMPLATE_DEDUCTION_GUIDES
|
|
606
|
+
|
|
847
607
|
template <class InputIterator,
|
|
848
608
|
class Hash =
|
|
849
609
|
boost::hash<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
850
610
|
class Pred =
|
|
851
611
|
std::equal_to<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
852
612
|
class Allocator = std::allocator<
|
|
853
|
-
boost::unordered::detail::iter_to_alloc_t<InputIterator>
|
|
613
|
+
boost::unordered::detail::iter_to_alloc_t<InputIterator> >,
|
|
614
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
615
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
616
|
+
class = std::enable_if_t<detail::is_pred_v<Pred> >,
|
|
617
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
854
618
|
unordered_map(InputIterator, InputIterator,
|
|
855
619
|
std::size_t = boost::unordered::detail::default_bucket_count,
|
|
856
620
|
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
|
|
857
|
-
->unordered_map<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
621
|
+
-> unordered_map<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
858
622
|
boost::unordered::detail::iter_val_t<InputIterator>, Hash, Pred,
|
|
859
623
|
Allocator>;
|
|
860
624
|
|
|
861
|
-
template <class Key, class T,
|
|
862
|
-
class
|
|
863
|
-
class
|
|
864
|
-
|
|
625
|
+
template <class Key, class T,
|
|
626
|
+
class Hash = boost::hash<std::remove_const_t<Key> >,
|
|
627
|
+
class Pred = std::equal_to<std::remove_const_t<Key> >,
|
|
628
|
+
class Allocator = std::allocator<std::pair<const Key, T> >,
|
|
629
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
630
|
+
class = std::enable_if_t<detail::is_pred_v<Pred> >,
|
|
631
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
632
|
+
unordered_map(std::initializer_list<std::pair<Key, T> >,
|
|
865
633
|
std::size_t = boost::unordered::detail::default_bucket_count,
|
|
866
634
|
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
|
|
867
|
-
->unordered_map<Key
|
|
635
|
+
-> unordered_map<std::remove_const_t<Key>, T, Hash, Pred, Allocator>;
|
|
868
636
|
|
|
869
|
-
template <class InputIterator, class Allocator
|
|
637
|
+
template <class InputIterator, class Allocator,
|
|
638
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
639
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
870
640
|
unordered_map(InputIterator, InputIterator, std::size_t, Allocator)
|
|
871
|
-
->unordered_map<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
641
|
+
-> unordered_map<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
872
642
|
boost::unordered::detail::iter_val_t<InputIterator>,
|
|
873
643
|
boost::hash<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
874
644
|
std::equal_to<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
875
645
|
Allocator>;
|
|
876
646
|
|
|
877
|
-
template <class InputIterator, class Allocator
|
|
647
|
+
template <class InputIterator, class Allocator,
|
|
648
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
649
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
878
650
|
unordered_map(InputIterator, InputIterator, Allocator)
|
|
879
|
-
->unordered_map<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
651
|
+
-> unordered_map<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
880
652
|
boost::unordered::detail::iter_val_t<InputIterator>,
|
|
881
653
|
boost::hash<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
882
654
|
std::equal_to<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
883
655
|
Allocator>;
|
|
884
656
|
|
|
885
|
-
template <class InputIterator, class Hash, class Allocator
|
|
657
|
+
template <class InputIterator, class Hash, class Allocator,
|
|
658
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
659
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
660
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
886
661
|
unordered_map(InputIterator, InputIterator, std::size_t, Hash, Allocator)
|
|
887
|
-
->unordered_map<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
662
|
+
-> unordered_map<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
888
663
|
boost::unordered::detail::iter_val_t<InputIterator>, Hash,
|
|
889
664
|
std::equal_to<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
890
665
|
Allocator>;
|
|
891
666
|
|
|
892
|
-
template <class Key, class T,
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
->unordered_map<
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
667
|
+
template <class Key, class T, class Allocator,
|
|
668
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
669
|
+
unordered_map(std::initializer_list<std::pair<Key, T> >, std::size_t,
|
|
670
|
+
Allocator) -> unordered_map<std::remove_const_t<Key>, T,
|
|
671
|
+
boost::hash<std::remove_const_t<Key> >,
|
|
672
|
+
std::equal_to<std::remove_const_t<Key> >, Allocator>;
|
|
673
|
+
|
|
674
|
+
template <class Key, class T, class Allocator,
|
|
675
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
676
|
+
unordered_map(std::initializer_list<std::pair<Key, T> >, Allocator)
|
|
677
|
+
-> unordered_map<std::remove_const_t<Key>, T,
|
|
678
|
+
boost::hash<std::remove_const_t<Key> >,
|
|
679
|
+
std::equal_to<std::remove_const_t<Key> >, Allocator>;
|
|
680
|
+
|
|
681
|
+
template <class Key, class T, class Hash, class Allocator,
|
|
682
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
683
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
684
|
+
unordered_map(std::initializer_list<std::pair<Key, T> >, std::size_t, Hash,
|
|
685
|
+
Allocator) -> unordered_map<std::remove_const_t<Key>, T, Hash,
|
|
686
|
+
std::equal_to<std::remove_const_t<Key> >, Allocator>;
|
|
905
687
|
|
|
906
688
|
#endif
|
|
907
689
|
|
|
908
690
|
template <class K, class T, class H, class P, class A>
|
|
909
691
|
class unordered_multimap
|
|
910
692
|
{
|
|
911
|
-
#if defined(BOOST_UNORDERED_USE_MOVE)
|
|
912
|
-
BOOST_COPYABLE_AND_MOVABLE(unordered_multimap)
|
|
913
|
-
#endif
|
|
914
693
|
template <typename, typename, typename, typename, typename>
|
|
915
694
|
friend class unordered_map;
|
|
916
695
|
|
|
@@ -918,16 +697,16 @@ namespace boost {
|
|
|
918
697
|
typedef K key_type;
|
|
919
698
|
typedef T mapped_type;
|
|
920
699
|
typedef std::pair<const K, T> value_type;
|
|
921
|
-
typedef H hasher;
|
|
922
|
-
typedef
|
|
923
|
-
|
|
700
|
+
typedef typename boost::unordered::detail::type_identity<H>::type hasher;
|
|
701
|
+
typedef
|
|
702
|
+
typename boost::unordered::detail::type_identity<P>::type key_equal;
|
|
703
|
+
typedef typename boost::unordered::detail::type_identity<A>::type
|
|
704
|
+
allocator_type;
|
|
924
705
|
|
|
925
706
|
private:
|
|
926
707
|
typedef boost::unordered::detail::map<A, K, T, H, P> types;
|
|
927
708
|
typedef typename types::value_allocator_traits value_allocator_traits;
|
|
928
709
|
typedef typename types::table table;
|
|
929
|
-
typedef typename table::node_pointer node_pointer;
|
|
930
|
-
typedef typename table::link_pointer link_pointer;
|
|
931
710
|
|
|
932
711
|
public:
|
|
933
712
|
typedef typename value_allocator_traits::pointer pointer;
|
|
@@ -965,35 +744,32 @@ namespace boost {
|
|
|
965
744
|
|
|
966
745
|
unordered_multimap(unordered_multimap const&);
|
|
967
746
|
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
unordered_multimap(BOOST_RV_REF(unordered_multimap) other)
|
|
971
|
-
BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
|
|
747
|
+
unordered_multimap(unordered_multimap&& other)
|
|
748
|
+
noexcept(table::nothrow_move_constructible)
|
|
972
749
|
: table_(other.table_, boost::unordered::detail::move_tag())
|
|
973
750
|
{
|
|
974
751
|
// The move is done in table_
|
|
975
752
|
}
|
|
976
|
-
#endif
|
|
977
753
|
|
|
978
754
|
explicit unordered_multimap(allocator_type const&);
|
|
979
755
|
|
|
980
756
|
unordered_multimap(unordered_multimap const&, allocator_type const&);
|
|
981
757
|
|
|
982
|
-
unordered_multimap(
|
|
983
|
-
BOOST_RV_REF(unordered_multimap), allocator_type const&);
|
|
758
|
+
unordered_multimap(unordered_multimap&&, allocator_type const&);
|
|
984
759
|
|
|
985
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
986
760
|
unordered_multimap(std::initializer_list<value_type>,
|
|
987
761
|
size_type = boost::unordered::detail::default_bucket_count,
|
|
988
762
|
const hasher& = hasher(), const key_equal& l = key_equal(),
|
|
989
763
|
const allocator_type& = allocator_type());
|
|
990
|
-
#endif
|
|
991
764
|
|
|
992
765
|
explicit unordered_multimap(size_type, const allocator_type&);
|
|
993
766
|
|
|
994
767
|
explicit unordered_multimap(
|
|
995
768
|
size_type, const hasher&, const allocator_type&);
|
|
996
769
|
|
|
770
|
+
template <class InputIterator>
|
|
771
|
+
unordered_multimap(InputIterator, InputIterator, const allocator_type&);
|
|
772
|
+
|
|
997
773
|
template <class InputIt>
|
|
998
774
|
unordered_multimap(InputIt, InputIt, size_type, const allocator_type&);
|
|
999
775
|
|
|
@@ -1001,260 +777,101 @@ namespace boost {
|
|
|
1001
777
|
unordered_multimap(
|
|
1002
778
|
InputIt, InputIt, size_type, const hasher&, const allocator_type&);
|
|
1003
779
|
|
|
1004
|
-
|
|
780
|
+
unordered_multimap(
|
|
781
|
+
std::initializer_list<value_type>, const allocator_type&);
|
|
782
|
+
|
|
1005
783
|
unordered_multimap(
|
|
1006
784
|
std::initializer_list<value_type>, size_type, const allocator_type&);
|
|
1007
785
|
|
|
1008
786
|
unordered_multimap(std::initializer_list<value_type>, size_type,
|
|
1009
787
|
const hasher&, const allocator_type&);
|
|
1010
|
-
#endif
|
|
1011
788
|
|
|
1012
789
|
// Destructor
|
|
1013
790
|
|
|
1014
|
-
~unordered_multimap()
|
|
1015
|
-
|
|
1016
|
-
// Assign
|
|
791
|
+
~unordered_multimap() noexcept;
|
|
1017
792
|
|
|
1018
|
-
|
|
1019
|
-
unordered_multimap& operator=(BOOST_COPY_ASSIGN_REF(unordered_multimap) x)
|
|
1020
|
-
{
|
|
1021
|
-
table_.assign(x.table_, boost::unordered::detail::false_type());
|
|
1022
|
-
return *this;
|
|
1023
|
-
}
|
|
793
|
+
// Assign
|
|
1024
794
|
|
|
1025
|
-
unordered_multimap& operator=(BOOST_RV_REF(unordered_multimap) x)
|
|
1026
|
-
BOOST_NOEXCEPT_IF(value_allocator_traits::is_always_equal::value&&
|
|
1027
|
-
boost::is_nothrow_move_assignable<H>::value&&
|
|
1028
|
-
boost::is_nothrow_move_assignable<P>::value)
|
|
1029
|
-
{
|
|
1030
|
-
table_.move_assign(x.table_, boost::unordered::detail::false_type());
|
|
1031
|
-
return *this;
|
|
1032
|
-
}
|
|
1033
|
-
#else
|
|
1034
795
|
unordered_multimap& operator=(unordered_multimap const& x)
|
|
1035
796
|
{
|
|
1036
|
-
table_.assign(x.table_,
|
|
797
|
+
table_.assign(x.table_, std::false_type());
|
|
1037
798
|
return *this;
|
|
1038
799
|
}
|
|
1039
800
|
|
|
1040
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
1041
801
|
unordered_multimap& operator=(unordered_multimap&& x)
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
802
|
+
noexcept(value_allocator_traits::is_always_equal::value&&
|
|
803
|
+
std::is_nothrow_move_assignable<H>::value&&
|
|
804
|
+
std::is_nothrow_move_assignable<P>::value)
|
|
1045
805
|
{
|
|
1046
|
-
table_.move_assign(x.table_,
|
|
806
|
+
table_.move_assign(x.table_, std::false_type());
|
|
1047
807
|
return *this;
|
|
1048
808
|
}
|
|
1049
|
-
#endif
|
|
1050
|
-
#endif
|
|
1051
809
|
|
|
1052
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1053
810
|
unordered_multimap& operator=(std::initializer_list<value_type>);
|
|
1054
|
-
#endif
|
|
1055
811
|
|
|
1056
|
-
allocator_type get_allocator() const
|
|
812
|
+
allocator_type get_allocator() const noexcept
|
|
1057
813
|
{
|
|
1058
|
-
return table_.node_alloc();
|
|
814
|
+
return allocator_type(table_.node_alloc());
|
|
1059
815
|
}
|
|
1060
816
|
|
|
1061
817
|
// iterators
|
|
1062
818
|
|
|
1063
|
-
iterator begin()
|
|
819
|
+
iterator begin() noexcept { return iterator(table_.begin()); }
|
|
1064
820
|
|
|
1065
|
-
const_iterator begin() const
|
|
821
|
+
const_iterator begin() const noexcept
|
|
1066
822
|
{
|
|
1067
823
|
return const_iterator(table_.begin());
|
|
1068
824
|
}
|
|
1069
825
|
|
|
1070
|
-
iterator end()
|
|
826
|
+
iterator end() noexcept { return iterator(); }
|
|
1071
827
|
|
|
1072
|
-
const_iterator end() const
|
|
828
|
+
const_iterator end() const noexcept { return const_iterator(); }
|
|
1073
829
|
|
|
1074
|
-
const_iterator cbegin() const
|
|
830
|
+
const_iterator cbegin() const noexcept
|
|
1075
831
|
{
|
|
1076
832
|
return const_iterator(table_.begin());
|
|
1077
833
|
}
|
|
1078
834
|
|
|
1079
|
-
const_iterator cend() const
|
|
835
|
+
const_iterator cend() const noexcept { return const_iterator(); }
|
|
1080
836
|
|
|
1081
837
|
// size and capacity
|
|
1082
838
|
|
|
1083
|
-
bool empty() const
|
|
1084
|
-
|
|
1085
|
-
size_type size() const BOOST_NOEXCEPT { return table_.size_; }
|
|
1086
|
-
|
|
1087
|
-
size_type max_size() const BOOST_NOEXCEPT;
|
|
1088
|
-
|
|
1089
|
-
// emplace
|
|
1090
|
-
|
|
1091
|
-
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
1092
|
-
|
|
1093
|
-
template <class... Args> iterator emplace(BOOST_FWD_REF(Args)... args)
|
|
839
|
+
BOOST_ATTRIBUTE_NODISCARD bool empty() const noexcept
|
|
1094
840
|
{
|
|
1095
|
-
return
|
|
1096
|
-
boost::unordered::detail::func::construct_node_from_args(
|
|
1097
|
-
table_.node_alloc(), boost::forward<Args>(args)...)));
|
|
841
|
+
return table_.size_ == 0;
|
|
1098
842
|
}
|
|
1099
843
|
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
#if !BOOST_UNORDERED_SUN_WORKAROUNDS1
|
|
844
|
+
size_type size() const noexcept { return table_.size_; }
|
|
1103
845
|
|
|
1104
|
-
|
|
1105
|
-
// the container is instantiated with a value type that
|
|
1106
|
-
// doesn't have a default constructor.
|
|
1107
|
-
|
|
1108
|
-
iterator emplace(boost::unordered::detail::empty_emplace =
|
|
1109
|
-
boost::unordered::detail::empty_emplace(),
|
|
1110
|
-
value_type v = value_type())
|
|
1111
|
-
{
|
|
1112
|
-
return this->emplace(boost::move(v));
|
|
1113
|
-
}
|
|
1114
|
-
|
|
1115
|
-
#endif
|
|
1116
|
-
|
|
1117
|
-
template <typename A0> iterator emplace(BOOST_FWD_REF(A0) a0)
|
|
1118
|
-
{
|
|
1119
|
-
return iterator(table_.emplace_equiv(
|
|
1120
|
-
boost::unordered::detail::func::construct_node_from_args(
|
|
1121
|
-
table_.node_alloc(), boost::unordered::detail::create_emplace_args(
|
|
1122
|
-
boost::forward<A0>(a0)))));
|
|
1123
|
-
}
|
|
846
|
+
size_type max_size() const noexcept;
|
|
1124
847
|
|
|
1125
|
-
|
|
1126
|
-
iterator emplace(BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
1127
|
-
{
|
|
1128
|
-
return iterator(table_.emplace_equiv(
|
|
1129
|
-
boost::unordered::detail::func::construct_node_from_args(
|
|
1130
|
-
table_.node_alloc(),
|
|
1131
|
-
boost::unordered::detail::create_emplace_args(
|
|
1132
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)))));
|
|
1133
|
-
}
|
|
848
|
+
// emplace
|
|
1134
849
|
|
|
1135
|
-
template <
|
|
1136
|
-
iterator emplace(
|
|
1137
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
850
|
+
template <class... Args> iterator emplace(Args&&... args)
|
|
1138
851
|
{
|
|
1139
852
|
return iterator(table_.emplace_equiv(
|
|
1140
853
|
boost::unordered::detail::func::construct_node_from_args(
|
|
1141
|
-
table_.node_alloc(),
|
|
1142
|
-
boost::unordered::detail::create_emplace_args(
|
|
1143
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1),
|
|
1144
|
-
boost::forward<A2>(a2)))));
|
|
854
|
+
table_.node_alloc(), std::forward<Args>(args)...)));
|
|
1145
855
|
}
|
|
1146
856
|
|
|
1147
|
-
#endif
|
|
1148
|
-
|
|
1149
|
-
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
1150
|
-
|
|
1151
857
|
template <class... Args>
|
|
1152
|
-
iterator emplace_hint(const_iterator hint,
|
|
1153
|
-
{
|
|
1154
|
-
return iterator(table_.emplace_hint_equiv(
|
|
1155
|
-
hint, boost::unordered::detail::func::construct_node_from_args(
|
|
1156
|
-
table_.node_alloc(), boost::forward<Args>(args)...)));
|
|
1157
|
-
}
|
|
1158
|
-
|
|
1159
|
-
#else
|
|
1160
|
-
|
|
1161
|
-
#if !BOOST_UNORDERED_SUN_WORKAROUNDS1
|
|
1162
|
-
|
|
1163
|
-
iterator emplace_hint(const_iterator hint,
|
|
1164
|
-
boost::unordered::detail::empty_emplace =
|
|
1165
|
-
boost::unordered::detail::empty_emplace(),
|
|
1166
|
-
value_type v = value_type())
|
|
1167
|
-
{
|
|
1168
|
-
return this->emplace_hint(hint, boost::move(v));
|
|
1169
|
-
}
|
|
1170
|
-
|
|
1171
|
-
#endif
|
|
1172
|
-
|
|
1173
|
-
template <typename A0>
|
|
1174
|
-
iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(A0) a0)
|
|
1175
|
-
{
|
|
1176
|
-
return iterator(table_.emplace_hint_equiv(hint,
|
|
1177
|
-
boost::unordered::detail::func::construct_node_from_args(
|
|
1178
|
-
table_.node_alloc(), boost::unordered::detail::create_emplace_args(
|
|
1179
|
-
boost::forward<A0>(a0)))));
|
|
1180
|
-
}
|
|
1181
|
-
|
|
1182
|
-
template <typename A0, typename A1>
|
|
1183
|
-
iterator emplace_hint(
|
|
1184
|
-
const_iterator hint, BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
1185
|
-
{
|
|
1186
|
-
return iterator(table_.emplace_hint_equiv(
|
|
1187
|
-
hint, boost::unordered::detail::func::construct_node_from_args(
|
|
1188
|
-
table_.node_alloc(),
|
|
1189
|
-
boost::unordered::detail::create_emplace_args(
|
|
1190
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)))));
|
|
1191
|
-
}
|
|
1192
|
-
|
|
1193
|
-
template <typename A0, typename A1, typename A2>
|
|
1194
|
-
iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(A0) a0,
|
|
1195
|
-
BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
858
|
+
iterator emplace_hint(const_iterator hint, Args&&... args)
|
|
1196
859
|
{
|
|
1197
860
|
return iterator(table_.emplace_hint_equiv(
|
|
1198
861
|
hint, boost::unordered::detail::func::construct_node_from_args(
|
|
1199
|
-
table_.node_alloc(),
|
|
1200
|
-
boost::unordered::detail::create_emplace_args(
|
|
1201
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1),
|
|
1202
|
-
boost::forward<A2>(a2)))));
|
|
862
|
+
table_.node_alloc(), std::forward<Args>(args)...)));
|
|
1203
863
|
}
|
|
1204
864
|
|
|
1205
|
-
#endif
|
|
1206
|
-
|
|
1207
|
-
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
1208
|
-
|
|
1209
|
-
#define BOOST_UNORDERED_EMPLACE(z, n, _) \
|
|
1210
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
1211
|
-
iterator emplace(BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
1212
|
-
{ \
|
|
1213
|
-
return iterator(table_.emplace_equiv( \
|
|
1214
|
-
boost::unordered::detail::func::construct_node_from_args( \
|
|
1215
|
-
table_.node_alloc(), \
|
|
1216
|
-
boost::unordered::detail::create_emplace_args( \
|
|
1217
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))))); \
|
|
1218
|
-
} \
|
|
1219
|
-
\
|
|
1220
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
1221
|
-
iterator emplace_hint( \
|
|
1222
|
-
const_iterator hint, BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
1223
|
-
{ \
|
|
1224
|
-
return iterator(table_.emplace_hint_equiv( \
|
|
1225
|
-
hint, boost::unordered::detail::func::construct_node_from_args( \
|
|
1226
|
-
table_.node_alloc(), \
|
|
1227
|
-
boost::unordered::detail::create_emplace_args( \
|
|
1228
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))))); \
|
|
1229
|
-
}
|
|
1230
|
-
|
|
1231
|
-
BOOST_UNORDERED_EMPLACE(1, 4, _)
|
|
1232
|
-
BOOST_UNORDERED_EMPLACE(1, 5, _)
|
|
1233
|
-
BOOST_UNORDERED_EMPLACE(1, 6, _)
|
|
1234
|
-
BOOST_UNORDERED_EMPLACE(1, 7, _)
|
|
1235
|
-
BOOST_UNORDERED_EMPLACE(1, 8, _)
|
|
1236
|
-
BOOST_UNORDERED_EMPLACE(1, 9, _)
|
|
1237
|
-
BOOST_PP_REPEAT_FROM_TO(10, BOOST_PP_INC(BOOST_UNORDERED_EMPLACE_LIMIT),
|
|
1238
|
-
BOOST_UNORDERED_EMPLACE, _)
|
|
1239
|
-
|
|
1240
|
-
#undef BOOST_UNORDERED_EMPLACE
|
|
1241
|
-
|
|
1242
|
-
#endif
|
|
1243
|
-
|
|
1244
865
|
iterator insert(value_type const& x) { return this->emplace(x); }
|
|
1245
866
|
|
|
1246
|
-
iterator insert(
|
|
1247
|
-
{
|
|
1248
|
-
return this->emplace(boost::move(x));
|
|
1249
|
-
}
|
|
867
|
+
iterator insert(value_type&& x) { return this->emplace(std::move(x)); }
|
|
1250
868
|
|
|
1251
869
|
template <class P2>
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
void*>::type = 0)
|
|
870
|
+
typename boost::enable_if<std::is_constructible<value_type, P2&&>,
|
|
871
|
+
iterator>::type
|
|
872
|
+
insert(P2&& obj)
|
|
1256
873
|
{
|
|
1257
|
-
return this->emplace(
|
|
874
|
+
return this->emplace(std::forward<P2>(obj));
|
|
1258
875
|
}
|
|
1259
876
|
|
|
1260
877
|
iterator insert(const_iterator hint, value_type const& x)
|
|
@@ -1262,25 +879,22 @@ namespace boost {
|
|
|
1262
879
|
return this->emplace_hint(hint, x);
|
|
1263
880
|
}
|
|
1264
881
|
|
|
1265
|
-
iterator insert(const_iterator hint,
|
|
882
|
+
iterator insert(const_iterator hint, value_type&& x)
|
|
1266
883
|
{
|
|
1267
|
-
return this->emplace_hint(hint,
|
|
884
|
+
return this->emplace_hint(hint, std::move(x));
|
|
1268
885
|
}
|
|
1269
886
|
|
|
1270
887
|
template <class P2>
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
void*>::type = 0)
|
|
888
|
+
typename boost::enable_if<std::is_constructible<value_type, P2&&>,
|
|
889
|
+
iterator>::type
|
|
890
|
+
insert(const_iterator hint, P2&& obj)
|
|
1275
891
|
{
|
|
1276
|
-
return this->emplace_hint(hint,
|
|
892
|
+
return this->emplace_hint(hint, std::forward<P2>(obj));
|
|
1277
893
|
}
|
|
1278
894
|
|
|
1279
895
|
template <class InputIt> void insert(InputIt, InputIt);
|
|
1280
896
|
|
|
1281
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1282
897
|
void insert(std::initializer_list<value_type>);
|
|
1283
|
-
#endif
|
|
1284
898
|
|
|
1285
899
|
// extract
|
|
1286
900
|
|
|
@@ -1292,59 +906,64 @@ namespace boost {
|
|
|
1292
906
|
|
|
1293
907
|
node_type extract(const key_type& k)
|
|
1294
908
|
{
|
|
1295
|
-
return node_type(table_.
|
|
909
|
+
return node_type(table_.extract_by_key_impl(k), table_.node_alloc());
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
template <class Key>
|
|
913
|
+
typename boost::enable_if_c<
|
|
914
|
+
detail::transparent_non_iterable<Key, unordered_multimap>::value,
|
|
915
|
+
node_type>::type
|
|
916
|
+
extract(const Key& k)
|
|
917
|
+
{
|
|
918
|
+
return node_type(table_.extract_by_key_impl(k), table_.node_alloc());
|
|
1296
919
|
}
|
|
1297
920
|
|
|
1298
|
-
iterator insert(
|
|
921
|
+
iterator insert(node_type&& np)
|
|
1299
922
|
{
|
|
1300
923
|
return table_.move_insert_node_type_equiv(np);
|
|
1301
924
|
}
|
|
1302
925
|
|
|
1303
|
-
iterator insert(const_iterator hint,
|
|
926
|
+
iterator insert(const_iterator hint, node_type&& np)
|
|
1304
927
|
{
|
|
1305
928
|
return table_.move_insert_node_type_with_hint_equiv(hint, np);
|
|
1306
929
|
}
|
|
1307
930
|
|
|
1308
|
-
#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
|
|
1309
|
-
(BOOST_COMP_GNUC && BOOST_COMP_GNUC < BOOST_VERSION_NUMBER(4, 6, 0))
|
|
1310
|
-
private:
|
|
1311
|
-
// Note: Use r-value node_type to insert.
|
|
1312
|
-
iterator insert(node_type&);
|
|
1313
|
-
iterator insert(const_iterator, node_type& np);
|
|
1314
|
-
|
|
1315
|
-
public:
|
|
1316
|
-
#endif
|
|
1317
|
-
|
|
1318
931
|
iterator erase(iterator);
|
|
1319
932
|
iterator erase(const_iterator);
|
|
1320
933
|
size_type erase(const key_type&);
|
|
1321
934
|
iterator erase(const_iterator, const_iterator);
|
|
935
|
+
|
|
936
|
+
template <class Key>
|
|
937
|
+
typename boost::enable_if_c<
|
|
938
|
+
detail::transparent_non_iterable<Key, unordered_multimap>::value,
|
|
939
|
+
size_type>::type
|
|
940
|
+
erase(Key&& k)
|
|
941
|
+
{
|
|
942
|
+
return table_.erase_key_equiv_impl(std::forward<Key>(k));
|
|
943
|
+
}
|
|
944
|
+
|
|
1322
945
|
BOOST_UNORDERED_DEPRECATED("Use erase instead")
|
|
1323
946
|
void quick_erase(const_iterator it) { erase(it); }
|
|
1324
947
|
BOOST_UNORDERED_DEPRECATED("Use erase instead")
|
|
1325
948
|
void erase_return_void(const_iterator it) { erase(it); }
|
|
1326
949
|
|
|
1327
950
|
void swap(unordered_multimap&)
|
|
1328
|
-
|
|
1329
|
-
boost::is_nothrow_swappable<H>::value&&
|
|
1330
|
-
boost::is_nothrow_swappable<P>::value);
|
|
1331
|
-
void clear()
|
|
951
|
+
noexcept(value_allocator_traits::is_always_equal::value&&
|
|
952
|
+
boost::unordered::detail::is_nothrow_swappable<H>::value&&
|
|
953
|
+
boost::unordered::detail::is_nothrow_swappable<P>::value);
|
|
954
|
+
void clear() noexcept { table_.clear_impl(); }
|
|
1332
955
|
|
|
1333
956
|
template <typename H2, typename P2>
|
|
1334
957
|
void merge(boost::unordered_multimap<K, T, H2, P2, A>& source);
|
|
1335
958
|
|
|
1336
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
1337
959
|
template <typename H2, typename P2>
|
|
1338
960
|
void merge(boost::unordered_multimap<K, T, H2, P2, A>&& source);
|
|
1339
|
-
#endif
|
|
1340
961
|
|
|
1341
962
|
template <typename H2, typename P2>
|
|
1342
963
|
void merge(boost::unordered_map<K, T, H2, P2, A>& source);
|
|
1343
964
|
|
|
1344
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
1345
965
|
template <typename H2, typename P2>
|
|
1346
966
|
void merge(boost::unordered_map<K, T, H2, P2, A>&& source);
|
|
1347
|
-
#endif
|
|
1348
967
|
|
|
1349
968
|
// observers
|
|
1350
969
|
|
|
@@ -1356,6 +975,22 @@ namespace boost {
|
|
|
1356
975
|
iterator find(const key_type&);
|
|
1357
976
|
const_iterator find(const key_type&) const;
|
|
1358
977
|
|
|
978
|
+
template <class Key>
|
|
979
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
980
|
+
iterator>::type
|
|
981
|
+
find(const Key& key)
|
|
982
|
+
{
|
|
983
|
+
return table_.find(key);
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
template <class Key>
|
|
987
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
988
|
+
const_iterator>::type
|
|
989
|
+
find(const Key& key) const
|
|
990
|
+
{
|
|
991
|
+
return const_iterator(table_.find(key));
|
|
992
|
+
}
|
|
993
|
+
|
|
1359
994
|
template <class CompatibleKey, class CompatibleHash,
|
|
1360
995
|
class CompatiblePredicate>
|
|
1361
996
|
iterator find(CompatibleKey const&, CompatibleHash const&,
|
|
@@ -1366,20 +1001,57 @@ namespace boost {
|
|
|
1366
1001
|
const_iterator find(CompatibleKey const&, CompatibleHash const&,
|
|
1367
1002
|
CompatiblePredicate const&) const;
|
|
1368
1003
|
|
|
1004
|
+
bool contains(key_type const& k) const
|
|
1005
|
+
{
|
|
1006
|
+
return table_.find(k) != this->end();
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
template <class Key>
|
|
1010
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
1011
|
+
bool>::type
|
|
1012
|
+
contains(const Key& k) const
|
|
1013
|
+
{
|
|
1014
|
+
return table_.find(k) != this->end();
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1369
1017
|
size_type count(const key_type&) const;
|
|
1370
1018
|
|
|
1019
|
+
template <class Key>
|
|
1020
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
1021
|
+
size_type>::type
|
|
1022
|
+
count(const Key& k) const
|
|
1023
|
+
{
|
|
1024
|
+
return table_.group_count(k);
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1371
1027
|
std::pair<iterator, iterator> equal_range(const key_type&);
|
|
1372
1028
|
std::pair<const_iterator, const_iterator> equal_range(
|
|
1373
1029
|
const key_type&) const;
|
|
1374
1030
|
|
|
1375
|
-
|
|
1031
|
+
template <class Key>
|
|
1032
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
1033
|
+
std::pair<iterator, iterator> >::type
|
|
1034
|
+
equal_range(const Key& key)
|
|
1035
|
+
{
|
|
1036
|
+
iterator p = table_.find(key);
|
|
1037
|
+
return std::make_pair(p, table_.next_group(key, p));
|
|
1038
|
+
}
|
|
1376
1039
|
|
|
1377
|
-
|
|
1040
|
+
template <class Key>
|
|
1041
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
1042
|
+
std::pair<const_iterator, const_iterator> >::type
|
|
1043
|
+
equal_range(const Key& key) const
|
|
1378
1044
|
{
|
|
1379
|
-
|
|
1045
|
+
iterator p = table_.find(key);
|
|
1046
|
+
return std::make_pair(
|
|
1047
|
+
const_iterator(p), const_iterator(table_.next_group(key, p)));
|
|
1380
1048
|
}
|
|
1381
1049
|
|
|
1382
|
-
|
|
1050
|
+
// bucket interface
|
|
1051
|
+
|
|
1052
|
+
size_type bucket_count() const noexcept { return table_.bucket_count(); }
|
|
1053
|
+
|
|
1054
|
+
size_type max_bucket_count() const noexcept
|
|
1383
1055
|
{
|
|
1384
1056
|
return table_.max_bucket_count();
|
|
1385
1057
|
}
|
|
@@ -1391,14 +1063,22 @@ namespace boost {
|
|
|
1391
1063
|
return table_.hash_to_bucket(table_.hash(k));
|
|
1392
1064
|
}
|
|
1393
1065
|
|
|
1066
|
+
template <class Key>
|
|
1067
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
1068
|
+
size_type>::type
|
|
1069
|
+
bucket(Key&& k) const
|
|
1070
|
+
{
|
|
1071
|
+
return table_.hash_to_bucket(table_.hash(std::forward<Key>(k)));
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1394
1074
|
local_iterator begin(size_type n)
|
|
1395
1075
|
{
|
|
1396
|
-
return local_iterator(table_.begin(n)
|
|
1076
|
+
return local_iterator(table_.begin(n));
|
|
1397
1077
|
}
|
|
1398
1078
|
|
|
1399
1079
|
const_local_iterator begin(size_type n) const
|
|
1400
1080
|
{
|
|
1401
|
-
return const_local_iterator(table_.begin(n)
|
|
1081
|
+
return const_local_iterator(table_.begin(n));
|
|
1402
1082
|
}
|
|
1403
1083
|
|
|
1404
1084
|
local_iterator end(size_type) { return local_iterator(); }
|
|
@@ -1410,7 +1090,7 @@ namespace boost {
|
|
|
1410
1090
|
|
|
1411
1091
|
const_local_iterator cbegin(size_type n) const
|
|
1412
1092
|
{
|
|
1413
|
-
return const_local_iterator(table_.begin(n)
|
|
1093
|
+
return const_local_iterator(table_.begin(n));
|
|
1414
1094
|
}
|
|
1415
1095
|
|
|
1416
1096
|
const_local_iterator cend(size_type) const
|
|
@@ -1420,9 +1100,9 @@ namespace boost {
|
|
|
1420
1100
|
|
|
1421
1101
|
// hash policy
|
|
1422
1102
|
|
|
1423
|
-
float load_factor() const
|
|
1424
|
-
float max_load_factor() const
|
|
1425
|
-
void max_load_factor(float)
|
|
1103
|
+
float load_factor() const noexcept;
|
|
1104
|
+
float max_load_factor() const noexcept { return table_.mlf_; }
|
|
1105
|
+
void max_load_factor(float) noexcept;
|
|
1426
1106
|
void rehash(size_type);
|
|
1427
1107
|
void reserve(size_type);
|
|
1428
1108
|
|
|
@@ -1434,6 +1114,13 @@ namespace boost {
|
|
|
1434
1114
|
#endif
|
|
1435
1115
|
}; // class template unordered_multimap
|
|
1436
1116
|
|
|
1117
|
+
template <class Archive, class K, class T, class H, class P, class A>
|
|
1118
|
+
void serialize(
|
|
1119
|
+
Archive& ar, unordered_multimap<K, T, H, P, A>& m, unsigned int version)
|
|
1120
|
+
{
|
|
1121
|
+
detail::serialize_fca_container(ar, m, version);
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1437
1124
|
#if BOOST_UNORDERED_TEMPLATE_DEDUCTION_GUIDES
|
|
1438
1125
|
|
|
1439
1126
|
template <class InputIterator,
|
|
@@ -1442,62 +1129,81 @@ namespace boost {
|
|
|
1442
1129
|
class Pred =
|
|
1443
1130
|
std::equal_to<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
1444
1131
|
class Allocator = std::allocator<
|
|
1445
|
-
boost::unordered::detail::iter_to_alloc_t<InputIterator>
|
|
1132
|
+
boost::unordered::detail::iter_to_alloc_t<InputIterator> >,
|
|
1133
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
1134
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
1135
|
+
class = std::enable_if_t<detail::is_pred_v<Pred> >,
|
|
1136
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1446
1137
|
unordered_multimap(InputIterator, InputIterator,
|
|
1447
1138
|
std::size_t = boost::unordered::detail::default_bucket_count,
|
|
1448
1139
|
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
|
|
1449
|
-
->unordered_multimap<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
1140
|
+
-> unordered_multimap<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
1450
1141
|
boost::unordered::detail::iter_val_t<InputIterator>, Hash, Pred,
|
|
1451
1142
|
Allocator>;
|
|
1452
1143
|
|
|
1453
|
-
template <class Key, class T,
|
|
1454
|
-
class
|
|
1455
|
-
class
|
|
1456
|
-
|
|
1144
|
+
template <class Key, class T,
|
|
1145
|
+
class Hash = boost::hash<std::remove_const_t<Key> >,
|
|
1146
|
+
class Pred = std::equal_to<std::remove_const_t<Key> >,
|
|
1147
|
+
class Allocator = std::allocator<std::pair<const Key, T> >,
|
|
1148
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
1149
|
+
class = std::enable_if_t<detail::is_pred_v<Pred> >,
|
|
1150
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1151
|
+
unordered_multimap(std::initializer_list<std::pair<Key, T> >,
|
|
1457
1152
|
std::size_t = boost::unordered::detail::default_bucket_count,
|
|
1458
1153
|
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
|
|
1459
|
-
->unordered_multimap<Key
|
|
1154
|
+
-> unordered_multimap<std::remove_const_t<Key>, T, Hash, Pred, Allocator>;
|
|
1460
1155
|
|
|
1461
|
-
template <class InputIterator, class Allocator
|
|
1156
|
+
template <class InputIterator, class Allocator,
|
|
1157
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
1158
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1462
1159
|
unordered_multimap(InputIterator, InputIterator, std::size_t, Allocator)
|
|
1463
|
-
->unordered_multimap<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
1160
|
+
-> unordered_multimap<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
1464
1161
|
boost::unordered::detail::iter_val_t<InputIterator>,
|
|
1465
1162
|
boost::hash<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
1466
1163
|
std::equal_to<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
1467
1164
|
Allocator>;
|
|
1468
1165
|
|
|
1469
|
-
template <class InputIterator, class Allocator
|
|
1166
|
+
template <class InputIterator, class Allocator,
|
|
1167
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
1168
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1470
1169
|
unordered_multimap(InputIterator, InputIterator, Allocator)
|
|
1471
|
-
->unordered_multimap<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
1170
|
+
-> unordered_multimap<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
1472
1171
|
boost::unordered::detail::iter_val_t<InputIterator>,
|
|
1473
1172
|
boost::hash<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
1474
1173
|
std::equal_to<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
1475
1174
|
Allocator>;
|
|
1476
1175
|
|
|
1477
|
-
template <class InputIterator, class Hash, class Allocator
|
|
1176
|
+
template <class InputIterator, class Hash, class Allocator,
|
|
1177
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
1178
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
1179
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1478
1180
|
unordered_multimap(
|
|
1479
1181
|
InputIterator, InputIterator, std::size_t, Hash, Allocator)
|
|
1480
|
-
->unordered_multimap<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
1182
|
+
-> unordered_multimap<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
1481
1183
|
boost::unordered::detail::iter_val_t<InputIterator>, Hash,
|
|
1482
1184
|
std::equal_to<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
1483
1185
|
Allocator>;
|
|
1484
1186
|
|
|
1485
|
-
template <class Key, class T,
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
->unordered_multimap<
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
std::
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1187
|
+
template <class Key, class T, class Allocator,
|
|
1188
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1189
|
+
unordered_multimap(std::initializer_list<std::pair<Key, T> >, std::size_t,
|
|
1190
|
+
Allocator) -> unordered_multimap<std::remove_const_t<Key>, T,
|
|
1191
|
+
boost::hash<std::remove_const_t<Key> >,
|
|
1192
|
+
std::equal_to<std::remove_const_t<Key> >, Allocator>;
|
|
1193
|
+
|
|
1194
|
+
template <class Key, class T, class Allocator,
|
|
1195
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1196
|
+
unordered_multimap(std::initializer_list<std::pair<Key, T> >, Allocator)
|
|
1197
|
+
-> unordered_multimap<std::remove_const_t<Key>, T,
|
|
1198
|
+
boost::hash<std::remove_const_t<Key> >,
|
|
1199
|
+
std::equal_to<std::remove_const_t<Key> >, Allocator>;
|
|
1200
|
+
|
|
1201
|
+
template <class Key, class T, class Hash, class Allocator,
|
|
1202
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
1203
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1204
|
+
unordered_multimap(std::initializer_list<std::pair<Key, T> >, std::size_t,
|
|
1205
|
+
Hash, Allocator) -> unordered_multimap<std::remove_const_t<Key>, T, Hash,
|
|
1206
|
+
std::equal_to<std::remove_const_t<Key> >, Allocator>;
|
|
1501
1207
|
|
|
1502
1208
|
#endif
|
|
1503
1209
|
|
|
@@ -1505,8 +1211,6 @@ namespace boost {
|
|
|
1505
1211
|
|
|
1506
1212
|
template <class K, class T, class H, class P, class A>
|
|
1507
1213
|
unordered_map<K, T, H, P, A>::unordered_map()
|
|
1508
|
-
: table_(boost::unordered::detail::default_bucket_count, hasher(),
|
|
1509
|
-
key_equal(), allocator_type())
|
|
1510
1214
|
{
|
|
1511
1215
|
}
|
|
1512
1216
|
|
|
@@ -1533,9 +1237,8 @@ namespace boost {
|
|
|
1533
1237
|
unordered_map::value_allocator_traits::
|
|
1534
1238
|
select_on_container_copy_construction(other.get_allocator()))
|
|
1535
1239
|
{
|
|
1536
|
-
if (other.
|
|
1537
|
-
table_.copy_buckets(
|
|
1538
|
-
other.table_, boost::unordered::detail::true_type());
|
|
1240
|
+
if (other.size()) {
|
|
1241
|
+
table_.copy_buckets(other.table_, std::true_type());
|
|
1539
1242
|
}
|
|
1540
1243
|
}
|
|
1541
1244
|
|
|
@@ -1552,21 +1255,18 @@ namespace boost {
|
|
|
1552
1255
|
: table_(other.table_, a)
|
|
1553
1256
|
{
|
|
1554
1257
|
if (other.table_.size_) {
|
|
1555
|
-
table_.copy_buckets(
|
|
1556
|
-
other.table_, boost::unordered::detail::true_type());
|
|
1258
|
+
table_.copy_buckets(other.table_, std::true_type());
|
|
1557
1259
|
}
|
|
1558
1260
|
}
|
|
1559
1261
|
|
|
1560
1262
|
template <class K, class T, class H, class P, class A>
|
|
1561
1263
|
unordered_map<K, T, H, P, A>::unordered_map(
|
|
1562
|
-
|
|
1264
|
+
unordered_map&& other, allocator_type const& a)
|
|
1563
1265
|
: table_(other.table_, a, boost::unordered::detail::move_tag())
|
|
1564
1266
|
{
|
|
1565
1267
|
table_.move_construct_buckets(other.table_);
|
|
1566
1268
|
}
|
|
1567
1269
|
|
|
1568
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1569
|
-
|
|
1570
1270
|
template <class K, class T, class H, class P, class A>
|
|
1571
1271
|
unordered_map<K, T, H, P, A>::unordered_map(
|
|
1572
1272
|
std::initializer_list<value_type> list, size_type n, const hasher& hf,
|
|
@@ -1578,8 +1278,6 @@ namespace boost {
|
|
|
1578
1278
|
this->insert(list.begin(), list.end());
|
|
1579
1279
|
}
|
|
1580
1280
|
|
|
1581
|
-
#endif
|
|
1582
|
-
|
|
1583
1281
|
template <class K, class T, class H, class P, class A>
|
|
1584
1282
|
unordered_map<K, T, H, P, A>::unordered_map(
|
|
1585
1283
|
size_type n, const allocator_type& a)
|
|
@@ -1594,6 +1292,17 @@ namespace boost {
|
|
|
1594
1292
|
{
|
|
1595
1293
|
}
|
|
1596
1294
|
|
|
1295
|
+
template <class K, class T, class H, class P, class A>
|
|
1296
|
+
template <class InputIterator>
|
|
1297
|
+
unordered_map<K, T, H, P, A>::unordered_map(
|
|
1298
|
+
InputIterator f, InputIterator l, const allocator_type& a)
|
|
1299
|
+
: table_(boost::unordered::detail::initial_size(
|
|
1300
|
+
f, l, detail::default_bucket_count),
|
|
1301
|
+
hasher(), key_equal(), a)
|
|
1302
|
+
{
|
|
1303
|
+
this->insert(f, l);
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1597
1306
|
template <class K, class T, class H, class P, class A>
|
|
1598
1307
|
template <class InputIt>
|
|
1599
1308
|
unordered_map<K, T, H, P, A>::unordered_map(
|
|
@@ -1614,7 +1323,15 @@ namespace boost {
|
|
|
1614
1323
|
this->insert(f, l);
|
|
1615
1324
|
}
|
|
1616
1325
|
|
|
1617
|
-
|
|
1326
|
+
template <class K, class T, class H, class P, class A>
|
|
1327
|
+
unordered_map<K, T, H, P, A>::unordered_map(
|
|
1328
|
+
std::initializer_list<value_type> list, const allocator_type& a)
|
|
1329
|
+
: table_(boost::unordered::detail::initial_size(
|
|
1330
|
+
list.begin(), list.end(), detail::default_bucket_count),
|
|
1331
|
+
hasher(), key_equal(), a)
|
|
1332
|
+
{
|
|
1333
|
+
this->insert(list.begin(), list.end());
|
|
1334
|
+
}
|
|
1618
1335
|
|
|
1619
1336
|
template <class K, class T, class H, class P, class A>
|
|
1620
1337
|
unordered_map<K, T, H, P, A>::unordered_map(
|
|
@@ -1638,15 +1355,11 @@ namespace boost {
|
|
|
1638
1355
|
this->insert(list.begin(), list.end());
|
|
1639
1356
|
}
|
|
1640
1357
|
|
|
1641
|
-
#endif
|
|
1642
|
-
|
|
1643
1358
|
template <class K, class T, class H, class P, class A>
|
|
1644
|
-
unordered_map<K, T, H, P, A>::~unordered_map()
|
|
1359
|
+
unordered_map<K, T, H, P, A>::~unordered_map() noexcept
|
|
1645
1360
|
{
|
|
1646
1361
|
}
|
|
1647
1362
|
|
|
1648
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1649
|
-
|
|
1650
1363
|
template <class K, class T, class H, class P, class A>
|
|
1651
1364
|
unordered_map<K, T, H, P, A>& unordered_map<K, T, H, P, A>::operator=(
|
|
1652
1365
|
std::initializer_list<value_type> list)
|
|
@@ -1656,12 +1369,10 @@ namespace boost {
|
|
|
1656
1369
|
return *this;
|
|
1657
1370
|
}
|
|
1658
1371
|
|
|
1659
|
-
#endif
|
|
1660
|
-
|
|
1661
1372
|
// size and capacity
|
|
1662
1373
|
|
|
1663
1374
|
template <class K, class T, class H, class P, class A>
|
|
1664
|
-
std::size_t unordered_map<K, T, H, P, A>::max_size() const
|
|
1375
|
+
std::size_t unordered_map<K, T, H, P, A>::max_size() const noexcept
|
|
1665
1376
|
{
|
|
1666
1377
|
using namespace std;
|
|
1667
1378
|
|
|
@@ -1684,42 +1395,32 @@ namespace boost {
|
|
|
1684
1395
|
}
|
|
1685
1396
|
}
|
|
1686
1397
|
|
|
1687
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1688
1398
|
template <class K, class T, class H, class P, class A>
|
|
1689
1399
|
void unordered_map<K, T, H, P, A>::insert(
|
|
1690
1400
|
std::initializer_list<value_type> list)
|
|
1691
1401
|
{
|
|
1692
1402
|
this->insert(list.begin(), list.end());
|
|
1693
1403
|
}
|
|
1694
|
-
#endif
|
|
1695
1404
|
|
|
1696
1405
|
template <class K, class T, class H, class P, class A>
|
|
1697
1406
|
typename unordered_map<K, T, H, P, A>::iterator
|
|
1698
1407
|
unordered_map<K, T, H, P, A>::erase(iterator position)
|
|
1699
1408
|
{
|
|
1700
|
-
|
|
1701
|
-
BOOST_ASSERT(node);
|
|
1702
|
-
node_pointer next = table::next_node(node);
|
|
1703
|
-
table_.erase_nodes_unique(node, next);
|
|
1704
|
-
return iterator(next);
|
|
1409
|
+
return table_.erase_node(position);
|
|
1705
1410
|
}
|
|
1706
1411
|
|
|
1707
1412
|
template <class K, class T, class H, class P, class A>
|
|
1708
1413
|
typename unordered_map<K, T, H, P, A>::iterator
|
|
1709
1414
|
unordered_map<K, T, H, P, A>::erase(const_iterator position)
|
|
1710
1415
|
{
|
|
1711
|
-
|
|
1712
|
-
BOOST_ASSERT(node);
|
|
1713
|
-
node_pointer next = table::next_node(node);
|
|
1714
|
-
table_.erase_nodes_unique(node, next);
|
|
1715
|
-
return iterator(next);
|
|
1416
|
+
return table_.erase_node(position);
|
|
1716
1417
|
}
|
|
1717
1418
|
|
|
1718
1419
|
template <class K, class T, class H, class P, class A>
|
|
1719
1420
|
typename unordered_map<K, T, H, P, A>::size_type
|
|
1720
1421
|
unordered_map<K, T, H, P, A>::erase(const key_type& k)
|
|
1721
1422
|
{
|
|
1722
|
-
return table_.
|
|
1423
|
+
return table_.erase_key_unique_impl(k);
|
|
1723
1424
|
}
|
|
1724
1425
|
|
|
1725
1426
|
template <class K, class T, class H, class P, class A>
|
|
@@ -1727,18 +1428,14 @@ namespace boost {
|
|
|
1727
1428
|
unordered_map<K, T, H, P, A>::erase(
|
|
1728
1429
|
const_iterator first, const_iterator last)
|
|
1729
1430
|
{
|
|
1730
|
-
|
|
1731
|
-
if (first == last)
|
|
1732
|
-
return iterator(last_node);
|
|
1733
|
-
table_.erase_nodes_unique(table::get_node(first), last_node);
|
|
1734
|
-
return iterator(last_node);
|
|
1431
|
+
return table_.erase_nodes_range(first, last);
|
|
1735
1432
|
}
|
|
1736
1433
|
|
|
1737
1434
|
template <class K, class T, class H, class P, class A>
|
|
1738
1435
|
void unordered_map<K, T, H, P, A>::swap(unordered_map& other)
|
|
1739
|
-
|
|
1740
|
-
boost::is_nothrow_swappable<H>::value&&
|
|
1741
|
-
boost::is_nothrow_swappable<P>::value)
|
|
1436
|
+
noexcept(value_allocator_traits::is_always_equal::value&&
|
|
1437
|
+
boost::unordered::detail::is_nothrow_swappable<H>::value&&
|
|
1438
|
+
boost::unordered::detail::is_nothrow_swappable<P>::value)
|
|
1742
1439
|
{
|
|
1743
1440
|
table_.swap(other.table_);
|
|
1744
1441
|
}
|
|
@@ -1751,7 +1448,6 @@ namespace boost {
|
|
|
1751
1448
|
table_.merge_unique(source.table_);
|
|
1752
1449
|
}
|
|
1753
1450
|
|
|
1754
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
1755
1451
|
template <class K, class T, class H, class P, class A>
|
|
1756
1452
|
template <typename H2, typename P2>
|
|
1757
1453
|
void unordered_map<K, T, H, P, A>::merge(
|
|
@@ -1759,7 +1455,6 @@ namespace boost {
|
|
|
1759
1455
|
{
|
|
1760
1456
|
table_.merge_unique(source.table_);
|
|
1761
1457
|
}
|
|
1762
|
-
#endif
|
|
1763
1458
|
|
|
1764
1459
|
template <class K, class T, class H, class P, class A>
|
|
1765
1460
|
template <typename H2, typename P2>
|
|
@@ -1769,7 +1464,6 @@ namespace boost {
|
|
|
1769
1464
|
table_.merge_unique(source.table_);
|
|
1770
1465
|
}
|
|
1771
1466
|
|
|
1772
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
1773
1467
|
template <class K, class T, class H, class P, class A>
|
|
1774
1468
|
template <typename H2, typename P2>
|
|
1775
1469
|
void unordered_map<K, T, H, P, A>::merge(
|
|
@@ -1777,7 +1471,6 @@ namespace boost {
|
|
|
1777
1471
|
{
|
|
1778
1472
|
table_.merge_unique(source.table_);
|
|
1779
1473
|
}
|
|
1780
|
-
#endif
|
|
1781
1474
|
|
|
1782
1475
|
// observers
|
|
1783
1476
|
|
|
@@ -1801,14 +1494,14 @@ namespace boost {
|
|
|
1801
1494
|
typename unordered_map<K, T, H, P, A>::iterator
|
|
1802
1495
|
unordered_map<K, T, H, P, A>::find(const key_type& k)
|
|
1803
1496
|
{
|
|
1804
|
-
return iterator(table_.
|
|
1497
|
+
return iterator(table_.find(k));
|
|
1805
1498
|
}
|
|
1806
1499
|
|
|
1807
1500
|
template <class K, class T, class H, class P, class A>
|
|
1808
1501
|
typename unordered_map<K, T, H, P, A>::const_iterator
|
|
1809
1502
|
unordered_map<K, T, H, P, A>::find(const key_type& k) const
|
|
1810
1503
|
{
|
|
1811
|
-
return const_iterator(table_.
|
|
1504
|
+
return const_iterator(table_.find(k));
|
|
1812
1505
|
}
|
|
1813
1506
|
|
|
1814
1507
|
template <class K, class T, class H, class P, class A>
|
|
@@ -1818,8 +1511,7 @@ namespace boost {
|
|
|
1818
1511
|
unordered_map<K, T, H, P, A>::find(CompatibleKey const& k,
|
|
1819
1512
|
CompatibleHash const& hash, CompatiblePredicate const& eq)
|
|
1820
1513
|
{
|
|
1821
|
-
return
|
|
1822
|
-
table_.find_node_impl(table::policy::apply_hash(hash, k), k, eq));
|
|
1514
|
+
return table_.transparent_find(k, hash, eq);
|
|
1823
1515
|
}
|
|
1824
1516
|
|
|
1825
1517
|
template <class K, class T, class H, class P, class A>
|
|
@@ -1829,8 +1521,7 @@ namespace boost {
|
|
|
1829
1521
|
unordered_map<K, T, H, P, A>::find(CompatibleKey const& k,
|
|
1830
1522
|
CompatibleHash const& hash, CompatiblePredicate const& eq) const
|
|
1831
1523
|
{
|
|
1832
|
-
return
|
|
1833
|
-
table_.find_node_impl(table::policy::apply_hash(hash, k), k, eq));
|
|
1524
|
+
return table_.transparent_find(k, hash, eq);
|
|
1834
1525
|
}
|
|
1835
1526
|
|
|
1836
1527
|
template <class K, class T, class H, class P, class A>
|
|
@@ -1845,8 +1536,12 @@ namespace boost {
|
|
|
1845
1536
|
typename unordered_map<K, T, H, P, A>::iterator>
|
|
1846
1537
|
unordered_map<K, T, H, P, A>::equal_range(const key_type& k)
|
|
1847
1538
|
{
|
|
1848
|
-
|
|
1849
|
-
|
|
1539
|
+
iterator first = table_.find(k);
|
|
1540
|
+
iterator second = first;
|
|
1541
|
+
if (second != this->end()) {
|
|
1542
|
+
++second;
|
|
1543
|
+
}
|
|
1544
|
+
return std::make_pair(first, second);
|
|
1850
1545
|
}
|
|
1851
1546
|
|
|
1852
1547
|
template <class K, class T, class H, class P, class A>
|
|
@@ -1854,51 +1549,103 @@ namespace boost {
|
|
|
1854
1549
|
typename unordered_map<K, T, H, P, A>::const_iterator>
|
|
1855
1550
|
unordered_map<K, T, H, P, A>::equal_range(const key_type& k) const
|
|
1856
1551
|
{
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1552
|
+
iterator first = table_.find(k);
|
|
1553
|
+
iterator second = first;
|
|
1554
|
+
if (second != this->end()) {
|
|
1555
|
+
++second;
|
|
1556
|
+
}
|
|
1557
|
+
return std::make_pair(const_iterator(first), const_iterator(second));
|
|
1860
1558
|
}
|
|
1861
1559
|
|
|
1862
1560
|
template <class K, class T, class H, class P, class A>
|
|
1863
1561
|
typename unordered_map<K, T, H, P, A>::mapped_type&
|
|
1864
|
-
|
|
1562
|
+
unordered_map<K, T, H, P, A>::operator[](const key_type& k)
|
|
1865
1563
|
{
|
|
1866
1564
|
return table_.try_emplace_unique(k).first->second;
|
|
1867
1565
|
}
|
|
1868
1566
|
|
|
1869
1567
|
template <class K, class T, class H, class P, class A>
|
|
1870
1568
|
typename unordered_map<K, T, H, P, A>::mapped_type&
|
|
1871
|
-
|
|
1569
|
+
unordered_map<K, T, H, P, A>::operator[](key_type&& k)
|
|
1570
|
+
{
|
|
1571
|
+
return table_.try_emplace_unique(std::move(k)).first->second;
|
|
1572
|
+
}
|
|
1573
|
+
|
|
1574
|
+
template <class K, class T, class H, class P, class A>
|
|
1575
|
+
template <class Key>
|
|
1576
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
1577
|
+
typename unordered_map<K, T, H, P, A>::mapped_type&>::type
|
|
1578
|
+
unordered_map<K, T, H, P, A>::operator[](Key&& k)
|
|
1872
1579
|
{
|
|
1873
|
-
return table_.try_emplace_unique(
|
|
1580
|
+
return table_.try_emplace_unique(std::forward<Key>(k)).first->second;
|
|
1874
1581
|
}
|
|
1875
1582
|
|
|
1876
1583
|
template <class K, class T, class H, class P, class A>
|
|
1877
1584
|
typename unordered_map<K, T, H, P, A>::mapped_type&
|
|
1878
1585
|
unordered_map<K, T, H, P, A>::at(const key_type& k)
|
|
1879
1586
|
{
|
|
1587
|
+
typedef typename table::node_pointer node_pointer;
|
|
1588
|
+
|
|
1880
1589
|
if (table_.size_) {
|
|
1881
|
-
node_pointer
|
|
1882
|
-
if (
|
|
1883
|
-
return
|
|
1590
|
+
node_pointer p = table_.find_node(k);
|
|
1591
|
+
if (p)
|
|
1592
|
+
return p->value().second;
|
|
1884
1593
|
}
|
|
1885
1594
|
|
|
1886
|
-
boost::
|
|
1887
|
-
|
|
1595
|
+
boost::unordered::detail::throw_out_of_range(
|
|
1596
|
+
"Unable to find key in unordered_map.");
|
|
1888
1597
|
}
|
|
1889
1598
|
|
|
1890
1599
|
template <class K, class T, class H, class P, class A>
|
|
1891
1600
|
typename unordered_map<K, T, H, P, A>::mapped_type const&
|
|
1892
1601
|
unordered_map<K, T, H, P, A>::at(const key_type& k) const
|
|
1893
1602
|
{
|
|
1603
|
+
typedef typename table::node_pointer node_pointer;
|
|
1604
|
+
|
|
1605
|
+
if (table_.size_) {
|
|
1606
|
+
node_pointer p = table_.find_node(k);
|
|
1607
|
+
if (p)
|
|
1608
|
+
return p->value().second;
|
|
1609
|
+
}
|
|
1610
|
+
|
|
1611
|
+
boost::unordered::detail::throw_out_of_range(
|
|
1612
|
+
"Unable to find key in unordered_map.");
|
|
1613
|
+
}
|
|
1614
|
+
|
|
1615
|
+
template <class K, class T, class H, class P, class A>
|
|
1616
|
+
template <class Key>
|
|
1617
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
1618
|
+
typename unordered_map<K, T, H, P, A>::mapped_type&>::type
|
|
1619
|
+
unordered_map<K, T, H, P, A>::at(Key&& k)
|
|
1620
|
+
{
|
|
1621
|
+
typedef typename table::node_pointer node_pointer;
|
|
1622
|
+
|
|
1623
|
+
if (table_.size_) {
|
|
1624
|
+
node_pointer p = table_.find_node(std::forward<Key>(k));
|
|
1625
|
+
if (p)
|
|
1626
|
+
return p->value().second;
|
|
1627
|
+
}
|
|
1628
|
+
|
|
1629
|
+
boost::unordered::detail::throw_out_of_range(
|
|
1630
|
+
"Unable to find key in unordered_map.");
|
|
1631
|
+
}
|
|
1632
|
+
|
|
1633
|
+
template <class K, class T, class H, class P, class A>
|
|
1634
|
+
template <class Key>
|
|
1635
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
1636
|
+
typename unordered_map<K, T, H, P, A>::mapped_type const&>::type
|
|
1637
|
+
unordered_map<K, T, H, P, A>::at(Key&& k) const
|
|
1638
|
+
{
|
|
1639
|
+
typedef typename table::node_pointer node_pointer;
|
|
1640
|
+
|
|
1894
1641
|
if (table_.size_) {
|
|
1895
|
-
node_pointer
|
|
1896
|
-
if (
|
|
1897
|
-
return
|
|
1642
|
+
node_pointer p = table_.find_node(std::forward<Key>(k));
|
|
1643
|
+
if (p)
|
|
1644
|
+
return p->value().second;
|
|
1898
1645
|
}
|
|
1899
1646
|
|
|
1900
|
-
boost::
|
|
1901
|
-
|
|
1647
|
+
boost::unordered::detail::throw_out_of_range(
|
|
1648
|
+
"Unable to find key in unordered_map.");
|
|
1902
1649
|
}
|
|
1903
1650
|
|
|
1904
1651
|
template <class K, class T, class H, class P, class A>
|
|
@@ -1911,15 +1658,19 @@ namespace boost {
|
|
|
1911
1658
|
// hash policy
|
|
1912
1659
|
|
|
1913
1660
|
template <class K, class T, class H, class P, class A>
|
|
1914
|
-
float unordered_map<K, T, H, P, A>::load_factor() const
|
|
1661
|
+
float unordered_map<K, T, H, P, A>::load_factor() const noexcept
|
|
1915
1662
|
{
|
|
1916
|
-
|
|
1663
|
+
if (table_.size_ == 0) {
|
|
1664
|
+
return 0.0f;
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
BOOST_ASSERT(table_.bucket_count() != 0);
|
|
1917
1668
|
return static_cast<float>(table_.size_) /
|
|
1918
|
-
static_cast<float>(table_.
|
|
1669
|
+
static_cast<float>(table_.bucket_count());
|
|
1919
1670
|
}
|
|
1920
1671
|
|
|
1921
1672
|
template <class K, class T, class H, class P, class A>
|
|
1922
|
-
void unordered_map<K, T, H, P, A>::max_load_factor(float m)
|
|
1673
|
+
void unordered_map<K, T, H, P, A>::max_load_factor(float m) noexcept
|
|
1923
1674
|
{
|
|
1924
1675
|
table_.max_load_factor(m);
|
|
1925
1676
|
}
|
|
@@ -1933,8 +1684,7 @@ namespace boost {
|
|
|
1933
1684
|
template <class K, class T, class H, class P, class A>
|
|
1934
1685
|
void unordered_map<K, T, H, P, A>::reserve(size_type n)
|
|
1935
1686
|
{
|
|
1936
|
-
table_.
|
|
1937
|
-
std::ceil(static_cast<double>(n) / table_.mlf_)));
|
|
1687
|
+
table_.reserve(n);
|
|
1938
1688
|
}
|
|
1939
1689
|
|
|
1940
1690
|
template <class K, class T, class H, class P, class A>
|
|
@@ -1964,9 +1714,8 @@ namespace boost {
|
|
|
1964
1714
|
}
|
|
1965
1715
|
|
|
1966
1716
|
template <class K, class T, class H, class P, class A>
|
|
1967
|
-
inline void swap(
|
|
1968
|
-
unordered_map<K, T, H, P, A>& m1
|
|
1969
|
-
BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(m1.swap(m2)))
|
|
1717
|
+
inline void swap(unordered_map<K, T, H, P, A>& m1,
|
|
1718
|
+
unordered_map<K, T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)))
|
|
1970
1719
|
{
|
|
1971
1720
|
#if BOOST_WORKAROUND(BOOST_CODEGEARC, BOOST_TESTED_AT(0x0613))
|
|
1972
1721
|
struct dummy
|
|
@@ -1977,12 +1726,17 @@ namespace boost {
|
|
|
1977
1726
|
m1.swap(m2);
|
|
1978
1727
|
}
|
|
1979
1728
|
|
|
1729
|
+
template <class K, class T, class H, class P, class A, class Predicate>
|
|
1730
|
+
typename unordered_map<K, T, H, P, A>::size_type erase_if(
|
|
1731
|
+
unordered_map<K, T, H, P, A>& c, Predicate pred)
|
|
1732
|
+
{
|
|
1733
|
+
return detail::erase_if(c, pred);
|
|
1734
|
+
}
|
|
1735
|
+
|
|
1980
1736
|
////////////////////////////////////////////////////////////////////////////
|
|
1981
1737
|
|
|
1982
1738
|
template <class K, class T, class H, class P, class A>
|
|
1983
1739
|
unordered_multimap<K, T, H, P, A>::unordered_multimap()
|
|
1984
|
-
: table_(boost::unordered::detail::default_bucket_count, hasher(),
|
|
1985
|
-
key_equal(), allocator_type())
|
|
1986
1740
|
{
|
|
1987
1741
|
}
|
|
1988
1742
|
|
|
@@ -2011,8 +1765,7 @@ namespace boost {
|
|
|
2011
1765
|
select_on_container_copy_construction(other.get_allocator()))
|
|
2012
1766
|
{
|
|
2013
1767
|
if (other.table_.size_) {
|
|
2014
|
-
table_.copy_buckets(
|
|
2015
|
-
other.table_, boost::unordered::detail::false_type());
|
|
1768
|
+
table_.copy_buckets(other.table_, std::false_type());
|
|
2016
1769
|
}
|
|
2017
1770
|
}
|
|
2018
1771
|
|
|
@@ -2030,21 +1783,18 @@ namespace boost {
|
|
|
2030
1783
|
: table_(other.table_, a)
|
|
2031
1784
|
{
|
|
2032
1785
|
if (other.table_.size_) {
|
|
2033
|
-
table_.copy_buckets(
|
|
2034
|
-
other.table_, boost::unordered::detail::false_type());
|
|
1786
|
+
table_.copy_buckets(other.table_, std::false_type());
|
|
2035
1787
|
}
|
|
2036
1788
|
}
|
|
2037
1789
|
|
|
2038
1790
|
template <class K, class T, class H, class P, class A>
|
|
2039
1791
|
unordered_multimap<K, T, H, P, A>::unordered_multimap(
|
|
2040
|
-
|
|
1792
|
+
unordered_multimap&& other, allocator_type const& a)
|
|
2041
1793
|
: table_(other.table_, a, boost::unordered::detail::move_tag())
|
|
2042
1794
|
{
|
|
2043
1795
|
table_.move_construct_buckets(other.table_);
|
|
2044
1796
|
}
|
|
2045
1797
|
|
|
2046
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
2047
|
-
|
|
2048
1798
|
template <class K, class T, class H, class P, class A>
|
|
2049
1799
|
unordered_multimap<K, T, H, P, A>::unordered_multimap(
|
|
2050
1800
|
std::initializer_list<value_type> list, size_type n, const hasher& hf,
|
|
@@ -2056,8 +1806,6 @@ namespace boost {
|
|
|
2056
1806
|
this->insert(list.begin(), list.end());
|
|
2057
1807
|
}
|
|
2058
1808
|
|
|
2059
|
-
#endif
|
|
2060
|
-
|
|
2061
1809
|
template <class K, class T, class H, class P, class A>
|
|
2062
1810
|
unordered_multimap<K, T, H, P, A>::unordered_multimap(
|
|
2063
1811
|
size_type n, const allocator_type& a)
|
|
@@ -2072,6 +1820,17 @@ namespace boost {
|
|
|
2072
1820
|
{
|
|
2073
1821
|
}
|
|
2074
1822
|
|
|
1823
|
+
template <class K, class T, class H, class P, class A>
|
|
1824
|
+
template <class InputIterator>
|
|
1825
|
+
unordered_multimap<K, T, H, P, A>::unordered_multimap(
|
|
1826
|
+
InputIterator f, InputIterator l, const allocator_type& a)
|
|
1827
|
+
: table_(boost::unordered::detail::initial_size(
|
|
1828
|
+
f, l, detail::default_bucket_count),
|
|
1829
|
+
hasher(), key_equal(), a)
|
|
1830
|
+
{
|
|
1831
|
+
this->insert(f, l);
|
|
1832
|
+
}
|
|
1833
|
+
|
|
2075
1834
|
template <class K, class T, class H, class P, class A>
|
|
2076
1835
|
template <class InputIt>
|
|
2077
1836
|
unordered_multimap<K, T, H, P, A>::unordered_multimap(
|
|
@@ -2092,7 +1851,15 @@ namespace boost {
|
|
|
2092
1851
|
this->insert(f, l);
|
|
2093
1852
|
}
|
|
2094
1853
|
|
|
2095
|
-
|
|
1854
|
+
template <class K, class T, class H, class P, class A>
|
|
1855
|
+
unordered_multimap<K, T, H, P, A>::unordered_multimap(
|
|
1856
|
+
std::initializer_list<value_type> list, const allocator_type& a)
|
|
1857
|
+
: table_(boost::unordered::detail::initial_size(
|
|
1858
|
+
list.begin(), list.end(), detail::default_bucket_count),
|
|
1859
|
+
hasher(), key_equal(), a)
|
|
1860
|
+
{
|
|
1861
|
+
this->insert(list.begin(), list.end());
|
|
1862
|
+
}
|
|
2096
1863
|
|
|
2097
1864
|
template <class K, class T, class H, class P, class A>
|
|
2098
1865
|
unordered_multimap<K, T, H, P, A>::unordered_multimap(
|
|
@@ -2116,31 +1883,25 @@ namespace boost {
|
|
|
2116
1883
|
this->insert(list.begin(), list.end());
|
|
2117
1884
|
}
|
|
2118
1885
|
|
|
2119
|
-
#endif
|
|
2120
|
-
|
|
2121
1886
|
template <class K, class T, class H, class P, class A>
|
|
2122
|
-
unordered_multimap<K, T, H, P, A>::~unordered_multimap()
|
|
1887
|
+
unordered_multimap<K, T, H, P, A>::~unordered_multimap() noexcept
|
|
2123
1888
|
{
|
|
2124
1889
|
}
|
|
2125
1890
|
|
|
2126
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
2127
|
-
|
|
2128
1891
|
template <class K, class T, class H, class P, class A>
|
|
2129
|
-
unordered_multimap<K, T, H, P, A>&
|
|
2130
|
-
operator=(
|
|
1892
|
+
unordered_multimap<K, T, H, P, A>&
|
|
1893
|
+
unordered_multimap<K, T, H, P, A>::operator=(
|
|
1894
|
+
std::initializer_list<value_type> list)
|
|
2131
1895
|
{
|
|
2132
1896
|
this->clear();
|
|
2133
1897
|
this->insert(list.begin(), list.end());
|
|
2134
1898
|
return *this;
|
|
2135
1899
|
}
|
|
2136
1900
|
|
|
2137
|
-
#endif
|
|
2138
|
-
|
|
2139
1901
|
// size and capacity
|
|
2140
1902
|
|
|
2141
1903
|
template <class K, class T, class H, class P, class A>
|
|
2142
|
-
std::size_t
|
|
2143
|
-
unordered_multimap<K, T, H, P, A>::max_size() const BOOST_NOEXCEPT
|
|
1904
|
+
std::size_t unordered_multimap<K, T, H, P, A>::max_size() const noexcept
|
|
2144
1905
|
{
|
|
2145
1906
|
using namespace std;
|
|
2146
1907
|
|
|
@@ -2160,35 +1921,27 @@ namespace boost {
|
|
|
2160
1921
|
table_.insert_range_equiv(first, last);
|
|
2161
1922
|
}
|
|
2162
1923
|
|
|
2163
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
2164
1924
|
template <class K, class T, class H, class P, class A>
|
|
2165
1925
|
void unordered_multimap<K, T, H, P, A>::insert(
|
|
2166
1926
|
std::initializer_list<value_type> list)
|
|
2167
1927
|
{
|
|
2168
1928
|
this->insert(list.begin(), list.end());
|
|
2169
1929
|
}
|
|
2170
|
-
#endif
|
|
2171
1930
|
|
|
2172
1931
|
template <class K, class T, class H, class P, class A>
|
|
2173
1932
|
typename unordered_multimap<K, T, H, P, A>::iterator
|
|
2174
1933
|
unordered_multimap<K, T, H, P, A>::erase(iterator position)
|
|
2175
1934
|
{
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
node_pointer next = table::next_node(node);
|
|
2179
|
-
table_.erase_nodes_equiv(node, next);
|
|
2180
|
-
return iterator(next);
|
|
1935
|
+
BOOST_ASSERT(position != this->end());
|
|
1936
|
+
return table_.erase_node(position);
|
|
2181
1937
|
}
|
|
2182
1938
|
|
|
2183
1939
|
template <class K, class T, class H, class P, class A>
|
|
2184
1940
|
typename unordered_multimap<K, T, H, P, A>::iterator
|
|
2185
1941
|
unordered_multimap<K, T, H, P, A>::erase(const_iterator position)
|
|
2186
1942
|
{
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
node_pointer next = table::next_node(node);
|
|
2190
|
-
table_.erase_nodes_equiv(node, next);
|
|
2191
|
-
return iterator(next);
|
|
1943
|
+
BOOST_ASSERT(position != this->end());
|
|
1944
|
+
return table_.erase_node(position);
|
|
2192
1945
|
}
|
|
2193
1946
|
|
|
2194
1947
|
template <class K, class T, class H, class P, class A>
|
|
@@ -2203,18 +1956,14 @@ namespace boost {
|
|
|
2203
1956
|
unordered_multimap<K, T, H, P, A>::erase(
|
|
2204
1957
|
const_iterator first, const_iterator last)
|
|
2205
1958
|
{
|
|
2206
|
-
|
|
2207
|
-
if (first == last)
|
|
2208
|
-
return iterator(last_node);
|
|
2209
|
-
table_.erase_nodes_equiv(table::get_node(first), last_node);
|
|
2210
|
-
return iterator(last_node);
|
|
1959
|
+
return table_.erase_nodes_range(first, last);
|
|
2211
1960
|
}
|
|
2212
1961
|
|
|
2213
1962
|
template <class K, class T, class H, class P, class A>
|
|
2214
1963
|
void unordered_multimap<K, T, H, P, A>::swap(unordered_multimap& other)
|
|
2215
|
-
|
|
2216
|
-
boost::is_nothrow_swappable<H>::value&&
|
|
2217
|
-
boost::is_nothrow_swappable<P>::value)
|
|
1964
|
+
noexcept(value_allocator_traits::is_always_equal::value&&
|
|
1965
|
+
boost::unordered::detail::is_nothrow_swappable<H>::value&&
|
|
1966
|
+
boost::unordered::detail::is_nothrow_swappable<P>::value)
|
|
2218
1967
|
{
|
|
2219
1968
|
table_.swap(other.table_);
|
|
2220
1969
|
}
|
|
@@ -2245,7 +1994,6 @@ namespace boost {
|
|
|
2245
1994
|
}
|
|
2246
1995
|
}
|
|
2247
1996
|
|
|
2248
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
2249
1997
|
template <class K, class T, class H, class P, class A>
|
|
2250
1998
|
template <typename H2, typename P2>
|
|
2251
1999
|
void unordered_multimap<K, T, H, P, A>::merge(
|
|
@@ -2255,7 +2003,6 @@ namespace boost {
|
|
|
2255
2003
|
insert(source.extract(source.begin()));
|
|
2256
2004
|
}
|
|
2257
2005
|
}
|
|
2258
|
-
#endif
|
|
2259
2006
|
|
|
2260
2007
|
template <class K, class T, class H, class P, class A>
|
|
2261
2008
|
template <typename H2, typename P2>
|
|
@@ -2267,7 +2014,6 @@ namespace boost {
|
|
|
2267
2014
|
}
|
|
2268
2015
|
}
|
|
2269
2016
|
|
|
2270
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
2271
2017
|
template <class K, class T, class H, class P, class A>
|
|
2272
2018
|
template <typename H2, typename P2>
|
|
2273
2019
|
void unordered_multimap<K, T, H, P, A>::merge(
|
|
@@ -2277,7 +2023,6 @@ namespace boost {
|
|
|
2277
2023
|
insert(source.extract(source.begin()));
|
|
2278
2024
|
}
|
|
2279
2025
|
}
|
|
2280
|
-
#endif
|
|
2281
2026
|
|
|
2282
2027
|
// lookup
|
|
2283
2028
|
|
|
@@ -2285,14 +2030,14 @@ namespace boost {
|
|
|
2285
2030
|
typename unordered_multimap<K, T, H, P, A>::iterator
|
|
2286
2031
|
unordered_multimap<K, T, H, P, A>::find(const key_type& k)
|
|
2287
2032
|
{
|
|
2288
|
-
return iterator(table_.
|
|
2033
|
+
return iterator(table_.find(k));
|
|
2289
2034
|
}
|
|
2290
2035
|
|
|
2291
2036
|
template <class K, class T, class H, class P, class A>
|
|
2292
2037
|
typename unordered_multimap<K, T, H, P, A>::const_iterator
|
|
2293
2038
|
unordered_multimap<K, T, H, P, A>::find(const key_type& k) const
|
|
2294
2039
|
{
|
|
2295
|
-
return const_iterator(table_.
|
|
2040
|
+
return const_iterator(table_.find(k));
|
|
2296
2041
|
}
|
|
2297
2042
|
|
|
2298
2043
|
template <class K, class T, class H, class P, class A>
|
|
@@ -2302,8 +2047,7 @@ namespace boost {
|
|
|
2302
2047
|
unordered_multimap<K, T, H, P, A>::find(CompatibleKey const& k,
|
|
2303
2048
|
CompatibleHash const& hash, CompatiblePredicate const& eq)
|
|
2304
2049
|
{
|
|
2305
|
-
return
|
|
2306
|
-
table_.find_node_impl(table::policy::apply_hash(hash, k), k, eq));
|
|
2050
|
+
return table_.transparent_find(k, hash, eq);
|
|
2307
2051
|
}
|
|
2308
2052
|
|
|
2309
2053
|
template <class K, class T, class H, class P, class A>
|
|
@@ -2313,16 +2057,14 @@ namespace boost {
|
|
|
2313
2057
|
unordered_multimap<K, T, H, P, A>::find(CompatibleKey const& k,
|
|
2314
2058
|
CompatibleHash const& hash, CompatiblePredicate const& eq) const
|
|
2315
2059
|
{
|
|
2316
|
-
return
|
|
2317
|
-
table_.find_node_impl(table::policy::apply_hash(hash, k), k, eq));
|
|
2060
|
+
return table_.transparent_find(k, hash, eq);
|
|
2318
2061
|
}
|
|
2319
2062
|
|
|
2320
2063
|
template <class K, class T, class H, class P, class A>
|
|
2321
2064
|
typename unordered_multimap<K, T, H, P, A>::size_type
|
|
2322
2065
|
unordered_multimap<K, T, H, P, A>::count(const key_type& k) const
|
|
2323
2066
|
{
|
|
2324
|
-
|
|
2325
|
-
return n ? table_.group_count(n) : 0;
|
|
2067
|
+
return table_.group_count(k);
|
|
2326
2068
|
}
|
|
2327
2069
|
|
|
2328
2070
|
template <class K, class T, class H, class P, class A>
|
|
@@ -2330,9 +2072,8 @@ namespace boost {
|
|
|
2330
2072
|
typename unordered_multimap<K, T, H, P, A>::iterator>
|
|
2331
2073
|
unordered_multimap<K, T, H, P, A>::equal_range(const key_type& k)
|
|
2332
2074
|
{
|
|
2333
|
-
|
|
2334
|
-
return std::make_pair(
|
|
2335
|
-
iterator(n), iterator(n ? table_.next_group(n) : n));
|
|
2075
|
+
iterator n = table_.find(k);
|
|
2076
|
+
return std::make_pair(n, (n == end() ? n : table_.next_group(k, n)));
|
|
2336
2077
|
}
|
|
2337
2078
|
|
|
2338
2079
|
template <class K, class T, class H, class P, class A>
|
|
@@ -2340,9 +2081,9 @@ namespace boost {
|
|
|
2340
2081
|
typename unordered_multimap<K, T, H, P, A>::const_iterator>
|
|
2341
2082
|
unordered_multimap<K, T, H, P, A>::equal_range(const key_type& k) const
|
|
2342
2083
|
{
|
|
2343
|
-
|
|
2344
|
-
return std::make_pair(
|
|
2345
|
-
const_iterator(n
|
|
2084
|
+
iterator n = table_.find(k);
|
|
2085
|
+
return std::make_pair(const_iterator(n),
|
|
2086
|
+
const_iterator(n == end() ? n : table_.next_group(k, n)));
|
|
2346
2087
|
}
|
|
2347
2088
|
|
|
2348
2089
|
template <class K, class T, class H, class P, class A>
|
|
@@ -2355,16 +2096,19 @@ namespace boost {
|
|
|
2355
2096
|
// hash policy
|
|
2356
2097
|
|
|
2357
2098
|
template <class K, class T, class H, class P, class A>
|
|
2358
|
-
float unordered_multimap<K, T, H, P, A>::load_factor() const
|
|
2099
|
+
float unordered_multimap<K, T, H, P, A>::load_factor() const noexcept
|
|
2359
2100
|
{
|
|
2360
|
-
|
|
2101
|
+
if (table_.size_ == 0) {
|
|
2102
|
+
return 0.0f;
|
|
2103
|
+
}
|
|
2104
|
+
|
|
2105
|
+
BOOST_ASSERT(table_.bucket_count() != 0);
|
|
2361
2106
|
return static_cast<float>(table_.size_) /
|
|
2362
|
-
static_cast<float>(table_.
|
|
2107
|
+
static_cast<float>(table_.bucket_count());
|
|
2363
2108
|
}
|
|
2364
2109
|
|
|
2365
2110
|
template <class K, class T, class H, class P, class A>
|
|
2366
|
-
void unordered_multimap<K, T, H, P, A>::max_load_factor(
|
|
2367
|
-
float m) BOOST_NOEXCEPT
|
|
2111
|
+
void unordered_multimap<K, T, H, P, A>::max_load_factor(float m) noexcept
|
|
2368
2112
|
{
|
|
2369
2113
|
table_.max_load_factor(m);
|
|
2370
2114
|
}
|
|
@@ -2378,8 +2122,7 @@ namespace boost {
|
|
|
2378
2122
|
template <class K, class T, class H, class P, class A>
|
|
2379
2123
|
void unordered_multimap<K, T, H, P, A>::reserve(size_type n)
|
|
2380
2124
|
{
|
|
2381
|
-
table_.
|
|
2382
|
-
std::ceil(static_cast<double>(n) / table_.mlf_)));
|
|
2125
|
+
table_.reserve(n);
|
|
2383
2126
|
}
|
|
2384
2127
|
|
|
2385
2128
|
template <class K, class T, class H, class P, class A>
|
|
@@ -2410,8 +2153,7 @@ namespace boost {
|
|
|
2410
2153
|
|
|
2411
2154
|
template <class K, class T, class H, class P, class A>
|
|
2412
2155
|
inline void swap(unordered_multimap<K, T, H, P, A>& m1,
|
|
2413
|
-
unordered_multimap<K, T, H, P, A>& m2)
|
|
2414
|
-
BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(m1.swap(m2)))
|
|
2156
|
+
unordered_multimap<K, T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)))
|
|
2415
2157
|
{
|
|
2416
2158
|
#if BOOST_WORKAROUND(BOOST_CODEGEARC, BOOST_TESTED_AT(0x0613))
|
|
2417
2159
|
struct dummy
|
|
@@ -2422,26 +2164,29 @@ namespace boost {
|
|
|
2422
2164
|
m1.swap(m2);
|
|
2423
2165
|
}
|
|
2424
2166
|
|
|
2425
|
-
template <
|
|
2167
|
+
template <class K, class T, class H, class P, class A, class Predicate>
|
|
2168
|
+
typename unordered_multimap<K, T, H, P, A>::size_type erase_if(
|
|
2169
|
+
unordered_multimap<K, T, H, P, A>& c, Predicate pred)
|
|
2426
2170
|
{
|
|
2427
|
-
|
|
2171
|
+
return detail::erase_if(c, pred);
|
|
2172
|
+
}
|
|
2428
2173
|
|
|
2174
|
+
template <typename N, class K, class T, class A> class node_handle_map
|
|
2175
|
+
{
|
|
2429
2176
|
template <typename Types> friend struct ::boost::unordered::detail::table;
|
|
2430
2177
|
template <class K2, class T2, class H2, class P2, class A2>
|
|
2431
2178
|
friend class boost::unordered::unordered_map;
|
|
2432
2179
|
template <class K2, class T2, class H2, class P2, class A2>
|
|
2433
2180
|
friend class boost::unordered::unordered_multimap;
|
|
2434
2181
|
|
|
2435
|
-
typedef typename boost::
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
value_allocator_traits;
|
|
2182
|
+
typedef typename boost::allocator_rebind<A, std::pair<K const, T> >::type
|
|
2183
|
+
value_allocator;
|
|
2184
|
+
|
|
2439
2185
|
typedef N node;
|
|
2440
|
-
typedef typename boost::
|
|
2441
|
-
|
|
2442
|
-
typedef
|
|
2443
|
-
|
|
2444
|
-
typedef typename node_allocator_traits::pointer node_pointer;
|
|
2186
|
+
typedef typename boost::allocator_rebind<A, node>::type node_allocator;
|
|
2187
|
+
|
|
2188
|
+
typedef
|
|
2189
|
+
typename boost::allocator_pointer<node_allocator>::type node_pointer;
|
|
2445
2190
|
|
|
2446
2191
|
public:
|
|
2447
2192
|
typedef K key_type;
|
|
@@ -2458,7 +2203,9 @@ namespace boost {
|
|
|
2458
2203
|
}
|
|
2459
2204
|
|
|
2460
2205
|
public:
|
|
2461
|
-
|
|
2206
|
+
constexpr node_handle_map() noexcept : ptr_(), alloc_() {}
|
|
2207
|
+
node_handle_map(node_handle_map const&) = delete;
|
|
2208
|
+
node_handle_map& operator=(node_handle_map const&) = delete;
|
|
2462
2209
|
|
|
2463
2210
|
~node_handle_map()
|
|
2464
2211
|
{
|
|
@@ -2469,18 +2216,18 @@ namespace boost {
|
|
|
2469
2216
|
}
|
|
2470
2217
|
}
|
|
2471
2218
|
|
|
2472
|
-
node_handle_map(
|
|
2473
|
-
|
|
2474
|
-
|
|
2219
|
+
node_handle_map(node_handle_map&& n) noexcept
|
|
2220
|
+
: ptr_(n.ptr_),
|
|
2221
|
+
alloc_(std::move(n.alloc_))
|
|
2475
2222
|
{
|
|
2476
2223
|
n.ptr_ = node_pointer();
|
|
2477
2224
|
}
|
|
2478
2225
|
|
|
2479
|
-
node_handle_map& operator=(
|
|
2226
|
+
node_handle_map& operator=(node_handle_map&& n)
|
|
2480
2227
|
{
|
|
2481
2228
|
BOOST_ASSERT(!alloc_.has_value() ||
|
|
2482
|
-
|
|
2483
|
-
|
|
2229
|
+
boost::allocator_propagate_on_container_move_assignment<
|
|
2230
|
+
value_allocator>::type::value ||
|
|
2484
2231
|
(n.alloc_.has_value() && alloc_ == n.alloc_));
|
|
2485
2232
|
|
|
2486
2233
|
if (ptr_) {
|
|
@@ -2491,9 +2238,9 @@ namespace boost {
|
|
|
2491
2238
|
}
|
|
2492
2239
|
|
|
2493
2240
|
if (!alloc_.has_value() ||
|
|
2494
|
-
|
|
2495
|
-
value) {
|
|
2496
|
-
alloc_ =
|
|
2241
|
+
boost::allocator_propagate_on_container_move_assignment<
|
|
2242
|
+
value_allocator>::type::value) {
|
|
2243
|
+
alloc_ = std::move(n.alloc_);
|
|
2497
2244
|
}
|
|
2498
2245
|
ptr_ = n.ptr_;
|
|
2499
2246
|
n.ptr_ = node_pointer();
|
|
@@ -2510,76 +2257,95 @@ namespace boost {
|
|
|
2510
2257
|
|
|
2511
2258
|
allocator_type get_allocator() const { return *alloc_; }
|
|
2512
2259
|
|
|
2513
|
-
|
|
2260
|
+
explicit operator bool() const noexcept
|
|
2261
|
+
{
|
|
2262
|
+
return !this->operator!();
|
|
2263
|
+
}
|
|
2514
2264
|
|
|
2515
|
-
bool operator!() const
|
|
2265
|
+
bool operator!() const noexcept { return ptr_ ? 0 : 1; }
|
|
2516
2266
|
|
|
2517
|
-
bool empty() const
|
|
2267
|
+
BOOST_ATTRIBUTE_NODISCARD bool empty() const noexcept
|
|
2268
|
+
{
|
|
2269
|
+
return ptr_ ? 0 : 1;
|
|
2270
|
+
}
|
|
2518
2271
|
|
|
2519
|
-
void swap(node_handle_map& n)
|
|
2520
|
-
|
|
2521
|
-
|
|
2272
|
+
void swap(node_handle_map& n)
|
|
2273
|
+
noexcept(boost::allocator_propagate_on_container_swap<
|
|
2274
|
+
value_allocator>::type::value ||
|
|
2275
|
+
boost::allocator_is_always_equal<value_allocator>::type::value)
|
|
2522
2276
|
{
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2277
|
+
|
|
2278
|
+
BOOST_ASSERT(!alloc_.has_value() || !n.alloc_.has_value() ||
|
|
2279
|
+
boost::allocator_propagate_on_container_swap<
|
|
2280
|
+
value_allocator>::type::value ||
|
|
2281
|
+
alloc_ == n.alloc_);
|
|
2282
|
+
if (boost::allocator_propagate_on_container_swap<
|
|
2283
|
+
value_allocator>::type::value ||
|
|
2528
2284
|
!alloc_.has_value() || !n.alloc_.has_value()) {
|
|
2529
|
-
boost::
|
|
2285
|
+
boost::core::invoke_swap(alloc_, n.alloc_);
|
|
2530
2286
|
}
|
|
2531
|
-
boost::
|
|
2287
|
+
boost::core::invoke_swap(ptr_, n.ptr_);
|
|
2532
2288
|
}
|
|
2533
2289
|
};
|
|
2534
2290
|
|
|
2535
2291
|
template <class N, class K, class T, class A>
|
|
2536
2292
|
void swap(node_handle_map<N, K, T, A>& x, node_handle_map<N, K, T, A>& y)
|
|
2537
|
-
|
|
2293
|
+
noexcept(noexcept(x.swap(y)))
|
|
2538
2294
|
{
|
|
2539
2295
|
x.swap(y);
|
|
2540
2296
|
}
|
|
2541
2297
|
|
|
2542
|
-
template <class
|
|
2298
|
+
template <class Iter, class NodeType> struct insert_return_type_map
|
|
2543
2299
|
{
|
|
2544
|
-
private:
|
|
2545
|
-
BOOST_MOVABLE_BUT_NOT_COPYABLE(insert_return_type_map)
|
|
2546
|
-
|
|
2547
|
-
typedef typename boost::unordered::detail::rebind_wrap<A,
|
|
2548
|
-
std::pair<K const, T> >::type value_allocator;
|
|
2549
|
-
typedef N node_;
|
|
2550
|
-
|
|
2551
2300
|
public:
|
|
2301
|
+
Iter position;
|
|
2552
2302
|
bool inserted;
|
|
2553
|
-
|
|
2554
|
-
boost::unordered::node_handle_map<N, K, T, A> node;
|
|
2303
|
+
NodeType node;
|
|
2555
2304
|
|
|
2556
|
-
insert_return_type_map() :
|
|
2305
|
+
insert_return_type_map() : position(), inserted(false), node() {}
|
|
2306
|
+
insert_return_type_map(insert_return_type_map const&) = delete;
|
|
2307
|
+
insert_return_type_map& operator=(insert_return_type_map const&) = delete;
|
|
2557
2308
|
|
|
2558
|
-
insert_return_type_map(
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2309
|
+
insert_return_type_map(insert_return_type_map&& x) noexcept
|
|
2310
|
+
: position(x.position),
|
|
2311
|
+
inserted(x.inserted),
|
|
2312
|
+
node(std::move(x.node))
|
|
2562
2313
|
{
|
|
2563
2314
|
}
|
|
2564
2315
|
|
|
2565
|
-
insert_return_type_map& operator=(
|
|
2316
|
+
insert_return_type_map& operator=(insert_return_type_map&& x)
|
|
2566
2317
|
{
|
|
2567
2318
|
inserted = x.inserted;
|
|
2568
2319
|
position = x.position;
|
|
2569
|
-
node =
|
|
2320
|
+
node = std::move(x.node);
|
|
2570
2321
|
return *this;
|
|
2571
2322
|
}
|
|
2572
2323
|
};
|
|
2573
2324
|
|
|
2574
|
-
template <class
|
|
2575
|
-
void swap(insert_return_type_map<
|
|
2576
|
-
insert_return_type_map<
|
|
2325
|
+
template <class Iter, class NodeType>
|
|
2326
|
+
void swap(insert_return_type_map<Iter, NodeType>& x,
|
|
2327
|
+
insert_return_type_map<Iter, NodeType>& y)
|
|
2577
2328
|
{
|
|
2578
|
-
boost::
|
|
2579
|
-
boost::
|
|
2580
|
-
boost::
|
|
2329
|
+
boost::core::invoke_swap(x.node, y.node);
|
|
2330
|
+
boost::core::invoke_swap(x.inserted, y.inserted);
|
|
2331
|
+
boost::core::invoke_swap(x.position, y.position);
|
|
2581
2332
|
}
|
|
2582
2333
|
} // namespace unordered
|
|
2334
|
+
|
|
2335
|
+
namespace serialization {
|
|
2336
|
+
template <class K, class T, class H, class P, class A>
|
|
2337
|
+
struct version<boost::unordered_map<K, T, H, P, A> >
|
|
2338
|
+
{
|
|
2339
|
+
BOOST_STATIC_CONSTANT(int, value = 1);
|
|
2340
|
+
};
|
|
2341
|
+
|
|
2342
|
+
template <class K, class T, class H, class P, class A>
|
|
2343
|
+
struct version<boost::unordered_multimap<K, T, H, P, A> >
|
|
2344
|
+
{
|
|
2345
|
+
BOOST_STATIC_CONSTANT(int, value = 1);
|
|
2346
|
+
};
|
|
2347
|
+
} // namespace serialization
|
|
2348
|
+
|
|
2583
2349
|
} // namespace boost
|
|
2584
2350
|
|
|
2585
2351
|
#if defined(BOOST_MSVC)
|