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
|
@@ -50,7 +50,6 @@
|
|
|
50
50
|
#include <boost/move/detail/move_helpers.hpp>
|
|
51
51
|
// other
|
|
52
52
|
#include <boost/assert.hpp>
|
|
53
|
-
#include <boost/core/no_exceptions_support.hpp>
|
|
54
53
|
// std
|
|
55
54
|
#include <cstddef>
|
|
56
55
|
|
|
@@ -69,16 +68,16 @@ template <class T>
|
|
|
69
68
|
struct deque_value_traits
|
|
70
69
|
{
|
|
71
70
|
typedef T value_type;
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
BOOST_STATIC_CONSTEXPR bool trivial_dctr = dtl::is_trivially_destructible<value_type>::value;
|
|
72
|
+
BOOST_STATIC_CONSTEXPR bool trivial_dctr_after_move = ::boost::has_trivial_destructor_after_move<value_type>::value;
|
|
74
73
|
};
|
|
75
74
|
|
|
76
75
|
template<class T, std::size_t BlockBytes, std::size_t BlockSize>
|
|
77
76
|
struct deque_block_size
|
|
78
77
|
{
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
BOOST_CONTAINER_STATIC_ASSERT_MSG(!(BlockBytes && BlockSize), "BlockBytes and BlockSize can't be specified at the same time");
|
|
79
|
+
BOOST_STATIC_CONSTEXPR std::size_t block_bytes = BlockBytes ? BlockBytes : 512u;
|
|
80
|
+
BOOST_STATIC_CONSTEXPR std::size_t value = BlockSize ? BlockSize : (sizeof(T) < block_bytes ? (block_bytes/sizeof(T)) : std::size_t(1));
|
|
82
81
|
};
|
|
83
82
|
|
|
84
83
|
namespace dtl {
|
|
@@ -107,6 +106,10 @@ namespace dtl {
|
|
|
107
106
|
// [map, map + map_size).
|
|
108
107
|
// A pointer in the range [map, map + map_size) points to an allocated node
|
|
109
108
|
// if and only if the pointer is in the range [start.node, finish.node].
|
|
109
|
+
|
|
110
|
+
#define BOOST_CONTAINER_DEQUE_LIGHTER_ITERATOR_LEVEL 0
|
|
111
|
+
|
|
112
|
+
#if BOOST_CONTAINER_DEQUE_LIGHTER_ITERATOR_LEVEL == 0
|
|
110
113
|
template<class Pointer, bool IsConst>
|
|
111
114
|
class deque_iterator
|
|
112
115
|
{
|
|
@@ -114,6 +117,7 @@ class deque_iterator
|
|
|
114
117
|
typedef std::random_access_iterator_tag iterator_category;
|
|
115
118
|
typedef typename boost::intrusive::pointer_traits<Pointer>::element_type value_type;
|
|
116
119
|
typedef typename boost::intrusive::pointer_traits<Pointer>::difference_type difference_type;
|
|
120
|
+
typedef typename boost::intrusive::pointer_traits<Pointer>::size_type size_type;
|
|
117
121
|
typedef typename if_c
|
|
118
122
|
< IsConst
|
|
119
123
|
, typename boost::intrusive::pointer_traits<Pointer>::template
|
|
@@ -142,43 +146,47 @@ class deque_iterator
|
|
|
142
146
|
|
|
143
147
|
public:
|
|
144
148
|
|
|
145
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
146
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
147
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
148
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
149
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_cur() const { return m_cur; }
|
|
150
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_first() const { return m_first; }
|
|
151
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_last() const { return m_last; }
|
|
152
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline index_pointer get_node() const { return m_node; }
|
|
149
153
|
|
|
150
|
-
|
|
154
|
+
inline deque_iterator(val_alloc_ptr x, index_pointer y, difference_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
|
|
151
155
|
: m_cur(x), m_first(*y), m_last(*y + block_size), m_node(y)
|
|
152
156
|
{}
|
|
153
157
|
|
|
154
|
-
|
|
158
|
+
inline deque_iterator(val_alloc_ptr x, index_pointer y, size_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
|
|
159
|
+
: m_cur(x), m_first(*y), m_last(*y + difference_type(block_size)), m_node(y)
|
|
160
|
+
{}
|
|
161
|
+
|
|
162
|
+
inline deque_iterator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
155
163
|
: m_cur(), m_first(), m_last(), m_node() //Value initialization to achieve "null iterators" (N3644)
|
|
156
164
|
{}
|
|
157
165
|
|
|
158
|
-
|
|
166
|
+
inline deque_iterator(const deque_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
159
167
|
: m_cur(x.get_cur()), m_first(x.get_first()), m_last(x.get_last()), m_node(x.get_node())
|
|
160
168
|
{}
|
|
161
169
|
|
|
162
|
-
|
|
170
|
+
inline deque_iterator(const nonconst_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
163
171
|
: m_cur(x.get_cur()), m_first(x.get_first()), m_last(x.get_last()), m_node(x.get_node())
|
|
164
172
|
{}
|
|
165
173
|
|
|
166
|
-
|
|
174
|
+
inline deque_iterator(Pointer cur, Pointer first, Pointer last, index_pointer node) BOOST_NOEXCEPT_OR_NOTHROW
|
|
167
175
|
: m_cur(cur), m_first(first), m_last(last), m_node(node)
|
|
168
176
|
{}
|
|
169
177
|
|
|
170
|
-
|
|
178
|
+
inline deque_iterator& operator=(const deque_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
171
179
|
{ m_cur = x.get_cur(); m_first = x.get_first(); m_last = x.get_last(); m_node = x.get_node(); return *this; }
|
|
172
180
|
|
|
173
|
-
|
|
181
|
+
inline deque_iterator<Pointer, false> unconst() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
174
182
|
{
|
|
175
183
|
return deque_iterator<Pointer, false>(this->get_cur(), this->get_first(), this->get_last(), this->get_node());
|
|
176
184
|
}
|
|
177
185
|
|
|
178
|
-
|
|
186
|
+
inline reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
179
187
|
{ return *this->m_cur; }
|
|
180
188
|
|
|
181
|
-
|
|
189
|
+
inline pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
182
190
|
{ return this->m_cur; }
|
|
183
191
|
|
|
184
192
|
BOOST_CONTAINER_ATTRIBUTE_NODISCARD difference_type operator-(const deque_iterator& x) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
@@ -186,7 +194,7 @@ class deque_iterator
|
|
|
186
194
|
if(!this->m_cur && !x.m_cur){
|
|
187
195
|
return 0;
|
|
188
196
|
}
|
|
189
|
-
const difference_type block_size =
|
|
197
|
+
const difference_type block_size = m_last - m_first;
|
|
190
198
|
BOOST_ASSERT(block_size);
|
|
191
199
|
return block_size * (this->m_node - x.m_node - 1) +
|
|
192
200
|
(this->m_cur - this->m_first) + (x.m_last - x.m_cur);
|
|
@@ -205,7 +213,7 @@ class deque_iterator
|
|
|
205
213
|
return *this;
|
|
206
214
|
}
|
|
207
215
|
|
|
208
|
-
|
|
216
|
+
inline deque_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW
|
|
209
217
|
{
|
|
210
218
|
deque_iterator tmp(*this);
|
|
211
219
|
++*this;
|
|
@@ -225,7 +233,7 @@ class deque_iterator
|
|
|
225
233
|
return *this;
|
|
226
234
|
}
|
|
227
235
|
|
|
228
|
-
|
|
236
|
+
inline deque_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
|
|
229
237
|
{
|
|
230
238
|
deque_iterator tmp(*this);
|
|
231
239
|
--*this;
|
|
@@ -237,67 +245,71 @@ class deque_iterator
|
|
|
237
245
|
if (!n)
|
|
238
246
|
return *this;
|
|
239
247
|
BOOST_ASSERT(!!m_cur);
|
|
240
|
-
difference_type offset = n + (this->m_cur - this->m_first);
|
|
241
|
-
const difference_type block_size =
|
|
248
|
+
const difference_type offset = n + (this->m_cur - this->m_first);
|
|
249
|
+
const difference_type block_size = m_last - m_first;
|
|
242
250
|
BOOST_ASSERT(block_size);
|
|
243
251
|
if (offset >= 0 && offset < block_size)
|
|
244
|
-
this->m_cur += n;
|
|
252
|
+
this->m_cur += difference_type(n);
|
|
245
253
|
else {
|
|
246
|
-
difference_type node_offset =
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
this->priv_set_node(this->m_node + node_offset, block_size);
|
|
254
|
+
const difference_type node_offset =
|
|
255
|
+
offset > 0 ? (offset / block_size)
|
|
256
|
+
: (-difference_type((-offset - 1) / block_size) - 1);
|
|
257
|
+
this->priv_set_node(this->m_node + node_offset, size_type(block_size));
|
|
250
258
|
this->m_cur = this->m_first +
|
|
251
259
|
(offset - node_offset * block_size);
|
|
252
260
|
}
|
|
253
261
|
return *this;
|
|
254
262
|
}
|
|
255
263
|
|
|
256
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
264
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
257
265
|
deque_iterator operator+(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
258
266
|
{ deque_iterator tmp(*this); return tmp += n; }
|
|
259
267
|
|
|
260
|
-
|
|
268
|
+
inline
|
|
261
269
|
deque_iterator& operator-=(difference_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
262
270
|
{ return *this += -n; }
|
|
263
271
|
|
|
264
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
272
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
265
273
|
deque_iterator operator-(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
266
274
|
{ deque_iterator tmp(*this); return tmp -= n; }
|
|
267
275
|
|
|
268
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
276
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
269
277
|
reference operator[](difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
270
278
|
{ return *(*this + n); }
|
|
271
279
|
|
|
272
|
-
|
|
280
|
+
//Comparisons
|
|
281
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
273
282
|
friend bool operator==(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
274
283
|
{ return l.m_cur == r.m_cur; }
|
|
275
284
|
|
|
276
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
285
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
277
286
|
friend bool operator!=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
278
287
|
{ return l.m_cur != r.m_cur; }
|
|
279
288
|
|
|
280
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
289
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
281
290
|
friend bool operator<(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
282
291
|
{ return (l.m_node == r.m_node) ? (l.m_cur < r.m_cur) : (l.m_node < r.m_node); }
|
|
283
292
|
|
|
284
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
293
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
285
294
|
friend bool operator>(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
286
295
|
{ return r < l; }
|
|
287
296
|
|
|
288
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
297
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
289
298
|
friend bool operator<=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
290
299
|
{ return !(r < l); }
|
|
291
300
|
|
|
292
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
301
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
293
302
|
friend bool operator>=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
294
303
|
{ return !(l < r); }
|
|
295
304
|
|
|
296
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
305
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
297
306
|
friend deque_iterator operator+(difference_type n, deque_iterator x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
298
307
|
{ return x += n; }
|
|
299
308
|
|
|
300
|
-
|
|
309
|
+
inline void priv_set_node(index_pointer new_node, size_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
|
|
310
|
+
{ return this->priv_set_node(new_node, difference_type(block_size)); }
|
|
311
|
+
|
|
312
|
+
inline void priv_set_node(index_pointer new_node, difference_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
|
|
301
313
|
{
|
|
302
314
|
this->m_node = new_node;
|
|
303
315
|
this->m_first = *new_node;
|
|
@@ -305,6 +317,447 @@ class deque_iterator
|
|
|
305
317
|
}
|
|
306
318
|
};
|
|
307
319
|
|
|
320
|
+
#elif BOOST_CONTAINER_DEQUE_LIGHTER_ITERATOR_LEVEL == 1
|
|
321
|
+
|
|
322
|
+
template<class Pointer, bool IsConst, unsigned BlockBytes, unsigned BlockSize>
|
|
323
|
+
class deque_iterator
|
|
324
|
+
{
|
|
325
|
+
public:
|
|
326
|
+
typedef std::random_access_iterator_tag iterator_category;
|
|
327
|
+
typedef typename boost::intrusive::pointer_traits<Pointer>::element_type value_type;
|
|
328
|
+
typedef typename boost::intrusive::pointer_traits<Pointer>::difference_type difference_type;
|
|
329
|
+
typedef typename boost::intrusive::pointer_traits<Pointer>::size_type size_type;
|
|
330
|
+
typedef typename if_c
|
|
331
|
+
< IsConst
|
|
332
|
+
, typename boost::intrusive::pointer_traits<Pointer>::template
|
|
333
|
+
rebind_pointer<const value_type>::type
|
|
334
|
+
, Pointer
|
|
335
|
+
>::type pointer;
|
|
336
|
+
typedef typename if_c
|
|
337
|
+
< IsConst
|
|
338
|
+
, const value_type&
|
|
339
|
+
, value_type&
|
|
340
|
+
>::type reference;
|
|
341
|
+
|
|
342
|
+
BOOST_CONSTEXPR inline static size_type get_block_size() BOOST_NOEXCEPT_OR_NOTHROW
|
|
343
|
+
{ return deque_block_size<value_type, BlockBytes, BlockSize>::value; }
|
|
344
|
+
|
|
345
|
+
BOOST_CONSTEXPR inline static difference_type get_block_ssize() BOOST_NOEXCEPT_OR_NOTHROW
|
|
346
|
+
{ return difference_type((get_block_size())); }
|
|
347
|
+
|
|
348
|
+
class nat;
|
|
349
|
+
typedef typename dtl::if_c< IsConst
|
|
350
|
+
, deque_iterator<Pointer, false, BlockBytes, BlockSize>
|
|
351
|
+
, nat>::type nonconst_iterator;
|
|
352
|
+
|
|
353
|
+
typedef Pointer val_alloc_ptr;
|
|
354
|
+
typedef typename boost::intrusive::pointer_traits<Pointer>::
|
|
355
|
+
template rebind_pointer<Pointer>::type index_pointer;
|
|
356
|
+
|
|
357
|
+
Pointer m_cur;
|
|
358
|
+
Pointer m_first;
|
|
359
|
+
index_pointer m_node;
|
|
360
|
+
|
|
361
|
+
public:
|
|
362
|
+
|
|
363
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_cur() const { return m_cur; }
|
|
364
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_first() const { return m_first; }
|
|
365
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_last() const { return m_first + get_block_ssize(); }
|
|
366
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline index_pointer get_node() const { return m_node; }
|
|
367
|
+
|
|
368
|
+
inline deque_iterator(val_alloc_ptr x, index_pointer y, difference_type ) BOOST_NOEXCEPT_OR_NOTHROW
|
|
369
|
+
: m_cur(x), m_first(*y), m_node(y)
|
|
370
|
+
{}
|
|
371
|
+
|
|
372
|
+
inline deque_iterator(val_alloc_ptr x, index_pointer y, size_type ) BOOST_NOEXCEPT_OR_NOTHROW
|
|
373
|
+
: m_cur(x), m_first(*y), m_node(y)
|
|
374
|
+
{}
|
|
375
|
+
|
|
376
|
+
inline deque_iterator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
377
|
+
: m_cur(), m_first(), m_node() //Value initialization to achieve "null iterators" (N3644)
|
|
378
|
+
{}
|
|
379
|
+
|
|
380
|
+
inline deque_iterator(const deque_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
381
|
+
: m_cur(x.get_cur()), m_first(x.get_first()), m_node(x.get_node())
|
|
382
|
+
{}
|
|
383
|
+
|
|
384
|
+
inline deque_iterator(const nonconst_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
385
|
+
: m_cur(x.get_cur()), m_first(x.get_first()), m_node(x.get_node())
|
|
386
|
+
{}
|
|
387
|
+
|
|
388
|
+
inline deque_iterator(Pointer cur, Pointer first, index_pointer node) BOOST_NOEXCEPT_OR_NOTHROW
|
|
389
|
+
: m_cur(cur), m_first(first), m_node(node)
|
|
390
|
+
{}
|
|
391
|
+
|
|
392
|
+
inline deque_iterator& operator=(const deque_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
393
|
+
{ m_cur = x.get_cur(); m_first = x.get_first(); m_node = x.get_node(); return *this; }
|
|
394
|
+
|
|
395
|
+
inline nonconst_iterator unconst() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
396
|
+
{
|
|
397
|
+
return nonconst_iterator(this->get_cur(), this->get_first(), this->get_node());
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
inline reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
401
|
+
{ return *this->m_cur; }
|
|
402
|
+
|
|
403
|
+
inline pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
404
|
+
{ return this->m_cur; }
|
|
405
|
+
|
|
406
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD difference_type operator-(const deque_iterator& x) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
407
|
+
{
|
|
408
|
+
if(!this->m_cur && !x.m_cur){
|
|
409
|
+
return 0;
|
|
410
|
+
}
|
|
411
|
+
const difference_type block_size = get_block_ssize();
|
|
412
|
+
BOOST_ASSERT(block_size);
|
|
413
|
+
return block_size * (this->m_node - x.m_node - 1) +
|
|
414
|
+
(this->m_cur - this->m_first) + ((x.m_first+block_size) - x.m_cur);
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
deque_iterator& operator++() BOOST_NOEXCEPT_OR_NOTHROW
|
|
418
|
+
{
|
|
419
|
+
BOOST_ASSERT(!!m_cur);
|
|
420
|
+
++this->m_cur;
|
|
421
|
+
const difference_type block_size = get_block_ssize();
|
|
422
|
+
if (this->m_cur == (this->m_first+block_size)) {
|
|
423
|
+
|
|
424
|
+
BOOST_ASSERT(block_size);
|
|
425
|
+
++this->m_node;
|
|
426
|
+
this->m_first = *this->m_node;
|
|
427
|
+
this->m_cur = this->m_first;
|
|
428
|
+
}
|
|
429
|
+
return *this;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
inline deque_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW
|
|
433
|
+
{
|
|
434
|
+
deque_iterator tmp(*this);
|
|
435
|
+
++*this;
|
|
436
|
+
return tmp;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
deque_iterator& operator--() BOOST_NOEXCEPT_OR_NOTHROW
|
|
440
|
+
{
|
|
441
|
+
BOOST_ASSERT(!!m_cur);
|
|
442
|
+
if (this->m_cur == this->m_first) {
|
|
443
|
+
--this->m_node;
|
|
444
|
+
this->m_first = *this->m_node;
|
|
445
|
+
this->m_cur = this->m_first + get_block_ssize();
|
|
446
|
+
}
|
|
447
|
+
--this->m_cur;
|
|
448
|
+
return *this;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
inline deque_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
|
|
452
|
+
{
|
|
453
|
+
deque_iterator tmp(*this);
|
|
454
|
+
--*this;
|
|
455
|
+
return tmp;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
deque_iterator& operator+=(difference_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
459
|
+
{
|
|
460
|
+
if (!n)
|
|
461
|
+
return *this;
|
|
462
|
+
BOOST_ASSERT(!!m_cur);
|
|
463
|
+
const difference_type offset = n + (this->m_cur - this->m_first);
|
|
464
|
+
const difference_type block_size = get_block_ssize();
|
|
465
|
+
BOOST_ASSERT(block_size);
|
|
466
|
+
if (offset >= 0 && offset < block_size)
|
|
467
|
+
this->m_cur += difference_type(n);
|
|
468
|
+
else {
|
|
469
|
+
const difference_type node_offset =
|
|
470
|
+
offset > 0 ? (offset / block_size)
|
|
471
|
+
: (-difference_type((-offset - 1) / block_size) - 1);
|
|
472
|
+
this->m_node += node_offset;
|
|
473
|
+
this->m_first = *this->m_node;
|
|
474
|
+
this->m_cur = this->m_first + (offset - node_offset * block_size);
|
|
475
|
+
}
|
|
476
|
+
return *this;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
480
|
+
deque_iterator operator+(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
481
|
+
{ deque_iterator tmp(*this); return tmp += n; }
|
|
482
|
+
|
|
483
|
+
inline
|
|
484
|
+
deque_iterator& operator-=(difference_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
485
|
+
{ return *this += -n; }
|
|
486
|
+
|
|
487
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
488
|
+
deque_iterator operator-(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
489
|
+
{ deque_iterator tmp(*this); return tmp -= n; }
|
|
490
|
+
|
|
491
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
492
|
+
reference operator[](difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
493
|
+
{ return *(*this + n); }
|
|
494
|
+
|
|
495
|
+
//Comparisons
|
|
496
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
497
|
+
friend bool operator==(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
498
|
+
{ return l.m_cur == r.m_cur; }
|
|
499
|
+
|
|
500
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
501
|
+
friend bool operator!=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
502
|
+
{ return l.m_cur != r.m_cur; }
|
|
503
|
+
|
|
504
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
505
|
+
friend bool operator<(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
506
|
+
{ return (l.m_node == r.m_node) ? (l.m_cur < r.m_cur) : (l.m_node < r.m_node); }
|
|
507
|
+
|
|
508
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
509
|
+
friend bool operator>(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
510
|
+
{ return r < l; }
|
|
511
|
+
|
|
512
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
513
|
+
friend bool operator<=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
514
|
+
{ return !(r < l); }
|
|
515
|
+
|
|
516
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
517
|
+
friend bool operator>=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
518
|
+
{ return !(l < r); }
|
|
519
|
+
|
|
520
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
521
|
+
friend deque_iterator operator+(difference_type n, deque_iterator x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
522
|
+
{ return x += n; }
|
|
523
|
+
|
|
524
|
+
inline void priv_set_node(index_pointer new_node, size_type ) BOOST_NOEXCEPT_OR_NOTHROW
|
|
525
|
+
{ return this->priv_set_node(new_node, difference_type()); }
|
|
526
|
+
|
|
527
|
+
inline void priv_set_node(index_pointer new_node, difference_type) BOOST_NOEXCEPT_OR_NOTHROW
|
|
528
|
+
{
|
|
529
|
+
this->m_node = new_node;
|
|
530
|
+
this->m_first = *new_node;
|
|
531
|
+
}
|
|
532
|
+
};
|
|
533
|
+
|
|
534
|
+
#elif BOOST_CONTAINER_DEQUE_LIGHTER_ITERATOR_LEVEL == 2
|
|
535
|
+
|
|
536
|
+
template<class Pointer, bool IsConst, unsigned BlockBytes, unsigned BlockSize>
|
|
537
|
+
class deque_iterator
|
|
538
|
+
{
|
|
539
|
+
public:
|
|
540
|
+
typedef std::random_access_iterator_tag iterator_category;
|
|
541
|
+
typedef typename boost::intrusive::pointer_traits<Pointer>::element_type value_type;
|
|
542
|
+
typedef typename boost::intrusive::pointer_traits<Pointer>::difference_type difference_type;
|
|
543
|
+
typedef typename boost::intrusive::pointer_traits<Pointer>::size_type size_type;
|
|
544
|
+
typedef typename if_c
|
|
545
|
+
< IsConst
|
|
546
|
+
, typename boost::intrusive::pointer_traits<Pointer>::template
|
|
547
|
+
rebind_pointer<const value_type>::type
|
|
548
|
+
, Pointer
|
|
549
|
+
>::type pointer;
|
|
550
|
+
typedef typename if_c
|
|
551
|
+
< IsConst
|
|
552
|
+
, const value_type&
|
|
553
|
+
, value_type&
|
|
554
|
+
>::type reference;
|
|
555
|
+
|
|
556
|
+
BOOST_CONSTEXPR inline static size_type get_block_size() BOOST_NOEXCEPT_OR_NOTHROW
|
|
557
|
+
{
|
|
558
|
+
BOOST_CONTAINER_STATIC_ASSERT((deque_block_size<value_type, BlockBytes, BlockSize>::value));
|
|
559
|
+
return deque_block_size<value_type, BlockBytes, BlockSize>::value;
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
BOOST_CONSTEXPR inline static difference_type get_block_ssize() BOOST_NOEXCEPT_OR_NOTHROW
|
|
563
|
+
{ return difference_type((get_block_size())); }
|
|
564
|
+
|
|
565
|
+
class nat;
|
|
566
|
+
typedef typename dtl::if_c< IsConst
|
|
567
|
+
, deque_iterator<Pointer, false, BlockBytes, BlockSize>
|
|
568
|
+
, nat>::type nonconst_iterator;
|
|
569
|
+
|
|
570
|
+
typedef Pointer val_alloc_ptr;
|
|
571
|
+
typedef typename boost::intrusive::pointer_traits<Pointer>::
|
|
572
|
+
template rebind_pointer<Pointer>::type index_pointer;
|
|
573
|
+
|
|
574
|
+
Pointer m_cur;
|
|
575
|
+
index_pointer m_node;
|
|
576
|
+
|
|
577
|
+
public:
|
|
578
|
+
|
|
579
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_cur() const { return m_cur; }
|
|
580
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_first() const { return *m_node; }
|
|
581
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline Pointer get_last() const { return *m_node + get_block_ssize(); }
|
|
582
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline index_pointer get_node() const { return m_node; }
|
|
583
|
+
|
|
584
|
+
inline deque_iterator(val_alloc_ptr x, index_pointer y, difference_type ) BOOST_NOEXCEPT_OR_NOTHROW
|
|
585
|
+
: m_cur(x), m_node(y)
|
|
586
|
+
{}
|
|
587
|
+
|
|
588
|
+
inline deque_iterator(val_alloc_ptr x, index_pointer y, size_type ) BOOST_NOEXCEPT_OR_NOTHROW
|
|
589
|
+
: m_cur(x), m_node(y)
|
|
590
|
+
{}
|
|
591
|
+
|
|
592
|
+
inline deque_iterator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
593
|
+
: m_cur(), m_node() //Value initialization to achieve "null iterators" (N3644)
|
|
594
|
+
{}
|
|
595
|
+
|
|
596
|
+
inline deque_iterator(const deque_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
597
|
+
: m_cur(x.get_cur()), m_node(x.get_node())
|
|
598
|
+
{}
|
|
599
|
+
|
|
600
|
+
inline deque_iterator(const nonconst_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
601
|
+
: m_cur(x.get_cur()), m_node(x.get_node())
|
|
602
|
+
{}
|
|
603
|
+
|
|
604
|
+
inline deque_iterator(Pointer cur, index_pointer node) BOOST_NOEXCEPT_OR_NOTHROW
|
|
605
|
+
: m_cur(cur), m_node(node)
|
|
606
|
+
{}
|
|
607
|
+
|
|
608
|
+
inline deque_iterator& operator=(const deque_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
609
|
+
{ m_cur = x.get_cur(); m_node = x.get_node(); return *this; }
|
|
610
|
+
|
|
611
|
+
inline nonconst_iterator unconst() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
612
|
+
{
|
|
613
|
+
return nonconst_iterator(this->get_cur(), this->get_node());
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
inline reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
617
|
+
{ return *this->m_cur; }
|
|
618
|
+
|
|
619
|
+
inline pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
620
|
+
{ return this->m_cur; }
|
|
621
|
+
|
|
622
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD difference_type operator-(const deque_iterator& x) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
623
|
+
{
|
|
624
|
+
if(!this->m_cur && !x.m_cur){
|
|
625
|
+
return 0;
|
|
626
|
+
}
|
|
627
|
+
const difference_type block_size = get_block_ssize();
|
|
628
|
+
BOOST_ASSERT(block_size);
|
|
629
|
+
return block_size * (this->m_node - x.m_node - 1) +
|
|
630
|
+
(this->m_cur - this->get_first()) + (x.get_last() - x.m_cur);
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
deque_iterator& operator++() BOOST_NOEXCEPT_OR_NOTHROW
|
|
634
|
+
{
|
|
635
|
+
BOOST_ASSERT(!!m_cur);
|
|
636
|
+
++this->m_cur;
|
|
637
|
+
if (this->m_cur == (this->get_last())) {
|
|
638
|
+
|
|
639
|
+
++this->m_node;
|
|
640
|
+
this->m_cur = *this->m_node;
|
|
641
|
+
}
|
|
642
|
+
return *this;
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
inline deque_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW
|
|
646
|
+
{
|
|
647
|
+
deque_iterator tmp(*this);
|
|
648
|
+
++*this;
|
|
649
|
+
return tmp;
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
deque_iterator& operator--() BOOST_NOEXCEPT_OR_NOTHROW
|
|
653
|
+
{
|
|
654
|
+
BOOST_ASSERT(!!m_cur);
|
|
655
|
+
if (this->m_cur == this->get_first()) {
|
|
656
|
+
--this->m_node;
|
|
657
|
+
this->m_cur = this->get_last();
|
|
658
|
+
}
|
|
659
|
+
--this->m_cur;
|
|
660
|
+
return *this;
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
inline deque_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
|
|
664
|
+
{
|
|
665
|
+
deque_iterator tmp(*this);
|
|
666
|
+
--*this;
|
|
667
|
+
return tmp;
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
deque_iterator& operator+=(difference_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
671
|
+
{
|
|
672
|
+
if (!n)
|
|
673
|
+
return *this;
|
|
674
|
+
BOOST_ASSERT(!!m_cur);
|
|
675
|
+
const difference_type offset = n + (this->m_cur - this->get_first());
|
|
676
|
+
const difference_type block_size = get_block_ssize();
|
|
677
|
+
BOOST_ASSERT(block_size);
|
|
678
|
+
if (offset >= 0 && offset < block_size)
|
|
679
|
+
this->m_cur += difference_type(n);
|
|
680
|
+
else {
|
|
681
|
+
const difference_type node_offset =
|
|
682
|
+
offset > 0 ? (offset / block_size)
|
|
683
|
+
: (-difference_type((-offset - 1) / block_size) - 1);
|
|
684
|
+
this->m_node += node_offset;
|
|
685
|
+
this->m_cur = this->get_first() + (offset - node_offset * block_size);
|
|
686
|
+
}
|
|
687
|
+
return *this;
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
691
|
+
deque_iterator operator+(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
692
|
+
{ deque_iterator tmp(*this); return tmp += n; }
|
|
693
|
+
|
|
694
|
+
inline
|
|
695
|
+
deque_iterator& operator-=(difference_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
696
|
+
{ return *this += -n; }
|
|
697
|
+
|
|
698
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
699
|
+
deque_iterator operator-(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
700
|
+
{ deque_iterator tmp(*this); return tmp -= n; }
|
|
701
|
+
|
|
702
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
703
|
+
reference operator[](difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
704
|
+
{
|
|
705
|
+
BOOST_ASSERT(!!m_cur);
|
|
706
|
+
const difference_type offset = n + (this->m_cur - this->get_first());
|
|
707
|
+
const difference_type block_size = get_block_ssize();
|
|
708
|
+
if (offset >= 0 && offset < block_size)
|
|
709
|
+
return this->m_cur[difference_type(n)];
|
|
710
|
+
else {
|
|
711
|
+
const difference_type node_offset = offset > 0
|
|
712
|
+
? (offset / block_size)
|
|
713
|
+
: (-difference_type((-offset - 1) / block_size) - 1);
|
|
714
|
+
return (this->m_node[node_offset]) [offset - node_offset * block_size];
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
//Comparisons
|
|
719
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
720
|
+
friend bool operator==(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
721
|
+
{ return l.m_cur == r.m_cur; }
|
|
722
|
+
|
|
723
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
724
|
+
friend bool operator!=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
725
|
+
{ return l.m_cur != r.m_cur; }
|
|
726
|
+
|
|
727
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
728
|
+
friend bool operator<(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
729
|
+
{ return (l.m_node == r.m_node) ? (l.m_cur < r.m_cur) : (l.m_node < r.m_node); }
|
|
730
|
+
|
|
731
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
732
|
+
friend bool operator>(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
733
|
+
{ return r < l; }
|
|
734
|
+
|
|
735
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
736
|
+
friend bool operator<=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
737
|
+
{ return !(r < l); }
|
|
738
|
+
|
|
739
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
740
|
+
friend bool operator>=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
741
|
+
{ return !(l < r); }
|
|
742
|
+
|
|
743
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
744
|
+
friend deque_iterator operator+(difference_type n, deque_iterator x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
745
|
+
{ return x += n; }
|
|
746
|
+
|
|
747
|
+
inline void priv_set_node(index_pointer new_node, size_type ) BOOST_NOEXCEPT_OR_NOTHROW
|
|
748
|
+
{ return this->priv_set_node(new_node, difference_type()); }
|
|
749
|
+
|
|
750
|
+
inline void priv_set_node(index_pointer new_node, difference_type) BOOST_NOEXCEPT_OR_NOTHROW
|
|
751
|
+
{
|
|
752
|
+
this->m_node = new_node;
|
|
753
|
+
}
|
|
754
|
+
};
|
|
755
|
+
|
|
756
|
+
#else
|
|
757
|
+
|
|
758
|
+
#error "Invalid BOOST_CONTAINER_DEQUE_LIGHTER_ITERATOR_LEVEL"
|
|
759
|
+
|
|
760
|
+
#endif
|
|
308
761
|
} //namespace dtl {
|
|
309
762
|
|
|
310
763
|
template<class Options>
|
|
@@ -346,45 +799,54 @@ class deque_base
|
|
|
346
799
|
typedef Allocator allocator_type;
|
|
347
800
|
typedef allocator_type stored_allocator_type;
|
|
348
801
|
typedef val_alloc_size size_type;
|
|
802
|
+
typedef val_alloc_diff difference_type;
|
|
349
803
|
|
|
350
804
|
private:
|
|
351
805
|
typedef typename get_deque_opt<Options>::type options_type;
|
|
352
806
|
|
|
353
807
|
protected:
|
|
808
|
+
#if BOOST_CONTAINER_DEQUE_LIGHTER_ITERATOR_LEVEL == 0
|
|
354
809
|
typedef dtl::deque_iterator<val_alloc_ptr, false> iterator;
|
|
355
|
-
typedef dtl::deque_iterator<val_alloc_ptr, true
|
|
810
|
+
typedef dtl::deque_iterator<val_alloc_ptr, true> const_iterator;
|
|
811
|
+
#else
|
|
812
|
+
typedef dtl::deque_iterator<val_alloc_ptr, false, options_type::block_bytes, options_type::block_size> iterator;
|
|
813
|
+
typedef dtl::deque_iterator<val_alloc_ptr, true, options_type::block_bytes, options_type::block_size> const_iterator;
|
|
814
|
+
#endif
|
|
815
|
+
|
|
816
|
+
BOOST_CONSTEXPR inline static val_alloc_diff get_block_ssize() BOOST_NOEXCEPT_OR_NOTHROW
|
|
817
|
+
{ return val_alloc_diff((get_block_size())); }
|
|
356
818
|
|
|
357
|
-
BOOST_CONSTEXPR
|
|
819
|
+
BOOST_CONSTEXPR inline static size_type get_block_size() BOOST_NOEXCEPT_OR_NOTHROW
|
|
358
820
|
{ return deque_block_size<val_alloc_val, options_type::block_bytes, options_type::block_size>::value; }
|
|
359
821
|
|
|
360
822
|
typedef deque_value_traits<val_alloc_val> traits_t;
|
|
361
823
|
typedef ptr_alloc_t map_allocator_type;
|
|
362
824
|
|
|
363
|
-
|
|
825
|
+
inline val_alloc_ptr priv_allocate_node()
|
|
364
826
|
{ return this->alloc().allocate(get_block_size()); }
|
|
365
827
|
|
|
366
|
-
|
|
828
|
+
inline void priv_deallocate_node(val_alloc_ptr p) BOOST_NOEXCEPT_OR_NOTHROW
|
|
367
829
|
{ this->alloc().deallocate(p, get_block_size()); }
|
|
368
830
|
|
|
369
|
-
|
|
831
|
+
inline ptr_alloc_ptr priv_allocate_map(size_type n)
|
|
370
832
|
{ return this->ptr_alloc().allocate(n); }
|
|
371
833
|
|
|
372
|
-
|
|
834
|
+
inline void priv_deallocate_map(ptr_alloc_ptr p, size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
373
835
|
{ this->ptr_alloc().deallocate(p, n); }
|
|
374
836
|
|
|
375
|
-
|
|
837
|
+
inline deque_base(size_type num_elements, const allocator_type& a)
|
|
376
838
|
: members_(a)
|
|
377
839
|
{ this->priv_initialize_map(num_elements); }
|
|
378
840
|
|
|
379
|
-
|
|
841
|
+
inline explicit deque_base(const allocator_type& a)
|
|
380
842
|
: members_(a)
|
|
381
843
|
{}
|
|
382
844
|
|
|
383
|
-
|
|
845
|
+
inline deque_base()
|
|
384
846
|
: members_()
|
|
385
847
|
{}
|
|
386
848
|
|
|
387
|
-
|
|
849
|
+
inline explicit deque_base(BOOST_RV_REF(deque_base) x)
|
|
388
850
|
: members_( boost::move(x.ptr_alloc())
|
|
389
851
|
, boost::move(x.alloc()) )
|
|
390
852
|
{}
|
|
@@ -418,40 +880,39 @@ class deque_base
|
|
|
418
880
|
this->members_.m_map_size = dtl::max_value((size_type) InitialMapSize, num_nodes + 2);
|
|
419
881
|
this->members_.m_map = this->priv_allocate_map(this->members_.m_map_size);
|
|
420
882
|
|
|
421
|
-
ptr_alloc_ptr nstart = this->members_.m_map + (this->members_.m_map_size - num_nodes) / 2;
|
|
422
|
-
ptr_alloc_ptr nfinish = nstart + num_nodes;
|
|
883
|
+
ptr_alloc_ptr nstart = this->members_.m_map + difference_type(this->members_.m_map_size - num_nodes) / 2;
|
|
884
|
+
ptr_alloc_ptr nfinish = nstart + difference_type(num_nodes);
|
|
423
885
|
|
|
424
|
-
|
|
886
|
+
BOOST_CONTAINER_TRY {
|
|
425
887
|
this->priv_create_nodes(nstart, nfinish);
|
|
426
888
|
}
|
|
427
|
-
|
|
889
|
+
BOOST_CONTAINER_CATCH(...){
|
|
428
890
|
this->priv_deallocate_map(this->members_.m_map, this->members_.m_map_size);
|
|
429
891
|
this->members_.m_map = 0;
|
|
430
892
|
this->members_.m_map_size = 0;
|
|
431
|
-
|
|
893
|
+
BOOST_CONTAINER_RETHROW
|
|
432
894
|
}
|
|
433
|
-
|
|
895
|
+
BOOST_CONTAINER_CATCH_END
|
|
434
896
|
|
|
435
897
|
this->members_.m_start.priv_set_node(nstart, get_block_size());
|
|
436
898
|
this->members_.m_finish.priv_set_node(nfinish - 1, get_block_size());
|
|
437
|
-
this->members_.m_start.m_cur = this->members_.m_start.
|
|
438
|
-
this->members_.m_finish.m_cur = this->members_.m_finish.
|
|
439
|
-
num_elements % get_block_size();
|
|
899
|
+
this->members_.m_start.m_cur = this->members_.m_start.get_first();
|
|
900
|
+
this->members_.m_finish.m_cur = this->members_.m_finish.get_first() + difference_type(num_elements % get_block_size());
|
|
440
901
|
// }
|
|
441
902
|
}
|
|
442
903
|
|
|
443
904
|
void priv_create_nodes(ptr_alloc_ptr nstart, ptr_alloc_ptr nfinish)
|
|
444
905
|
{
|
|
445
906
|
ptr_alloc_ptr cur = nstart;
|
|
446
|
-
|
|
907
|
+
BOOST_CONTAINER_TRY {
|
|
447
908
|
for (; cur < nfinish; ++cur)
|
|
448
909
|
*cur = this->priv_allocate_node();
|
|
449
910
|
}
|
|
450
|
-
|
|
911
|
+
BOOST_CONTAINER_CATCH(...){
|
|
451
912
|
this->priv_destroy_nodes(nstart, cur);
|
|
452
|
-
|
|
913
|
+
BOOST_CONTAINER_RETHROW
|
|
453
914
|
}
|
|
454
|
-
|
|
915
|
+
BOOST_CONTAINER_CATCH_END
|
|
455
916
|
}
|
|
456
917
|
|
|
457
918
|
void priv_destroy_nodes(ptr_alloc_ptr nstart, ptr_alloc_ptr nfinish) BOOST_NOEXCEPT_OR_NOTHROW
|
|
@@ -505,16 +966,16 @@ class deque_base
|
|
|
505
966
|
iterator m_finish;
|
|
506
967
|
} members_;
|
|
507
968
|
|
|
508
|
-
|
|
969
|
+
inline ptr_alloc_t &ptr_alloc() BOOST_NOEXCEPT_OR_NOTHROW
|
|
509
970
|
{ return members_; }
|
|
510
971
|
|
|
511
|
-
|
|
972
|
+
inline const ptr_alloc_t &ptr_alloc() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
512
973
|
{ return members_; }
|
|
513
974
|
|
|
514
|
-
|
|
975
|
+
inline allocator_type &alloc() BOOST_NOEXCEPT_OR_NOTHROW
|
|
515
976
|
{ return members_; }
|
|
516
977
|
|
|
517
|
-
|
|
978
|
+
inline const allocator_type &alloc() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
518
979
|
{ return members_; }
|
|
519
980
|
};
|
|
520
981
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
@@ -538,6 +999,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
538
999
|
typedef deque_base<typename real_allocator<T, Allocator>::type, Options> Base;
|
|
539
1000
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
540
1001
|
typedef typename real_allocator<T, Allocator>::type ValAllocator;
|
|
1002
|
+
typedef constant_iterator<T> c_it;
|
|
541
1003
|
|
|
542
1004
|
public:
|
|
543
1005
|
|
|
@@ -564,16 +1026,23 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
564
1026
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
565
1027
|
|
|
566
1028
|
private: // Internal typedefs
|
|
1029
|
+
|
|
1030
|
+
//`allocator_type::value_type` must match container's `value type`. If this
|
|
1031
|
+
//assertion fails, please review your allocator definition.
|
|
1032
|
+
BOOST_CONTAINER_STATIC_ASSERT((dtl::is_same<value_type, typename allocator_traits<ValAllocator>::value_type>::value));
|
|
1033
|
+
|
|
567
1034
|
BOOST_COPYABLE_AND_MOVABLE(deque)
|
|
568
1035
|
typedef typename Base::ptr_alloc_ptr index_pointer;
|
|
569
1036
|
typedef allocator_traits<ValAllocator> allocator_traits_type;
|
|
570
1037
|
|
|
571
1038
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
572
1039
|
|
|
1040
|
+
using Base::get_block_ssize;
|
|
1041
|
+
|
|
573
1042
|
public:
|
|
574
1043
|
|
|
575
|
-
|
|
576
|
-
|
|
1044
|
+
using Base::get_block_size;
|
|
1045
|
+
|
|
577
1046
|
|
|
578
1047
|
//////////////////////////////////////////////
|
|
579
1048
|
//
|
|
@@ -586,7 +1055,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
586
1055
|
//! <b>Throws</b>: If allocator_type's default constructor throws.
|
|
587
1056
|
//!
|
|
588
1057
|
//! <b>Complexity</b>: Constant.
|
|
589
|
-
|
|
1058
|
+
inline deque()
|
|
590
1059
|
BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<ValAllocator>::value)
|
|
591
1060
|
: Base()
|
|
592
1061
|
{}
|
|
@@ -596,7 +1065,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
596
1065
|
//! <b>Throws</b>: Nothing
|
|
597
1066
|
//!
|
|
598
1067
|
//! <b>Complexity</b>: Constant.
|
|
599
|
-
|
|
1068
|
+
inline explicit deque(const allocator_type& a) BOOST_NOEXCEPT_OR_NOTHROW
|
|
600
1069
|
: Base(a)
|
|
601
1070
|
{}
|
|
602
1071
|
|
|
@@ -607,10 +1076,10 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
607
1076
|
//! throws or T's value initialization throws.
|
|
608
1077
|
//!
|
|
609
1078
|
//! <b>Complexity</b>: Linear to n.
|
|
610
|
-
|
|
1079
|
+
inline explicit deque(size_type n)
|
|
611
1080
|
: Base(n, allocator_type())
|
|
612
1081
|
{
|
|
613
|
-
dtl::insert_value_initialized_n_proxy<ValAllocator
|
|
1082
|
+
dtl::insert_value_initialized_n_proxy<ValAllocator> proxy;
|
|
614
1083
|
proxy.uninitialized_copy_n_and_update(this->alloc(), this->begin(), n);
|
|
615
1084
|
//deque_base will deallocate in case of exception...
|
|
616
1085
|
}
|
|
@@ -624,10 +1093,10 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
624
1093
|
//! <b>Complexity</b>: Linear to n.
|
|
625
1094
|
//!
|
|
626
1095
|
//! <b>Note</b>: Non-standard extension
|
|
627
|
-
|
|
1096
|
+
inline deque(size_type n, default_init_t)
|
|
628
1097
|
: Base(n, allocator_type())
|
|
629
1098
|
{
|
|
630
|
-
dtl::insert_default_initialized_n_proxy<ValAllocator
|
|
1099
|
+
dtl::insert_default_initialized_n_proxy<ValAllocator> proxy;
|
|
631
1100
|
proxy.uninitialized_copy_n_and_update(this->alloc(), this->begin(), n);
|
|
632
1101
|
//deque_base will deallocate in case of exception...
|
|
633
1102
|
}
|
|
@@ -639,10 +1108,10 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
639
1108
|
//! throws or T's value initialization throws.
|
|
640
1109
|
//!
|
|
641
1110
|
//! <b>Complexity</b>: Linear to n.
|
|
642
|
-
|
|
1111
|
+
inline explicit deque(size_type n, const allocator_type &a)
|
|
643
1112
|
: Base(n, a)
|
|
644
1113
|
{
|
|
645
|
-
dtl::insert_value_initialized_n_proxy<ValAllocator
|
|
1114
|
+
dtl::insert_value_initialized_n_proxy<ValAllocator> proxy;
|
|
646
1115
|
proxy.uninitialized_copy_n_and_update(this->alloc(), this->begin(), n);
|
|
647
1116
|
//deque_base will deallocate in case of exception...
|
|
648
1117
|
}
|
|
@@ -656,10 +1125,10 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
656
1125
|
//! <b>Complexity</b>: Linear to n.
|
|
657
1126
|
//!
|
|
658
1127
|
//! <b>Note</b>: Non-standard extension
|
|
659
|
-
|
|
1128
|
+
inline deque(size_type n, default_init_t, const allocator_type &a)
|
|
660
1129
|
: Base(n, a)
|
|
661
1130
|
{
|
|
662
|
-
dtl::insert_default_initialized_n_proxy<ValAllocator
|
|
1131
|
+
dtl::insert_default_initialized_n_proxy<ValAllocator> proxy;
|
|
663
1132
|
proxy.uninitialized_copy_n_and_update(this->alloc(), this->begin(), n);
|
|
664
1133
|
//deque_base will deallocate in case of exception...
|
|
665
1134
|
}
|
|
@@ -671,7 +1140,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
671
1140
|
//! throws or T's copy constructor throws.
|
|
672
1141
|
//!
|
|
673
1142
|
//! <b>Complexity</b>: Linear to n.
|
|
674
|
-
|
|
1143
|
+
inline deque(size_type n, const value_type& value)
|
|
675
1144
|
: Base(n, allocator_type())
|
|
676
1145
|
{ this->priv_fill_initialize(value); }
|
|
677
1146
|
|
|
@@ -682,7 +1151,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
682
1151
|
//! throws or T's copy constructor throws.
|
|
683
1152
|
//!
|
|
684
1153
|
//! <b>Complexity</b>: Linear to n.
|
|
685
|
-
|
|
1154
|
+
inline deque(size_type n, const value_type& value, const allocator_type& a)
|
|
686
1155
|
: Base(n, a)
|
|
687
1156
|
{ this->priv_fill_initialize(value); }
|
|
688
1157
|
|
|
@@ -694,7 +1163,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
694
1163
|
//!
|
|
695
1164
|
//! <b>Complexity</b>: Linear to the range [first, last).
|
|
696
1165
|
template <class InIt>
|
|
697
|
-
|
|
1166
|
+
inline deque(InIt first, InIt last
|
|
698
1167
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
699
1168
|
, typename dtl::disable_if_convertible
|
|
700
1169
|
<InIt, size_type>::type * = 0
|
|
@@ -713,7 +1182,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
713
1182
|
//!
|
|
714
1183
|
//! <b>Complexity</b>: Linear to the range [first, last).
|
|
715
1184
|
template <class InIt>
|
|
716
|
-
|
|
1185
|
+
inline deque(InIt first, InIt last, const allocator_type& a
|
|
717
1186
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
718
1187
|
, typename dtl::disable_if_convertible
|
|
719
1188
|
<InIt, size_type>::type * = 0
|
|
@@ -732,7 +1201,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
732
1201
|
//! throws or T's constructor taking a dereferenced std::initializer_list iterator throws.
|
|
733
1202
|
//!
|
|
734
1203
|
//! <b>Complexity</b>: Linear to the range [il.begin(), il.end()).
|
|
735
|
-
|
|
1204
|
+
inline deque(std::initializer_list<value_type> il, const allocator_type& a = allocator_type())
|
|
736
1205
|
: Base(a)
|
|
737
1206
|
{
|
|
738
1207
|
this->priv_range_initialize(il.begin(), il.end());
|
|
@@ -744,7 +1213,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
744
1213
|
//! <b>Postcondition</b>: x == *this.
|
|
745
1214
|
//!
|
|
746
1215
|
//! <b>Complexity</b>: Linear to the elements x contains.
|
|
747
|
-
|
|
1216
|
+
inline deque(const deque& x)
|
|
748
1217
|
: Base(allocator_traits_type::select_on_container_copy_construction(x.alloc()))
|
|
749
1218
|
{
|
|
750
1219
|
if(x.size()){
|
|
@@ -759,7 +1228,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
759
1228
|
//! <b>Throws</b>: If allocator_type's copy constructor throws.
|
|
760
1229
|
//!
|
|
761
1230
|
//! <b>Complexity</b>: Constant.
|
|
762
|
-
|
|
1231
|
+
inline deque(BOOST_RV_REF(deque) x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
763
1232
|
: Base(BOOST_MOVE_BASE(Base, x))
|
|
764
1233
|
{ this->swap_members(x); }
|
|
765
1234
|
|
|
@@ -810,7 +1279,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
810
1279
|
//! <b>Throws</b>: Nothing.
|
|
811
1280
|
//!
|
|
812
1281
|
//! <b>Complexity</b>: Linear to the number of elements.
|
|
813
|
-
|
|
1282
|
+
inline ~deque() BOOST_NOEXCEPT_OR_NOTHROW
|
|
814
1283
|
{
|
|
815
1284
|
this->priv_destroy_range(this->members_.m_start, this->members_.m_finish);
|
|
816
1285
|
}
|
|
@@ -854,28 +1323,13 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
854
1323
|
|| allocator_traits_type::is_always_equal::value)
|
|
855
1324
|
{
|
|
856
1325
|
if (BOOST_LIKELY(this != &x)) {
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
const bool
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
//going to be equal after this function (either propagated or already equal)
|
|
865
|
-
if(propagate_alloc || allocators_equal){
|
|
866
|
-
//Destroy objects but retain memory in case x reuses it in the future
|
|
867
|
-
this->clear();
|
|
868
|
-
//Move allocator if needed
|
|
869
|
-
dtl::move_alloc(this_alloc, x_alloc, flag);
|
|
870
|
-
dtl::move_alloc(this->ptr_alloc(), x.ptr_alloc(), flag);
|
|
871
|
-
//Nothrow swap
|
|
872
|
-
this->swap_members(x);
|
|
873
|
-
}
|
|
874
|
-
//Else do a one by one move
|
|
875
|
-
else{
|
|
876
|
-
this->assign( boost::make_move_iterator(x.begin())
|
|
877
|
-
, boost::make_move_iterator(x.end()));
|
|
878
|
-
}
|
|
1326
|
+
//We know resources can be transferred at comiple time if both allocators are
|
|
1327
|
+
//always equal or the allocator is going to be propagated
|
|
1328
|
+
const bool can_steal_resources_alloc
|
|
1329
|
+
= allocator_traits_type::propagate_on_container_move_assignment::value
|
|
1330
|
+
|| allocator_traits_type::is_always_equal::value;
|
|
1331
|
+
dtl::bool_<can_steal_resources_alloc> flag;
|
|
1332
|
+
this->priv_move_assign(boost::move(x), flag);
|
|
879
1333
|
}
|
|
880
1334
|
return *this;
|
|
881
1335
|
}
|
|
@@ -889,7 +1343,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
889
1343
|
//! <b>Throws</b>: If memory allocation throws or T's copy constructor throws.
|
|
890
1344
|
//!
|
|
891
1345
|
//! <b>Complexity</b>: Linear to the number of elements in il.
|
|
892
|
-
|
|
1346
|
+
inline deque& operator=(std::initializer_list<value_type> il)
|
|
893
1347
|
{
|
|
894
1348
|
this->assign(il.begin(), il.end());
|
|
895
1349
|
return *this;
|
|
@@ -901,9 +1355,8 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
901
1355
|
//! <b>Throws</b>: If memory allocation throws or T's copy constructor throws.
|
|
902
1356
|
//!
|
|
903
1357
|
//! <b>Complexity</b>: Linear to n.
|
|
904
|
-
|
|
1358
|
+
inline void assign(size_type n, const T& val)
|
|
905
1359
|
{
|
|
906
|
-
typedef constant_iterator<value_type, difference_type> c_it;
|
|
907
1360
|
this->assign(c_it(val, n), c_it());
|
|
908
1361
|
}
|
|
909
1362
|
|
|
@@ -946,10 +1399,10 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
946
1399
|
>::type * = 0
|
|
947
1400
|
)
|
|
948
1401
|
{
|
|
949
|
-
const size_type len = boost::container::
|
|
1402
|
+
const size_type len = boost::container::iterator_udistance(first, last);
|
|
950
1403
|
if (len > size()) {
|
|
951
1404
|
FwdIt mid = first;
|
|
952
|
-
boost::container::
|
|
1405
|
+
boost::container::iterator_uadvance(mid, this->size());
|
|
953
1406
|
boost::container::copy(first, mid, begin());
|
|
954
1407
|
this->insert(this->cend(), mid, last);
|
|
955
1408
|
}
|
|
@@ -966,7 +1419,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
966
1419
|
//! T's constructor from dereferencing std::initializer_list iterator throws.
|
|
967
1420
|
//!
|
|
968
1421
|
//! <b>Complexity</b>: Linear to il.size().
|
|
969
|
-
|
|
1422
|
+
inline void assign(std::initializer_list<value_type> il)
|
|
970
1423
|
{ this->assign(il.begin(), il.end()); }
|
|
971
1424
|
#endif
|
|
972
1425
|
|
|
@@ -975,7 +1428,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
975
1428
|
//! <b>Throws</b>: If allocator's copy constructor throws.
|
|
976
1429
|
//!
|
|
977
1430
|
//! <b>Complexity</b>: Constant.
|
|
978
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1431
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
979
1432
|
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
980
1433
|
{ return Base::alloc(); }
|
|
981
1434
|
|
|
@@ -986,7 +1439,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
986
1439
|
//! <b>Complexity</b>: Constant.
|
|
987
1440
|
//!
|
|
988
1441
|
//! <b>Note</b>: Non-standard extension.
|
|
989
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1442
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
990
1443
|
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
991
1444
|
{ return Base::alloc(); }
|
|
992
1445
|
|
|
@@ -1003,7 +1456,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1003
1456
|
//! <b>Complexity</b>: Constant.
|
|
1004
1457
|
//!
|
|
1005
1458
|
//! <b>Note</b>: Non-standard extension.
|
|
1006
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1459
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1007
1460
|
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1008
1461
|
{ return Base::alloc(); }
|
|
1009
1462
|
|
|
@@ -1012,7 +1465,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1012
1465
|
//! <b>Throws</b>: Nothing.
|
|
1013
1466
|
//!
|
|
1014
1467
|
//! <b>Complexity</b>: Constant.
|
|
1015
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1468
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1016
1469
|
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1017
1470
|
{ return this->members_.m_start; }
|
|
1018
1471
|
|
|
@@ -1021,7 +1474,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1021
1474
|
//! <b>Throws</b>: Nothing.
|
|
1022
1475
|
//!
|
|
1023
1476
|
//! <b>Complexity</b>: Constant.
|
|
1024
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1477
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1025
1478
|
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1026
1479
|
{ return this->members_.m_start; }
|
|
1027
1480
|
|
|
@@ -1030,7 +1483,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1030
1483
|
//! <b>Throws</b>: Nothing.
|
|
1031
1484
|
//!
|
|
1032
1485
|
//! <b>Complexity</b>: Constant.
|
|
1033
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1486
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1034
1487
|
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1035
1488
|
{ return this->members_.m_finish; }
|
|
1036
1489
|
|
|
@@ -1039,7 +1492,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1039
1492
|
//! <b>Throws</b>: Nothing.
|
|
1040
1493
|
//!
|
|
1041
1494
|
//! <b>Complexity</b>: Constant.
|
|
1042
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1495
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1043
1496
|
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1044
1497
|
{ return this->members_.m_finish; }
|
|
1045
1498
|
|
|
@@ -1049,7 +1502,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1049
1502
|
//! <b>Throws</b>: Nothing.
|
|
1050
1503
|
//!
|
|
1051
1504
|
//! <b>Complexity</b>: Constant.
|
|
1052
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1505
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1053
1506
|
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1054
1507
|
{ return reverse_iterator(this->members_.m_finish); }
|
|
1055
1508
|
|
|
@@ -1059,7 +1512,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1059
1512
|
//! <b>Throws</b>: Nothing.
|
|
1060
1513
|
//!
|
|
1061
1514
|
//! <b>Complexity</b>: Constant.
|
|
1062
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1515
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1063
1516
|
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1064
1517
|
{ return const_reverse_iterator(this->members_.m_finish); }
|
|
1065
1518
|
|
|
@@ -1069,7 +1522,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1069
1522
|
//! <b>Throws</b>: Nothing.
|
|
1070
1523
|
//!
|
|
1071
1524
|
//! <b>Complexity</b>: Constant.
|
|
1072
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1525
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1073
1526
|
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1074
1527
|
{ return reverse_iterator(this->members_.m_start); }
|
|
1075
1528
|
|
|
@@ -1079,7 +1532,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1079
1532
|
//! <b>Throws</b>: Nothing.
|
|
1080
1533
|
//!
|
|
1081
1534
|
//! <b>Complexity</b>: Constant.
|
|
1082
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1535
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1083
1536
|
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1084
1537
|
{ return const_reverse_iterator(this->members_.m_start); }
|
|
1085
1538
|
|
|
@@ -1088,7 +1541,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1088
1541
|
//! <b>Throws</b>: Nothing.
|
|
1089
1542
|
//!
|
|
1090
1543
|
//! <b>Complexity</b>: Constant.
|
|
1091
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1544
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1092
1545
|
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1093
1546
|
{ return this->members_.m_start; }
|
|
1094
1547
|
|
|
@@ -1097,7 +1550,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1097
1550
|
//! <b>Throws</b>: Nothing.
|
|
1098
1551
|
//!
|
|
1099
1552
|
//! <b>Complexity</b>: Constant.
|
|
1100
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1553
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1101
1554
|
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1102
1555
|
{ return this->members_.m_finish; }
|
|
1103
1556
|
|
|
@@ -1107,7 +1560,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1107
1560
|
//! <b>Throws</b>: Nothing.
|
|
1108
1561
|
//!
|
|
1109
1562
|
//! <b>Complexity</b>: Constant.
|
|
1110
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1563
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1111
1564
|
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1112
1565
|
{ return const_reverse_iterator(this->members_.m_finish); }
|
|
1113
1566
|
|
|
@@ -1117,7 +1570,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1117
1570
|
//! <b>Throws</b>: Nothing.
|
|
1118
1571
|
//!
|
|
1119
1572
|
//! <b>Complexity</b>: Constant.
|
|
1120
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1573
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1121
1574
|
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1122
1575
|
{ return const_reverse_iterator(this->members_.m_start); }
|
|
1123
1576
|
|
|
@@ -1132,7 +1585,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1132
1585
|
//! <b>Throws</b>: Nothing.
|
|
1133
1586
|
//!
|
|
1134
1587
|
//! <b>Complexity</b>: Constant.
|
|
1135
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1588
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1136
1589
|
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1137
1590
|
{ return this->members_.m_finish == this->members_.m_start; }
|
|
1138
1591
|
|
|
@@ -1141,16 +1594,16 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1141
1594
|
//! <b>Throws</b>: Nothing.
|
|
1142
1595
|
//!
|
|
1143
1596
|
//! <b>Complexity</b>: Constant.
|
|
1144
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1597
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1145
1598
|
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1146
|
-
{ return this->members_.m_finish - this->members_.m_start; }
|
|
1599
|
+
{ return size_type(this->members_.m_finish - this->members_.m_start); }
|
|
1147
1600
|
|
|
1148
1601
|
//! <b>Effects</b>: Returns the largest possible size of the deque.
|
|
1149
1602
|
//!
|
|
1150
1603
|
//! <b>Throws</b>: Nothing.
|
|
1151
1604
|
//!
|
|
1152
1605
|
//! <b>Complexity</b>: Constant.
|
|
1153
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1606
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1154
1607
|
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1155
1608
|
{ return allocator_traits_type::max_size(this->alloc()); }
|
|
1156
1609
|
|
|
@@ -1167,7 +1620,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1167
1620
|
this->priv_erase_last_n(len - new_size);
|
|
1168
1621
|
else{
|
|
1169
1622
|
const size_type n = new_size - this->size();
|
|
1170
|
-
dtl::insert_value_initialized_n_proxy<ValAllocator
|
|
1623
|
+
dtl::insert_value_initialized_n_proxy<ValAllocator> proxy;
|
|
1171
1624
|
priv_insert_back_aux_impl(n, proxy);
|
|
1172
1625
|
}
|
|
1173
1626
|
}
|
|
@@ -1187,7 +1640,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1187
1640
|
this->priv_erase_last_n(len - new_size);
|
|
1188
1641
|
else{
|
|
1189
1642
|
const size_type n = new_size - this->size();
|
|
1190
|
-
dtl::insert_default_initialized_n_proxy<ValAllocator
|
|
1643
|
+
dtl::insert_default_initialized_n_proxy<ValAllocator> proxy;
|
|
1191
1644
|
priv_insert_back_aux_impl(n, proxy);
|
|
1192
1645
|
}
|
|
1193
1646
|
}
|
|
@@ -1202,7 +1655,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1202
1655
|
{
|
|
1203
1656
|
const size_type len = size();
|
|
1204
1657
|
if (new_size < len)
|
|
1205
|
-
this->erase(this->members_.m_start + new_size, this->members_.m_finish);
|
|
1658
|
+
this->erase(this->members_.m_start + difference_type(new_size), this->members_.m_finish);
|
|
1206
1659
|
else
|
|
1207
1660
|
this->insert(this->members_.m_finish, new_size - len, x);
|
|
1208
1661
|
}
|
|
@@ -1238,7 +1691,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1238
1691
|
//! <b>Throws</b>: Nothing.
|
|
1239
1692
|
//!
|
|
1240
1693
|
//! <b>Complexity</b>: Constant.
|
|
1241
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1694
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1242
1695
|
reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1243
1696
|
{
|
|
1244
1697
|
BOOST_ASSERT(!this->empty());
|
|
@@ -1253,7 +1706,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1253
1706
|
//! <b>Throws</b>: Nothing.
|
|
1254
1707
|
//!
|
|
1255
1708
|
//! <b>Complexity</b>: Constant.
|
|
1256
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1709
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1257
1710
|
const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1258
1711
|
{
|
|
1259
1712
|
BOOST_ASSERT(!this->empty());
|
|
@@ -1268,7 +1721,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1268
1721
|
//! <b>Throws</b>: Nothing.
|
|
1269
1722
|
//!
|
|
1270
1723
|
//! <b>Complexity</b>: Constant.
|
|
1271
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1724
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1272
1725
|
reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1273
1726
|
{
|
|
1274
1727
|
BOOST_ASSERT(!this->empty());
|
|
@@ -1283,7 +1736,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1283
1736
|
//! <b>Throws</b>: Nothing.
|
|
1284
1737
|
//!
|
|
1285
1738
|
//! <b>Complexity</b>: Constant.
|
|
1286
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1739
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1287
1740
|
const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1288
1741
|
{
|
|
1289
1742
|
BOOST_ASSERT(!this->empty());
|
|
@@ -1298,7 +1751,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1298
1751
|
//! <b>Throws</b>: Nothing.
|
|
1299
1752
|
//!
|
|
1300
1753
|
//! <b>Complexity</b>: Constant.
|
|
1301
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1754
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1302
1755
|
reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1303
1756
|
{
|
|
1304
1757
|
BOOST_ASSERT(this->size() > n);
|
|
@@ -1313,7 +1766,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1313
1766
|
//! <b>Throws</b>: Nothing.
|
|
1314
1767
|
//!
|
|
1315
1768
|
//! <b>Complexity</b>: Constant.
|
|
1316
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1769
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1317
1770
|
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1318
1771
|
{
|
|
1319
1772
|
BOOST_ASSERT(this->size() > n);
|
|
@@ -1331,11 +1784,11 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1331
1784
|
//! <b>Complexity</b>: Constant.
|
|
1332
1785
|
//!
|
|
1333
1786
|
//! <b>Note</b>: Non-standard extension
|
|
1334
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1787
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1335
1788
|
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1336
1789
|
{
|
|
1337
1790
|
BOOST_ASSERT(this->size() >= n);
|
|
1338
|
-
return iterator(this->begin()+n);
|
|
1791
|
+
return iterator(this->begin()+difference_type(n));
|
|
1339
1792
|
}
|
|
1340
1793
|
|
|
1341
1794
|
//! <b>Requires</b>: size() >= n.
|
|
@@ -1349,11 +1802,11 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1349
1802
|
//! <b>Complexity</b>: Constant.
|
|
1350
1803
|
//!
|
|
1351
1804
|
//! <b>Note</b>: Non-standard extension
|
|
1352
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1805
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1353
1806
|
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1354
1807
|
{
|
|
1355
1808
|
BOOST_ASSERT(this->size() >= n);
|
|
1356
|
-
return const_iterator(this->cbegin()+n);
|
|
1809
|
+
return const_iterator(this->cbegin()+difference_type(n));
|
|
1357
1810
|
}
|
|
1358
1811
|
|
|
1359
1812
|
//! <b>Requires</b>: begin() <= p <= end().
|
|
@@ -1366,7 +1819,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1366
1819
|
//! <b>Complexity</b>: Constant.
|
|
1367
1820
|
//!
|
|
1368
1821
|
//! <b>Note</b>: Non-standard extension
|
|
1369
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1822
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1370
1823
|
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1371
1824
|
{
|
|
1372
1825
|
//Range checked priv_index_of
|
|
@@ -1383,7 +1836,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1383
1836
|
//! <b>Complexity</b>: Constant.
|
|
1384
1837
|
//!
|
|
1385
1838
|
//! <b>Note</b>: Non-standard extension
|
|
1386
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1839
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1387
1840
|
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1388
1841
|
{
|
|
1389
1842
|
//Range checked priv_index_of
|
|
@@ -1398,7 +1851,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1398
1851
|
//! <b>Throws</b>: range_error if n >= size()
|
|
1399
1852
|
//!
|
|
1400
1853
|
//! <b>Complexity</b>: Constant.
|
|
1401
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1854
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1402
1855
|
reference at(size_type n)
|
|
1403
1856
|
{
|
|
1404
1857
|
this->priv_throw_if_out_of_range(n);
|
|
@@ -1413,7 +1866,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1413
1866
|
//! <b>Throws</b>: range_error if n >= size()
|
|
1414
1867
|
//!
|
|
1415
1868
|
//! <b>Complexity</b>: Constant.
|
|
1416
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1869
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1417
1870
|
const_reference at(size_type n) const
|
|
1418
1871
|
{
|
|
1419
1872
|
this->priv_throw_if_out_of_range(n);
|
|
@@ -1449,7 +1902,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1449
1902
|
return r;
|
|
1450
1903
|
}
|
|
1451
1904
|
else{
|
|
1452
|
-
typedef dtl::insert_nonmovable_emplace_proxy<ValAllocator,
|
|
1905
|
+
typedef dtl::insert_nonmovable_emplace_proxy<ValAllocator, Args...> type;
|
|
1453
1906
|
return *this->priv_insert_front_aux_impl(1, type(boost::forward<Args>(args)...));
|
|
1454
1907
|
}
|
|
1455
1908
|
}
|
|
@@ -1475,7 +1928,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1475
1928
|
return r;
|
|
1476
1929
|
}
|
|
1477
1930
|
else{
|
|
1478
|
-
typedef dtl::insert_nonmovable_emplace_proxy<ValAllocator,
|
|
1931
|
+
typedef dtl::insert_nonmovable_emplace_proxy<ValAllocator, Args...> type;
|
|
1479
1932
|
return *this->priv_insert_back_aux_impl(1, type(boost::forward<Args>(args)...));
|
|
1480
1933
|
}
|
|
1481
1934
|
}
|
|
@@ -1502,7 +1955,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1502
1955
|
return (this->end()-1);
|
|
1503
1956
|
}
|
|
1504
1957
|
else{
|
|
1505
|
-
typedef dtl::insert_emplace_proxy<ValAllocator,
|
|
1958
|
+
typedef dtl::insert_emplace_proxy<ValAllocator, Args...> type;
|
|
1506
1959
|
return this->priv_insert_aux_impl(p, 1, type(boost::forward<Args>(args)...));
|
|
1507
1960
|
}
|
|
1508
1961
|
}
|
|
@@ -1522,7 +1975,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1522
1975
|
}\
|
|
1523
1976
|
else{\
|
|
1524
1977
|
typedef dtl::insert_nonmovable_emplace_proxy##N\
|
|
1525
|
-
<ValAllocator
|
|
1978
|
+
<ValAllocator BOOST_MOVE_I##N BOOST_MOVE_TARG##N> type;\
|
|
1526
1979
|
return *priv_insert_front_aux_impl(1, type(BOOST_MOVE_FWD##N));\
|
|
1527
1980
|
}\
|
|
1528
1981
|
}\
|
|
@@ -1539,7 +1992,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1539
1992
|
}\
|
|
1540
1993
|
else{\
|
|
1541
1994
|
typedef dtl::insert_nonmovable_emplace_proxy##N\
|
|
1542
|
-
<ValAllocator
|
|
1995
|
+
<ValAllocator BOOST_MOVE_I##N BOOST_MOVE_TARG##N> type;\
|
|
1543
1996
|
return *priv_insert_back_aux_impl(1, type(BOOST_MOVE_FWD##N));\
|
|
1544
1997
|
}\
|
|
1545
1998
|
}\
|
|
@@ -1558,7 +2011,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1558
2011
|
}\
|
|
1559
2012
|
else{\
|
|
1560
2013
|
typedef dtl::insert_emplace_proxy_arg##N\
|
|
1561
|
-
<ValAllocator
|
|
2014
|
+
<ValAllocator BOOST_MOVE_I##N BOOST_MOVE_TARG##N> type;\
|
|
1562
2015
|
return this->priv_insert_aux_impl(p, 1, type(BOOST_MOVE_FWD##N));\
|
|
1563
2016
|
}\
|
|
1564
2017
|
}
|
|
@@ -1646,10 +2099,9 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1646
2099
|
//! <b>Throws</b>: If memory allocation throws or T's copy constructor throws.
|
|
1647
2100
|
//!
|
|
1648
2101
|
//! <b>Complexity</b>: Linear to n.
|
|
1649
|
-
|
|
2102
|
+
inline iterator insert(const_iterator pos, size_type n, const value_type& x)
|
|
1650
2103
|
{
|
|
1651
2104
|
//Range check of p is done by insert()
|
|
1652
|
-
typedef constant_iterator<value_type, difference_type> c_it;
|
|
1653
2105
|
return this->insert(pos, c_it(x, n), c_it());
|
|
1654
2106
|
}
|
|
1655
2107
|
|
|
@@ -1681,7 +2133,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1681
2133
|
it = this->emplace(it, *first);
|
|
1682
2134
|
++it;
|
|
1683
2135
|
}
|
|
1684
|
-
it -= n;
|
|
2136
|
+
it -= difference_type(n);
|
|
1685
2137
|
return it;
|
|
1686
2138
|
}
|
|
1687
2139
|
|
|
@@ -1696,7 +2148,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1696
2148
|
//! dereferenced std::initializer_list throws or T's copy constructor throws.
|
|
1697
2149
|
//!
|
|
1698
2150
|
//! <b>Complexity</b>: Linear to distance [il.begin(), il.end()).
|
|
1699
|
-
|
|
2151
|
+
inline iterator insert(const_iterator pos, std::initializer_list<value_type> il)
|
|
1700
2152
|
{
|
|
1701
2153
|
//Range check os pos is done in insert()
|
|
1702
2154
|
return insert(pos, il.begin(), il.end());
|
|
@@ -1705,7 +2157,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1705
2157
|
|
|
1706
2158
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
1707
2159
|
template <class FwdIt>
|
|
1708
|
-
|
|
2160
|
+
inline iterator insert(const_iterator p, FwdIt first, FwdIt last
|
|
1709
2161
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
1710
2162
|
, typename dtl::disable_if_or
|
|
1711
2163
|
< void
|
|
@@ -1716,8 +2168,8 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1716
2168
|
)
|
|
1717
2169
|
{
|
|
1718
2170
|
BOOST_ASSERT(this->priv_in_range_or_end(p));
|
|
1719
|
-
dtl::insert_range_proxy<ValAllocator, FwdIt
|
|
1720
|
-
return priv_insert_aux_impl(p, boost::container::
|
|
2171
|
+
dtl::insert_range_proxy<ValAllocator, FwdIt> proxy(first);
|
|
2172
|
+
return priv_insert_aux_impl(p, boost::container::iterator_udistance(first, last), proxy);
|
|
1721
2173
|
}
|
|
1722
2174
|
#endif
|
|
1723
2175
|
|
|
@@ -1729,7 +2181,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1729
2181
|
void pop_front() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1730
2182
|
{
|
|
1731
2183
|
BOOST_ASSERT(!this->empty());
|
|
1732
|
-
if (this->members_.m_start.m_cur != this->members_.m_start.
|
|
2184
|
+
if (this->members_.m_start.m_cur != this->members_.m_start.get_last() - 1) {
|
|
1733
2185
|
allocator_traits_type::destroy
|
|
1734
2186
|
( this->alloc()
|
|
1735
2187
|
, boost::movelib::to_raw_pointer(this->members_.m_start.m_cur)
|
|
@@ -1748,7 +2200,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1748
2200
|
void pop_back() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1749
2201
|
{
|
|
1750
2202
|
BOOST_ASSERT(!this->empty());
|
|
1751
|
-
if (this->members_.m_finish.m_cur != this->members_.m_finish.
|
|
2203
|
+
if (this->members_.m_finish.m_cur != this->members_.m_finish.get_first()) {
|
|
1752
2204
|
--this->members_.m_finish.m_cur;
|
|
1753
2205
|
allocator_traits_type::destroy
|
|
1754
2206
|
( this->alloc()
|
|
@@ -1772,7 +2224,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1772
2224
|
BOOST_ASSERT(this->priv_in_range(pos));
|
|
1773
2225
|
iterator next = pos.unconst();
|
|
1774
2226
|
++next;
|
|
1775
|
-
size_type index = pos - this->members_.m_start;
|
|
2227
|
+
size_type index = size_type(pos - this->members_.m_start);
|
|
1776
2228
|
if (index < (this->size()/2)) {
|
|
1777
2229
|
boost::container::move_backward(this->begin(), pos.unconst(), next);
|
|
1778
2230
|
pop_front();
|
|
@@ -1781,7 +2233,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1781
2233
|
boost::container::move(next, this->end(), pos.unconst());
|
|
1782
2234
|
pop_back();
|
|
1783
2235
|
}
|
|
1784
|
-
return this->members_.m_start + index;
|
|
2236
|
+
return this->members_.m_start + difference_type(index);
|
|
1785
2237
|
}
|
|
1786
2238
|
|
|
1787
2239
|
//! <b>Effects</b>: Erases the elements pointed by [first, last).
|
|
@@ -1805,19 +2257,19 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1805
2257
|
const size_type elems_before = static_cast<size_type>(first - this->members_.m_start);
|
|
1806
2258
|
if (elems_before < (this->size() - n) - elems_before) {
|
|
1807
2259
|
boost::container::move_backward(begin(), first.unconst(), last.unconst());
|
|
1808
|
-
iterator new_start = this->members_.m_start + n;
|
|
2260
|
+
iterator new_start = this->members_.m_start + difference_type(n);
|
|
1809
2261
|
this->priv_destroy_range(this->members_.m_start, new_start);
|
|
1810
2262
|
this->priv_destroy_nodes(this->members_.m_start.m_node, new_start.m_node);
|
|
1811
2263
|
this->members_.m_start = new_start;
|
|
1812
2264
|
}
|
|
1813
2265
|
else {
|
|
1814
2266
|
boost::container::move(last.unconst(), end(), first.unconst());
|
|
1815
|
-
iterator new_finish = this->members_.m_finish - n;
|
|
2267
|
+
iterator new_finish = this->members_.m_finish - difference_type(n);
|
|
1816
2268
|
this->priv_destroy_range(new_finish, this->members_.m_finish);
|
|
1817
2269
|
this->priv_destroy_nodes(new_finish.m_node + 1, this->members_.m_finish.m_node + 1);
|
|
1818
2270
|
this->members_.m_finish = new_finish;
|
|
1819
2271
|
}
|
|
1820
|
-
return this->members_.m_start + elems_before;
|
|
2272
|
+
return this->members_.m_start + difference_type(elems_before);
|
|
1821
2273
|
}
|
|
1822
2274
|
}
|
|
1823
2275
|
|
|
@@ -1826,7 +2278,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1826
2278
|
//! <b>Throws</b>: Nothing.
|
|
1827
2279
|
//!
|
|
1828
2280
|
//! <b>Complexity</b>: Constant.
|
|
1829
|
-
|
|
2281
|
+
inline void swap(deque &x)
|
|
1830
2282
|
BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_swap::value
|
|
1831
2283
|
|| allocator_traits_type::is_always_equal::value)
|
|
1832
2284
|
{
|
|
@@ -1848,14 +2300,14 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1848
2300
|
for (index_pointer node = this->members_.m_start.m_node + 1;
|
|
1849
2301
|
node < this->members_.m_finish.m_node;
|
|
1850
2302
|
++node) {
|
|
1851
|
-
this->priv_destroy_range(*node, *node +
|
|
2303
|
+
this->priv_destroy_range(*node, *node + get_block_ssize());
|
|
1852
2304
|
this->priv_deallocate_node(*node);
|
|
1853
2305
|
}
|
|
1854
2306
|
|
|
1855
2307
|
if (this->members_.m_start.m_node != this->members_.m_finish.m_node) {
|
|
1856
|
-
this->priv_destroy_range(this->members_.m_start.m_cur, this->members_.m_start.
|
|
1857
|
-
this->priv_destroy_range(this->members_.m_finish.
|
|
1858
|
-
this->priv_deallocate_node(this->members_.m_finish.
|
|
2308
|
+
this->priv_destroy_range(this->members_.m_start.m_cur, this->members_.m_start.get_last());
|
|
2309
|
+
this->priv_destroy_range(this->members_.m_finish.get_first(), this->members_.m_finish.m_cur);
|
|
2310
|
+
this->priv_deallocate_node(this->members_.m_finish.get_first());
|
|
1859
2311
|
}
|
|
1860
2312
|
else
|
|
1861
2313
|
this->priv_destroy_range(this->members_.m_start.m_cur, this->members_.m_finish.m_cur);
|
|
@@ -1867,56 +2319,80 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1867
2319
|
//! <b>Effects</b>: Returns true if x and y are equal
|
|
1868
2320
|
//!
|
|
1869
2321
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1870
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2322
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1871
2323
|
friend bool operator==(const deque& x, const deque& y)
|
|
1872
2324
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
|
1873
2325
|
|
|
1874
2326
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
|
1875
2327
|
//!
|
|
1876
2328
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1877
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2329
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1878
2330
|
friend bool operator!=(const deque& x, const deque& y)
|
|
1879
2331
|
{ return !(x == y); }
|
|
1880
2332
|
|
|
1881
2333
|
//! <b>Effects</b>: Returns true if x is less than y
|
|
1882
2334
|
//!
|
|
1883
2335
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1884
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2336
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1885
2337
|
friend bool operator<(const deque& x, const deque& y)
|
|
1886
2338
|
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
|
1887
2339
|
|
|
1888
2340
|
//! <b>Effects</b>: Returns true if x is greater than y
|
|
1889
2341
|
//!
|
|
1890
2342
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1891
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2343
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1892
2344
|
friend bool operator>(const deque& x, const deque& y)
|
|
1893
2345
|
{ return y < x; }
|
|
1894
2346
|
|
|
1895
2347
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
|
1896
2348
|
//!
|
|
1897
2349
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1898
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2350
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1899
2351
|
friend bool operator<=(const deque& x, const deque& y)
|
|
1900
2352
|
{ return !(y < x); }
|
|
1901
2353
|
|
|
1902
2354
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
|
1903
2355
|
//!
|
|
1904
2356
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1905
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2357
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1906
2358
|
friend bool operator>=(const deque& x, const deque& y)
|
|
1907
2359
|
{ return !(x < y); }
|
|
1908
2360
|
|
|
1909
2361
|
//! <b>Effects</b>: x.swap(y)
|
|
1910
2362
|
//!
|
|
1911
2363
|
//! <b>Complexity</b>: Constant.
|
|
1912
|
-
|
|
2364
|
+
inline friend void swap(deque& x, deque& y)
|
|
1913
2365
|
BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
|
|
1914
2366
|
{ x.swap(y); }
|
|
1915
2367
|
|
|
1916
2368
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
1917
2369
|
private:
|
|
1918
2370
|
|
|
1919
|
-
|
|
2371
|
+
void priv_move_assign(BOOST_RV_REF(deque) x, dtl::bool_<true> /*steal_resources*/)
|
|
2372
|
+
{
|
|
2373
|
+
//Destroy objects but retain memory in case x reuses it in the future
|
|
2374
|
+
this->clear();
|
|
2375
|
+
//Move allocator if needed
|
|
2376
|
+
dtl::bool_<allocator_traits_type::propagate_on_container_move_assignment::value> flag;
|
|
2377
|
+
dtl::move_alloc(this->alloc(), x.alloc(), flag);
|
|
2378
|
+
dtl::move_alloc(this->ptr_alloc(), x.ptr_alloc(), flag);
|
|
2379
|
+
//Nothrow swap
|
|
2380
|
+
this->swap_members(x);
|
|
2381
|
+
}
|
|
2382
|
+
|
|
2383
|
+
void priv_move_assign(BOOST_RV_REF(deque) x, dtl::bool_<false> /*steal_resources*/)
|
|
2384
|
+
{
|
|
2385
|
+
//We can't guarantee a compile-time equal allocator or propagation so fallback to runtime
|
|
2386
|
+
//Resources can be transferred if both allocators are equal
|
|
2387
|
+
if (this->alloc() == x.alloc()) {
|
|
2388
|
+
this->priv_move_assign(boost::move(x), dtl::true_());
|
|
2389
|
+
}
|
|
2390
|
+
else {
|
|
2391
|
+
this->assign(boost::make_move_iterator(x.begin()), boost::make_move_iterator(x.end()));
|
|
2392
|
+
}
|
|
2393
|
+
}
|
|
2394
|
+
|
|
2395
|
+
inline size_type priv_index_of(const_iterator p) const
|
|
1920
2396
|
{
|
|
1921
2397
|
BOOST_ASSERT(this->cbegin() <= p);
|
|
1922
2398
|
BOOST_ASSERT(p <= this->cend());
|
|
@@ -1929,7 +2405,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1929
2405
|
this->clear();
|
|
1930
2406
|
}
|
|
1931
2407
|
else {
|
|
1932
|
-
iterator new_finish = this->members_.m_finish - n;
|
|
2408
|
+
iterator new_finish = this->members_.m_finish - difference_type(n);
|
|
1933
2409
|
this->priv_destroy_range(new_finish, this->members_.m_finish);
|
|
1934
2410
|
this->priv_destroy_nodes(new_finish.m_node + 1, this->members_.m_finish.m_node + 1);
|
|
1935
2411
|
this->members_.m_finish = new_finish;
|
|
@@ -1942,12 +2418,12 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
1942
2418
|
throw_out_of_range("deque::at out of range");
|
|
1943
2419
|
}
|
|
1944
2420
|
|
|
1945
|
-
|
|
2421
|
+
inline bool priv_in_range(const_iterator pos) const
|
|
1946
2422
|
{
|
|
1947
2423
|
return (this->begin() <= pos) && (pos < this->end());
|
|
1948
2424
|
}
|
|
1949
2425
|
|
|
1950
|
-
|
|
2426
|
+
inline bool priv_in_range_or_end(const_iterator pos) const
|
|
1951
2427
|
{
|
|
1952
2428
|
return (this->begin() <= pos) && (pos <= this->end());
|
|
1953
2429
|
}
|
|
@@ -2001,37 +2477,38 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
2001
2477
|
}
|
|
2002
2478
|
}
|
|
2003
2479
|
|
|
2004
|
-
|
|
2480
|
+
inline bool priv_push_back_simple_available() const
|
|
2005
2481
|
{
|
|
2006
2482
|
return this->members_.m_map &&
|
|
2007
|
-
(this->members_.m_finish.m_cur != (this->members_.m_finish.
|
|
2483
|
+
(this->members_.m_finish.m_cur != (this->members_.m_finish.get_last() - 1));
|
|
2008
2484
|
}
|
|
2009
2485
|
|
|
2010
|
-
|
|
2486
|
+
inline T *priv_push_back_simple_pos() const
|
|
2011
2487
|
{
|
|
2012
2488
|
return boost::movelib::to_raw_pointer(this->members_.m_finish.m_cur);
|
|
2013
2489
|
}
|
|
2014
2490
|
|
|
2015
|
-
|
|
2491
|
+
inline void priv_push_back_simple_commit()
|
|
2016
2492
|
{
|
|
2017
2493
|
++this->members_.m_finish.m_cur;
|
|
2018
2494
|
}
|
|
2019
2495
|
|
|
2020
|
-
|
|
2496
|
+
inline bool priv_push_front_simple_available() const
|
|
2021
2497
|
{
|
|
2022
2498
|
return this->members_.m_map &&
|
|
2023
|
-
(this->members_.m_start.m_cur != this->members_.m_start.
|
|
2499
|
+
(this->members_.m_start.m_cur != this->members_.m_start.get_first());
|
|
2024
2500
|
}
|
|
2025
2501
|
|
|
2026
|
-
|
|
2502
|
+
inline T *priv_push_front_simple_pos() const
|
|
2027
2503
|
{ return boost::movelib::to_raw_pointer(this->members_.m_start.m_cur) - 1; }
|
|
2028
2504
|
|
|
2029
|
-
|
|
2505
|
+
inline void priv_push_front_simple_commit()
|
|
2030
2506
|
{ --this->members_.m_start.m_cur; }
|
|
2031
2507
|
|
|
2032
2508
|
void priv_destroy_range(iterator p, iterator p2)
|
|
2033
2509
|
{
|
|
2034
|
-
|
|
2510
|
+
(void)p; (void)p2;
|
|
2511
|
+
BOOST_IF_CONSTEXPR(!Base::traits_t::trivial_dctr){
|
|
2035
2512
|
for(;p != p2; ++p){
|
|
2036
2513
|
allocator_traits_type::destroy(this->alloc(), boost::movelib::iterator_to_raw_pointer(p));
|
|
2037
2514
|
}
|
|
@@ -2040,7 +2517,8 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
2040
2517
|
|
|
2041
2518
|
void priv_destroy_range(pointer p, pointer p2)
|
|
2042
2519
|
{
|
|
2043
|
-
|
|
2520
|
+
(void)p; (void)p2;
|
|
2521
|
+
BOOST_IF_CONSTEXPR(!Base::traits_t::trivial_dctr){
|
|
2044
2522
|
for(;p != p2; ++p){
|
|
2045
2523
|
allocator_traits_type::destroy(this->alloc(), boost::movelib::iterator_to_raw_pointer(p));
|
|
2046
2524
|
}
|
|
@@ -2048,82 +2526,115 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
2048
2526
|
}
|
|
2049
2527
|
|
|
2050
2528
|
template<class InsertProxy>
|
|
2051
|
-
iterator
|
|
2529
|
+
iterator priv_insert_middle_aux_impl(const_iterator p, const size_type elemsbefore, const size_type length, const size_type n, InsertProxy proxy)
|
|
2052
2530
|
{
|
|
2053
|
-
|
|
2054
|
-
const size_type pos_n = p - this->cbegin();
|
|
2055
|
-
if(!this->members_.m_map){
|
|
2531
|
+
if (!this->members_.m_map) {
|
|
2056
2532
|
this->priv_initialize_map(0);
|
|
2057
|
-
|
|
2533
|
+
p = this->cbegin();
|
|
2058
2534
|
}
|
|
2059
2535
|
|
|
2060
|
-
|
|
2061
|
-
const size_type
|
|
2536
|
+
iterator pos(p.unconst());
|
|
2537
|
+
const size_type pos_n = size_type(p - this->cbegin());
|
|
2538
|
+
|
|
2062
2539
|
if (elemsbefore < length / 2) {
|
|
2063
2540
|
const iterator new_start = this->priv_reserve_elements_at_front(n);
|
|
2064
2541
|
const iterator old_start = this->members_.m_start;
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
this->members_.m_start
|
|
2068
|
-
|
|
2069
|
-
else{
|
|
2070
|
-
pos = this->members_.m_start + elemsbefore;
|
|
2071
|
-
if (elemsbefore >= n) {
|
|
2072
|
-
const iterator start_n = this->members_.m_start + n;
|
|
2542
|
+
pos = this->members_.m_start + difference_type(elemsbefore);
|
|
2543
|
+
if (elemsbefore >= n) {
|
|
2544
|
+
const iterator start_n = this->members_.m_start + difference_type(n);
|
|
2545
|
+
BOOST_CONTAINER_TRY {
|
|
2073
2546
|
::boost::container::uninitialized_move_alloc
|
|
2074
2547
|
(this->alloc(), this->members_.m_start, start_n, new_start);
|
|
2075
|
-
this->members_.m_start = new_start;
|
|
2076
|
-
boost::container::move(start_n, pos, old_start);
|
|
2077
|
-
proxy.copy_n_and_update(this->alloc(), pos - n, n);
|
|
2078
2548
|
}
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2549
|
+
BOOST_CONTAINER_CATCH(...) {
|
|
2550
|
+
this->priv_destroy_nodes(new_start.m_node, this->members_.m_start.m_node);
|
|
2551
|
+
BOOST_CONTAINER_RETHROW
|
|
2552
|
+
}
|
|
2553
|
+
BOOST_CONTAINER_CATCH_END
|
|
2554
|
+
this->members_.m_start = new_start;
|
|
2555
|
+
boost::container::move(start_n, pos, old_start);
|
|
2556
|
+
proxy.copy_n_and_update(this->alloc(), pos - difference_type(n), n);
|
|
2557
|
+
}
|
|
2558
|
+
else {
|
|
2559
|
+
const size_type mid_count = n - elemsbefore;
|
|
2560
|
+
const iterator mid_start = old_start - difference_type(mid_count);
|
|
2561
|
+
BOOST_CONTAINER_TRY {
|
|
2082
2562
|
proxy.uninitialized_copy_n_and_update(this->alloc(), mid_start, mid_count);
|
|
2083
2563
|
this->members_.m_start = mid_start;
|
|
2084
|
-
::boost::container::uninitialized_move_alloc
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2564
|
+
::boost::container::uninitialized_move_alloc(this->alloc(), old_start, pos, new_start);
|
|
2565
|
+
}
|
|
2566
|
+
BOOST_CONTAINER_CATCH(...) {
|
|
2567
|
+
this->priv_destroy_nodes(new_start.m_node, this->members_.m_start.m_node);
|
|
2568
|
+
BOOST_CONTAINER_RETHROW
|
|
2088
2569
|
}
|
|
2570
|
+
BOOST_CONTAINER_CATCH_END
|
|
2571
|
+
this->members_.m_start = new_start;
|
|
2572
|
+
proxy.copy_n_and_update(this->alloc(), old_start, elemsbefore);
|
|
2089
2573
|
}
|
|
2090
2574
|
}
|
|
2091
2575
|
else {
|
|
2092
2576
|
const iterator new_finish = this->priv_reserve_elements_at_back(n);
|
|
2093
2577
|
const iterator old_finish = this->members_.m_finish;
|
|
2094
2578
|
const size_type elemsafter = length - elemsbefore;
|
|
2095
|
-
|
|
2096
|
-
|
|
2579
|
+
|
|
2580
|
+
pos = old_finish - difference_type(elemsafter);
|
|
2581
|
+
if (elemsafter >= n) {
|
|
2582
|
+
iterator finish_n = old_finish - difference_type(n);
|
|
2583
|
+
BOOST_CONTAINER_TRY {
|
|
2584
|
+
::boost::container::uninitialized_move_alloc(this->alloc(), finish_n, old_finish, old_finish);
|
|
2585
|
+
}
|
|
2586
|
+
BOOST_CONTAINER_CATCH(...) {
|
|
2587
|
+
this->priv_destroy_nodes(this->members_.m_finish.m_node + 1, new_finish.m_node + 1);
|
|
2588
|
+
BOOST_CONTAINER_RETHROW
|
|
2589
|
+
}
|
|
2590
|
+
BOOST_CONTAINER_CATCH_END
|
|
2591
|
+
|
|
2097
2592
|
this->members_.m_finish = new_finish;
|
|
2593
|
+
boost::container::move_backward(pos, finish_n, old_finish);
|
|
2594
|
+
proxy.copy_n_and_update(this->alloc(), pos, n);
|
|
2098
2595
|
}
|
|
2099
|
-
else{
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
iterator finish_n = old_finish - difference_type(n);
|
|
2103
|
-
::boost::container::uninitialized_move_alloc
|
|
2104
|
-
(this->alloc(), finish_n, old_finish, old_finish);
|
|
2105
|
-
this->members_.m_finish = new_finish;
|
|
2106
|
-
boost::container::move_backward(pos, finish_n, old_finish);
|
|
2107
|
-
proxy.copy_n_and_update(this->alloc(), pos, n);
|
|
2108
|
-
}
|
|
2109
|
-
else {
|
|
2110
|
-
const size_type raw_gap = n - elemsafter;
|
|
2596
|
+
else {
|
|
2597
|
+
const size_type raw_gap = n - elemsafter;
|
|
2598
|
+
BOOST_CONTAINER_TRY{
|
|
2111
2599
|
::boost::container::uninitialized_move_alloc
|
|
2112
|
-
(this->alloc(), pos, old_finish, old_finish + raw_gap);
|
|
2113
|
-
|
|
2600
|
+
(this->alloc(), pos, old_finish, old_finish + difference_type(raw_gap));
|
|
2601
|
+
BOOST_CONTAINER_TRY{
|
|
2114
2602
|
proxy.copy_n_and_update(this->alloc(), pos, elemsafter);
|
|
2115
2603
|
proxy.uninitialized_copy_n_and_update(this->alloc(), old_finish, raw_gap);
|
|
2116
2604
|
}
|
|
2117
|
-
|
|
2118
|
-
this->priv_destroy_range(old_finish, old_finish + elemsafter);
|
|
2119
|
-
|
|
2605
|
+
BOOST_CONTAINER_CATCH(...) {
|
|
2606
|
+
this->priv_destroy_range(old_finish, old_finish + difference_type(elemsafter));
|
|
2607
|
+
BOOST_CONTAINER_RETHROW
|
|
2120
2608
|
}
|
|
2121
|
-
|
|
2122
|
-
this->members_.m_finish = new_finish;
|
|
2609
|
+
BOOST_CONTAINER_CATCH_END
|
|
2123
2610
|
}
|
|
2611
|
+
BOOST_CONTAINER_CATCH(...) {
|
|
2612
|
+
this->priv_destroy_nodes(this->members_.m_finish.m_node + 1, new_finish.m_node + 1);
|
|
2613
|
+
BOOST_CONTAINER_RETHROW
|
|
2614
|
+
}
|
|
2615
|
+
BOOST_CONTAINER_CATCH_END
|
|
2616
|
+
this->members_.m_finish = new_finish;
|
|
2124
2617
|
}
|
|
2125
2618
|
}
|
|
2126
|
-
return this->begin() + pos_n;
|
|
2619
|
+
return this->begin() + difference_type(pos_n);
|
|
2620
|
+
}
|
|
2621
|
+
|
|
2622
|
+
template<class InsertProxy>
|
|
2623
|
+
iterator priv_insert_aux_impl(const_iterator p, size_type n, InsertProxy proxy)
|
|
2624
|
+
{
|
|
2625
|
+
iterator pos(p.unconst());
|
|
2626
|
+
const size_type elemsbefore = static_cast<size_type>(pos - this->members_.m_start);
|
|
2627
|
+
const size_type length = this->size();
|
|
2628
|
+
|
|
2629
|
+
if (!elemsbefore) {
|
|
2630
|
+
return this->priv_insert_front_aux_impl(n, proxy);
|
|
2631
|
+
}
|
|
2632
|
+
else if (elemsbefore == length) {
|
|
2633
|
+
return this->priv_insert_back_aux_impl(n, proxy);
|
|
2634
|
+
}
|
|
2635
|
+
else {
|
|
2636
|
+
return this->priv_insert_middle_aux_impl(p, elemsbefore, length, n, proxy);
|
|
2637
|
+
}
|
|
2127
2638
|
}
|
|
2128
2639
|
|
|
2129
2640
|
template <class InsertProxy>
|
|
@@ -2134,10 +2645,16 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
2134
2645
|
}
|
|
2135
2646
|
|
|
2136
2647
|
iterator new_finish = this->priv_reserve_elements_at_back(n);
|
|
2137
|
-
|
|
2138
|
-
|
|
2648
|
+
BOOST_CONTAINER_TRY{
|
|
2649
|
+
proxy.uninitialized_copy_n_and_update(this->alloc(), this->members_.m_finish, n);
|
|
2650
|
+
}
|
|
2651
|
+
BOOST_CONTAINER_CATCH(...) {
|
|
2652
|
+
this->priv_destroy_nodes(this->members_.m_finish.m_node + 1, new_finish.m_node + 1);
|
|
2653
|
+
BOOST_CONTAINER_RETHROW
|
|
2654
|
+
}
|
|
2655
|
+
BOOST_CONTAINER_CATCH_END
|
|
2139
2656
|
this->members_.m_finish = new_finish;
|
|
2140
|
-
return iterator(this->members_.m_finish - n);
|
|
2657
|
+
return iterator(this->members_.m_finish - difference_type(n));
|
|
2141
2658
|
}
|
|
2142
2659
|
|
|
2143
2660
|
template <class InsertProxy>
|
|
@@ -2148,14 +2665,21 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
2148
2665
|
}
|
|
2149
2666
|
|
|
2150
2667
|
iterator new_start = this->priv_reserve_elements_at_front(n);
|
|
2151
|
-
|
|
2668
|
+
BOOST_CONTAINER_TRY{
|
|
2669
|
+
proxy.uninitialized_copy_n_and_update(this->alloc(), new_start, n);
|
|
2670
|
+
}
|
|
2671
|
+
BOOST_CONTAINER_CATCH(...) {
|
|
2672
|
+
this->priv_destroy_nodes(new_start.m_node, this->members_.m_start.m_node);
|
|
2673
|
+
BOOST_CONTAINER_RETHROW
|
|
2674
|
+
}
|
|
2675
|
+
BOOST_CONTAINER_CATCH_END
|
|
2676
|
+
|
|
2152
2677
|
this->members_.m_start = new_start;
|
|
2153
2678
|
return new_start;
|
|
2154
2679
|
}
|
|
2155
2680
|
|
|
2156
|
-
|
|
2681
|
+
inline iterator priv_fill_insert(const_iterator pos, size_type n, const value_type& x)
|
|
2157
2682
|
{
|
|
2158
|
-
typedef constant_iterator<value_type, difference_type> c_it;
|
|
2159
2683
|
return this->insert(pos, c_it(x, n), c_it());
|
|
2160
2684
|
}
|
|
2161
2685
|
|
|
@@ -2164,75 +2688,75 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
2164
2688
|
void priv_fill_initialize(const value_type& value)
|
|
2165
2689
|
{
|
|
2166
2690
|
index_pointer cur = this->members_.m_start.m_node;
|
|
2167
|
-
|
|
2691
|
+
BOOST_CONTAINER_TRY {
|
|
2168
2692
|
for ( ; cur < this->members_.m_finish.m_node; ++cur){
|
|
2169
2693
|
boost::container::uninitialized_fill_alloc
|
|
2170
|
-
(this->alloc(), *cur, *cur +
|
|
2694
|
+
(this->alloc(), *cur, *cur + get_block_ssize(), value);
|
|
2171
2695
|
}
|
|
2172
2696
|
boost::container::uninitialized_fill_alloc
|
|
2173
|
-
(this->alloc(), this->members_.m_finish.
|
|
2697
|
+
(this->alloc(), this->members_.m_finish.get_first(), this->members_.m_finish.m_cur, value);
|
|
2174
2698
|
}
|
|
2175
|
-
|
|
2699
|
+
BOOST_CONTAINER_CATCH(...){
|
|
2176
2700
|
this->priv_destroy_range(this->members_.m_start, iterator(*cur, cur, get_block_size()));
|
|
2177
|
-
|
|
2701
|
+
BOOST_CONTAINER_RETHROW
|
|
2178
2702
|
}
|
|
2179
|
-
|
|
2703
|
+
BOOST_CONTAINER_CATCH_END
|
|
2180
2704
|
}
|
|
2181
2705
|
|
|
2182
2706
|
template <class InIt>
|
|
2183
2707
|
void priv_range_initialize(InIt first, InIt last, typename iterator_enable_if_tag<InIt, std::input_iterator_tag>::type* =0)
|
|
2184
2708
|
{
|
|
2185
2709
|
this->priv_initialize_map(0);
|
|
2186
|
-
|
|
2710
|
+
BOOST_CONTAINER_TRY {
|
|
2187
2711
|
for ( ; first != last; ++first)
|
|
2188
2712
|
this->emplace_back(*first);
|
|
2189
2713
|
}
|
|
2190
|
-
|
|
2714
|
+
BOOST_CONTAINER_CATCH(...){
|
|
2191
2715
|
this->clear();
|
|
2192
|
-
|
|
2716
|
+
BOOST_CONTAINER_RETHROW
|
|
2193
2717
|
}
|
|
2194
|
-
|
|
2718
|
+
BOOST_CONTAINER_CATCH_END
|
|
2195
2719
|
}
|
|
2196
2720
|
|
|
2197
2721
|
template <class FwdIt>
|
|
2198
2722
|
void priv_range_initialize(FwdIt first, FwdIt last, typename iterator_disable_if_tag<FwdIt, std::input_iterator_tag>::type* =0)
|
|
2199
2723
|
{
|
|
2200
2724
|
size_type n = 0;
|
|
2201
|
-
n = boost::container::
|
|
2725
|
+
n = boost::container::iterator_udistance(first, last);
|
|
2202
2726
|
this->priv_initialize_map(n);
|
|
2203
2727
|
|
|
2204
2728
|
index_pointer cur_node = this->members_.m_start.m_node;
|
|
2205
|
-
|
|
2729
|
+
BOOST_CONTAINER_TRY {
|
|
2206
2730
|
for (; cur_node < this->members_.m_finish.m_node; ++cur_node) {
|
|
2207
2731
|
FwdIt mid = first;
|
|
2208
|
-
boost::container::
|
|
2732
|
+
boost::container::iterator_uadvance(mid, get_block_size());
|
|
2209
2733
|
::boost::container::uninitialized_copy_alloc(this->alloc(), first, mid, *cur_node);
|
|
2210
2734
|
first = mid;
|
|
2211
2735
|
}
|
|
2212
|
-
::boost::container::uninitialized_copy_alloc(this->alloc(), first, last, this->members_.m_finish.
|
|
2736
|
+
::boost::container::uninitialized_copy_alloc(this->alloc(), first, last, this->members_.m_finish.get_first());
|
|
2213
2737
|
}
|
|
2214
|
-
|
|
2738
|
+
BOOST_CONTAINER_CATCH(...){
|
|
2215
2739
|
this->priv_destroy_range(this->members_.m_start, iterator(*cur_node, cur_node, get_block_size()));
|
|
2216
|
-
|
|
2740
|
+
BOOST_CONTAINER_RETHROW
|
|
2217
2741
|
}
|
|
2218
|
-
|
|
2742
|
+
BOOST_CONTAINER_CATCH_END
|
|
2219
2743
|
}
|
|
2220
2744
|
|
|
2221
|
-
// Called only if this->members_.m_finish.m_cur == this->members_.m_finish.
|
|
2745
|
+
// Called only if this->members_.m_finish.m_cur == this->members_.m_finish.get_first().
|
|
2222
2746
|
void priv_pop_back_aux() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2223
2747
|
{
|
|
2224
|
-
this->priv_deallocate_node(this->members_.m_finish.
|
|
2748
|
+
this->priv_deallocate_node(this->members_.m_finish.get_first());
|
|
2225
2749
|
this->members_.m_finish.priv_set_node(this->members_.m_finish.m_node - 1, get_block_size());
|
|
2226
|
-
this->members_.m_finish.m_cur = this->members_.m_finish.
|
|
2750
|
+
this->members_.m_finish.m_cur = this->members_.m_finish.get_last() - 1;
|
|
2227
2751
|
allocator_traits_type::destroy
|
|
2228
2752
|
( this->alloc()
|
|
2229
2753
|
, boost::movelib::to_raw_pointer(this->members_.m_finish.m_cur)
|
|
2230
2754
|
);
|
|
2231
2755
|
}
|
|
2232
2756
|
|
|
2233
|
-
// Called only if this->members_.m_start.m_cur == this->members_.m_start.
|
|
2757
|
+
// Called only if this->members_.m_start.m_cur == this->members_.m_start.get_last() - 1. Note that
|
|
2234
2758
|
// if the deque has at least one element (a precondition for this member
|
|
2235
|
-
// function), and if this->members_.m_start.m_cur == this->members_.m_start.
|
|
2759
|
+
// function), and if this->members_.m_start.m_cur == this->members_.m_start.get_last(), then the deque
|
|
2236
2760
|
// must have at least two nodes.
|
|
2237
2761
|
void priv_pop_front_aux() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2238
2762
|
{
|
|
@@ -2240,84 +2764,83 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
2240
2764
|
( this->alloc()
|
|
2241
2765
|
, boost::movelib::to_raw_pointer(this->members_.m_start.m_cur)
|
|
2242
2766
|
);
|
|
2243
|
-
this->priv_deallocate_node(this->members_.m_start.
|
|
2767
|
+
this->priv_deallocate_node(this->members_.m_start.get_first());
|
|
2244
2768
|
this->members_.m_start.priv_set_node(this->members_.m_start.m_node + 1, get_block_size());
|
|
2245
|
-
this->members_.m_start.m_cur = this->members_.m_start.
|
|
2769
|
+
this->members_.m_start.m_cur = this->members_.m_start.get_first();
|
|
2246
2770
|
}
|
|
2247
2771
|
|
|
2248
2772
|
iterator priv_reserve_elements_at_front(size_type n)
|
|
2249
2773
|
{
|
|
2250
|
-
size_type vacancies = this->members_.m_start.m_cur - this->members_.m_start.
|
|
2774
|
+
size_type vacancies = size_type(this->members_.m_start.m_cur - this->members_.m_start.get_first());
|
|
2251
2775
|
if (n > vacancies){
|
|
2252
2776
|
size_type new_elems = n-vacancies;
|
|
2253
|
-
size_type new_nodes = (new_elems + get_block_size() -
|
|
2254
|
-
get_block_size();
|
|
2777
|
+
size_type new_nodes = (new_elems + get_block_size() - 1u) / get_block_size();
|
|
2255
2778
|
size_type s = (size_type)(this->members_.m_start.m_node - this->members_.m_map);
|
|
2256
2779
|
if (new_nodes > s){
|
|
2257
2780
|
this->priv_reallocate_map(new_nodes, true);
|
|
2258
2781
|
}
|
|
2259
2782
|
size_type i = 1;
|
|
2260
|
-
|
|
2783
|
+
BOOST_CONTAINER_TRY {
|
|
2261
2784
|
for (; i <= new_nodes; ++i)
|
|
2262
|
-
*(this->members_.m_start.m_node - i) = this->priv_allocate_node();
|
|
2785
|
+
*(this->members_.m_start.m_node - difference_type(i)) = this->priv_allocate_node();
|
|
2263
2786
|
}
|
|
2264
|
-
|
|
2787
|
+
BOOST_CONTAINER_CATCH(...) {
|
|
2265
2788
|
for (size_type j = 1; j < i; ++j)
|
|
2266
|
-
this->priv_deallocate_node(*(this->members_.m_start.m_node - j));
|
|
2267
|
-
|
|
2789
|
+
this->priv_deallocate_node(*(this->members_.m_start.m_node - difference_type(j)));
|
|
2790
|
+
BOOST_CONTAINER_RETHROW
|
|
2268
2791
|
}
|
|
2269
|
-
|
|
2792
|
+
BOOST_CONTAINER_CATCH_END
|
|
2270
2793
|
}
|
|
2271
2794
|
return this->members_.m_start - difference_type(n);
|
|
2272
2795
|
}
|
|
2273
2796
|
|
|
2274
2797
|
iterator priv_reserve_elements_at_back(size_type n)
|
|
2275
2798
|
{
|
|
2276
|
-
size_type vacancies = (this->members_.m_finish.
|
|
2799
|
+
size_type vacancies = size_type(this->members_.m_finish.get_last() - this->members_.m_finish.m_cur - 1);
|
|
2277
2800
|
if (n > vacancies){
|
|
2278
|
-
size_type new_elems = n - vacancies;
|
|
2279
|
-
size_type new_nodes = (new_elems + get_block_size() -
|
|
2280
|
-
size_type s = (size_type)(this->members_.m_map_size - (this->members_.m_finish.m_node - this->members_.m_map));
|
|
2801
|
+
size_type new_elems = size_type(n - vacancies);
|
|
2802
|
+
size_type new_nodes = size_type(new_elems + get_block_size() - 1u)/get_block_size();
|
|
2803
|
+
size_type s = (size_type)(this->members_.m_map_size - size_type(this->members_.m_finish.m_node - this->members_.m_map));
|
|
2281
2804
|
if (new_nodes + 1 > s){
|
|
2282
2805
|
this->priv_reallocate_map(new_nodes, false);
|
|
2283
2806
|
}
|
|
2284
2807
|
size_type i = 1;
|
|
2285
|
-
|
|
2808
|
+
BOOST_CONTAINER_TRY {
|
|
2286
2809
|
for (; i <= new_nodes; ++i)
|
|
2287
|
-
*(this->members_.m_finish.m_node + i) = this->priv_allocate_node();
|
|
2810
|
+
*(this->members_.m_finish.m_node + difference_type(i)) = this->priv_allocate_node();
|
|
2288
2811
|
}
|
|
2289
|
-
|
|
2812
|
+
BOOST_CONTAINER_CATCH(...) {
|
|
2290
2813
|
for (size_type j = 1; j < i; ++j)
|
|
2291
|
-
this->priv_deallocate_node(*(this->members_.m_finish.m_node + j));
|
|
2292
|
-
|
|
2814
|
+
this->priv_deallocate_node(*(this->members_.m_finish.m_node + difference_type(j)));
|
|
2815
|
+
BOOST_CONTAINER_RETHROW
|
|
2293
2816
|
}
|
|
2294
|
-
|
|
2817
|
+
BOOST_CONTAINER_CATCH_END
|
|
2295
2818
|
}
|
|
2296
2819
|
return this->members_.m_finish + difference_type(n);
|
|
2297
2820
|
}
|
|
2298
2821
|
|
|
2299
2822
|
void priv_reallocate_map(size_type nodes_to_add, bool add_at_front)
|
|
2300
2823
|
{
|
|
2301
|
-
size_type old_num_nodes = this->members_.m_finish.m_node - this->members_.m_start.m_node + 1;
|
|
2824
|
+
size_type old_num_nodes = size_type(this->members_.m_finish.m_node - this->members_.m_start.m_node + 1);
|
|
2302
2825
|
size_type new_num_nodes = old_num_nodes + nodes_to_add;
|
|
2303
2826
|
|
|
2304
2827
|
index_pointer new_nstart;
|
|
2305
2828
|
if (this->members_.m_map_size > 2 * new_num_nodes) {
|
|
2306
|
-
new_nstart = this->members_.m_map + (this->members_.m_map_size - new_num_nodes) / 2
|
|
2307
|
-
+ (add_at_front ? nodes_to_add :
|
|
2829
|
+
new_nstart = this->members_.m_map + difference_type(this->members_.m_map_size - new_num_nodes) / 2
|
|
2830
|
+
+ difference_type(add_at_front ? nodes_to_add : 0u);
|
|
2308
2831
|
if (new_nstart < this->members_.m_start.m_node)
|
|
2309
2832
|
boost::container::move(this->members_.m_start.m_node, this->members_.m_finish.m_node + 1, new_nstart);
|
|
2310
2833
|
else
|
|
2311
2834
|
boost::container::move_backward
|
|
2312
|
-
(this->members_.m_start.m_node, this->members_.m_finish.m_node + 1, new_nstart + old_num_nodes);
|
|
2835
|
+
(this->members_.m_start.m_node, this->members_.m_finish.m_node + 1, new_nstart + difference_type(old_num_nodes));
|
|
2313
2836
|
}
|
|
2314
2837
|
else {
|
|
2315
2838
|
size_type new_map_size =
|
|
2316
2839
|
this->members_.m_map_size + dtl::max_value(this->members_.m_map_size, nodes_to_add) + 2;
|
|
2317
2840
|
|
|
2318
2841
|
index_pointer new_map = this->priv_allocate_map(new_map_size);
|
|
2319
|
-
new_nstart = new_map + (new_map_size - new_num_nodes) / 2
|
|
2320
|
-
+ (add_at_front ? nodes_to_add :
|
|
2842
|
+
new_nstart = new_map + difference_type(new_map_size - new_num_nodes) / 2
|
|
2843
|
+
+ difference_type(add_at_front ? nodes_to_add : 0u);
|
|
2321
2844
|
boost::container::move(this->members_.m_start.m_node, this->members_.m_finish.m_node + 1, new_nstart);
|
|
2322
2845
|
this->priv_deallocate_map(this->members_.m_map, this->members_.m_map_size);
|
|
2323
2846
|
|
|
@@ -2326,7 +2849,7 @@ class deque : protected deque_base<typename real_allocator<T, Allocator>::type,
|
|
|
2326
2849
|
}
|
|
2327
2850
|
|
|
2328
2851
|
this->members_.m_start.priv_set_node(new_nstart, get_block_size());
|
|
2329
|
-
this->members_.m_finish.priv_set_node(new_nstart + old_num_nodes -
|
|
2852
|
+
this->members_.m_finish.priv_set_node(new_nstart + difference_type(old_num_nodes - 1u), get_block_size());
|
|
2330
2853
|
}
|
|
2331
2854
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
2332
2855
|
};
|
|
@@ -2338,7 +2861,8 @@ template <typename InputIterator, typename Allocator>
|
|
|
2338
2861
|
deque(InputIterator, InputIterator, Allocator const&) -> deque<typename iterator_traits<InputIterator>::value_type, Allocator>;
|
|
2339
2862
|
#endif
|
|
2340
2863
|
|
|
2341
|
-
}
|
|
2864
|
+
} //namespace container
|
|
2865
|
+
} //namespace boost
|
|
2342
2866
|
|
|
2343
2867
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
2344
2868
|
|
|
@@ -2351,7 +2875,7 @@ struct has_trivial_destructor_after_move<boost::container::deque<T, Allocator, O
|
|
|
2351
2875
|
{
|
|
2352
2876
|
typedef typename boost::container::deque<T, Allocator, Options>::allocator_type allocator_type;
|
|
2353
2877
|
typedef typename ::boost::container::allocator_traits<allocator_type>::pointer pointer;
|
|
2354
|
-
|
|
2878
|
+
BOOST_STATIC_CONSTEXPR bool value = ::boost::has_trivial_destructor_after_move<allocator_type>::value &&
|
|
2355
2879
|
::boost::has_trivial_destructor_after_move<pointer>::value;
|
|
2356
2880
|
};
|
|
2357
2881
|
|