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
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
#include <boost/move/iterator.hpp>
|
|
52
52
|
#include <boost/move/traits.hpp>
|
|
53
53
|
#include <boost/move/utility_core.hpp>
|
|
54
|
+
#include <boost/move/detail/launder.hpp>
|
|
54
55
|
// move/detail
|
|
55
56
|
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
56
57
|
#include <boost/move/detail/fwd_macros.hpp>
|
|
@@ -62,7 +63,6 @@
|
|
|
62
63
|
#include <boost/move/algo/predicate.hpp>
|
|
63
64
|
#include <boost/move/algo/detail/set_difference.hpp>
|
|
64
65
|
// other
|
|
65
|
-
#include <boost/core/no_exceptions_support.hpp>
|
|
66
66
|
#include <boost/assert.hpp>
|
|
67
67
|
#include <boost/cstdint.hpp>
|
|
68
68
|
|
|
@@ -82,18 +82,21 @@ class vec_iterator
|
|
|
82
82
|
{
|
|
83
83
|
public:
|
|
84
84
|
typedef std::random_access_iterator_tag iterator_category;
|
|
85
|
+
#ifdef BOOST_MOVE_CONTIGUOUS_ITERATOR_TAG
|
|
85
86
|
typedef std::contiguous_iterator_tag iterator_concept;
|
|
87
|
+
#endif
|
|
86
88
|
typedef typename boost::intrusive::pointer_traits<Pointer>::element_type value_type;
|
|
87
89
|
|
|
88
90
|
//Defining element_type to make libstdc++'s std::pointer_traits well-formed leads to ambiguity
|
|
89
91
|
//due to LWG3446. So we need to specialize std::pointer_traits. See
|
|
90
|
-
//https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96416 for details.
|
|
91
|
-
//for
|
|
92
|
+
//https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96416 for details. Many thanks to Jonathan Wakely
|
|
93
|
+
//for explaining the issue.
|
|
92
94
|
#ifndef BOOST_GNU_STDLIB
|
|
93
95
|
//Define element_
|
|
94
96
|
typedef typename boost::intrusive::pointer_traits<Pointer>::element_type element_type;
|
|
95
97
|
#endif
|
|
96
98
|
typedef typename boost::intrusive::pointer_traits<Pointer>::difference_type difference_type;
|
|
99
|
+
typedef typename boost::intrusive::pointer_traits<Pointer>::size_type size_type;
|
|
97
100
|
typedef typename dtl::if_c
|
|
98
101
|
< IsConst
|
|
99
102
|
, typename boost::intrusive::pointer_traits<Pointer>::template
|
|
@@ -118,15 +121,15 @@ class vec_iterator
|
|
|
118
121
|
, nat>::type nonconst_iterator;
|
|
119
122
|
|
|
120
123
|
public:
|
|
121
|
-
|
|
124
|
+
inline
|
|
122
125
|
const Pointer &get_ptr() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
123
126
|
{ return m_ptr; }
|
|
124
127
|
|
|
125
|
-
|
|
128
|
+
inline
|
|
126
129
|
Pointer &get_ptr() BOOST_NOEXCEPT_OR_NOTHROW
|
|
127
130
|
{ return m_ptr; }
|
|
128
131
|
|
|
129
|
-
|
|
132
|
+
inline explicit vec_iterator(Pointer ptr) BOOST_NOEXCEPT_OR_NOTHROW
|
|
130
133
|
: m_ptr(ptr)
|
|
131
134
|
{}
|
|
132
135
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
@@ -134,92 +137,93 @@ class vec_iterator
|
|
|
134
137
|
public:
|
|
135
138
|
|
|
136
139
|
//Constructors
|
|
137
|
-
|
|
140
|
+
inline vec_iterator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
138
141
|
: m_ptr() //Value initialization to achieve "null iterators" (N3644)
|
|
139
142
|
{}
|
|
140
143
|
|
|
141
|
-
|
|
144
|
+
inline vec_iterator(const vec_iterator& other) BOOST_NOEXCEPT_OR_NOTHROW
|
|
142
145
|
: m_ptr(other.get_ptr())
|
|
143
146
|
{}
|
|
144
147
|
|
|
145
|
-
|
|
148
|
+
inline vec_iterator(const nonconst_iterator &other) BOOST_NOEXCEPT_OR_NOTHROW
|
|
146
149
|
: m_ptr(other.get_ptr())
|
|
147
150
|
{}
|
|
148
151
|
|
|
149
|
-
|
|
152
|
+
inline vec_iterator & operator=(const vec_iterator& other) BOOST_NOEXCEPT_OR_NOTHROW
|
|
150
153
|
{ m_ptr = other.get_ptr(); return *this; }
|
|
151
154
|
|
|
152
155
|
//Pointer like operators
|
|
153
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
156
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
154
157
|
reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
155
158
|
{ BOOST_ASSERT(!!m_ptr); return *m_ptr; }
|
|
156
159
|
|
|
157
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
160
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
158
161
|
pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
159
162
|
{ return m_ptr; }
|
|
160
163
|
|
|
161
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
164
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
162
165
|
reference operator[](difference_type off) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
163
166
|
{ BOOST_ASSERT(!!m_ptr); return m_ptr[off]; }
|
|
164
167
|
|
|
165
168
|
//Increment / Decrement
|
|
166
|
-
|
|
169
|
+
inline vec_iterator& operator++() BOOST_NOEXCEPT_OR_NOTHROW
|
|
167
170
|
{ BOOST_ASSERT(!!m_ptr); ++m_ptr; return *this; }
|
|
168
171
|
|
|
169
|
-
|
|
172
|
+
inline vec_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW
|
|
170
173
|
{ BOOST_ASSERT(!!m_ptr); return vec_iterator(m_ptr++); }
|
|
171
174
|
|
|
172
|
-
|
|
175
|
+
inline vec_iterator& operator--() BOOST_NOEXCEPT_OR_NOTHROW
|
|
173
176
|
{ BOOST_ASSERT(!!m_ptr); --m_ptr; return *this; }
|
|
174
177
|
|
|
175
|
-
|
|
178
|
+
inline vec_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
|
|
176
179
|
{ BOOST_ASSERT(!!m_ptr); return vec_iterator(m_ptr--); }
|
|
177
180
|
|
|
178
181
|
//Arithmetic
|
|
179
|
-
|
|
182
|
+
inline vec_iterator& operator+=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
|
180
183
|
{ BOOST_ASSERT(m_ptr || !off); m_ptr += off; return *this; }
|
|
181
184
|
|
|
182
|
-
|
|
185
|
+
inline vec_iterator& operator-=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
|
183
186
|
{ BOOST_ASSERT(m_ptr || !off); m_ptr -= off; return *this; }
|
|
184
187
|
|
|
185
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
188
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
186
189
|
friend vec_iterator operator+(const vec_iterator &x, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
|
187
190
|
{ BOOST_ASSERT(x.m_ptr || !off); return vec_iterator(x.m_ptr+off); }
|
|
188
191
|
|
|
189
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
192
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
190
193
|
friend vec_iterator operator+(difference_type off, vec_iterator right) BOOST_NOEXCEPT_OR_NOTHROW
|
|
191
194
|
{ BOOST_ASSERT(right.m_ptr || !off); right.m_ptr += off; return right; }
|
|
192
195
|
|
|
193
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
196
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
194
197
|
friend vec_iterator operator-(vec_iterator left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
|
|
195
198
|
{ BOOST_ASSERT(left.m_ptr || !off); left.m_ptr -= off; return left; }
|
|
196
199
|
|
|
197
|
-
|
|
200
|
+
//Difference
|
|
201
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
198
202
|
friend difference_type operator-(const vec_iterator &left, const vec_iterator& right) BOOST_NOEXCEPT_OR_NOTHROW
|
|
199
203
|
{ return left.m_ptr - right.m_ptr; }
|
|
200
204
|
|
|
201
205
|
//Comparison operators
|
|
202
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
206
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
203
207
|
friend bool operator== (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
204
208
|
{ return l.m_ptr == r.m_ptr; }
|
|
205
209
|
|
|
206
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
210
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
207
211
|
friend bool operator!= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
208
212
|
{ return l.m_ptr != r.m_ptr; }
|
|
209
213
|
|
|
210
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
214
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
211
215
|
friend bool operator< (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
212
216
|
{ return l.m_ptr < r.m_ptr; }
|
|
213
217
|
|
|
214
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
218
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
215
219
|
friend bool operator<= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
216
220
|
{ return l.m_ptr <= r.m_ptr; }
|
|
217
221
|
|
|
218
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
222
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
219
223
|
friend bool operator> (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
220
224
|
{ return l.m_ptr > r.m_ptr; }
|
|
221
225
|
|
|
222
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
226
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
223
227
|
friend bool operator>= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
224
228
|
{ return l.m_ptr >= r.m_ptr; }
|
|
225
229
|
};
|
|
@@ -230,7 +234,7 @@ struct vector_insert_ordered_cursor
|
|
|
230
234
|
typedef typename iterator_traits<BiDirPosConstIt>::value_type size_type;
|
|
231
235
|
typedef typename iterator_traits<BiDirValueIt>::reference reference;
|
|
232
236
|
|
|
233
|
-
|
|
237
|
+
inline vector_insert_ordered_cursor(BiDirPosConstIt posit, BiDirValueIt valueit)
|
|
234
238
|
: last_position_it(posit), last_value_it(valueit)
|
|
235
239
|
{}
|
|
236
240
|
|
|
@@ -244,34 +248,36 @@ struct vector_insert_ordered_cursor
|
|
|
244
248
|
}
|
|
245
249
|
}
|
|
246
250
|
|
|
247
|
-
|
|
251
|
+
inline size_type get_pos() const
|
|
248
252
|
{ return *last_position_it; }
|
|
249
253
|
|
|
250
|
-
|
|
254
|
+
inline reference get_val()
|
|
251
255
|
{ return *last_value_it; }
|
|
252
256
|
|
|
253
257
|
BiDirPosConstIt last_position_it;
|
|
254
258
|
BiDirValueIt last_value_it;
|
|
255
259
|
};
|
|
256
260
|
|
|
257
|
-
struct initial_capacity_t{};
|
|
258
|
-
|
|
259
261
|
template<class Pointer, bool IsConst>
|
|
260
|
-
|
|
262
|
+
inline const Pointer &vector_iterator_get_ptr(const vec_iterator<Pointer, IsConst> &it) BOOST_NOEXCEPT_OR_NOTHROW
|
|
261
263
|
{ return it.get_ptr(); }
|
|
262
264
|
|
|
263
265
|
template<class Pointer, bool IsConst>
|
|
264
|
-
|
|
266
|
+
inline Pointer &get_ptr(vec_iterator<Pointer, IsConst> &it) BOOST_NOEXCEPT_OR_NOTHROW
|
|
265
267
|
{ return it.get_ptr(); }
|
|
266
268
|
|
|
269
|
+
struct initial_capacity_t {};
|
|
270
|
+
|
|
267
271
|
struct vector_uninitialized_size_t {};
|
|
268
|
-
|
|
272
|
+
BOOST_CONTAINER_CONSTANT_VAR vector_uninitialized_size_t vector_uninitialized_size = vector_uninitialized_size_t();
|
|
273
|
+
|
|
274
|
+
struct maybe_initial_capacity_t {};
|
|
269
275
|
|
|
270
276
|
template <class T>
|
|
271
277
|
struct vector_value_traits_base
|
|
272
278
|
{
|
|
273
|
-
|
|
274
|
-
|
|
279
|
+
BOOST_STATIC_CONSTEXPR bool trivial_dctr = dtl::is_trivially_destructible<T>::value;
|
|
280
|
+
BOOST_STATIC_CONSTEXPR bool trivial_dctr_after_move = has_trivial_destructor_after_move<T>::value;
|
|
275
281
|
};
|
|
276
282
|
|
|
277
283
|
template <class Allocator>
|
|
@@ -309,22 +315,60 @@ struct vector_alloc_holder
|
|
|
309
315
|
typedef typename allocator_traits_type::size_type size_type;
|
|
310
316
|
typedef typename allocator_traits_type::value_type value_type;
|
|
311
317
|
|
|
312
|
-
|
|
313
|
-
|
|
318
|
+
|
|
319
|
+
private:
|
|
320
|
+
|
|
321
|
+
template<class SizeType>
|
|
322
|
+
void do_initial_capacity(SizeType initial_capacity)
|
|
323
|
+
{
|
|
324
|
+
if (BOOST_UNLIKELY(initial_capacity > size_type(-1))) {
|
|
325
|
+
boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
|
|
326
|
+
}
|
|
327
|
+
else if (initial_capacity) {
|
|
328
|
+
pointer reuse = pointer();
|
|
329
|
+
size_type final_cap = static_cast<size_type>(initial_capacity);
|
|
330
|
+
m_start = this->allocation_command(allocate_new, final_cap, final_cap, reuse);
|
|
331
|
+
this->set_stored_capacity(final_cap);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
template<class SizeType>
|
|
336
|
+
void do_maybe_initial_capacity(pointer p, SizeType initial_capacity)
|
|
337
|
+
{
|
|
338
|
+
if (BOOST_UNLIKELY(initial_capacity > size_type(-1))) {
|
|
339
|
+
boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
|
|
340
|
+
}
|
|
341
|
+
else if (p) {
|
|
342
|
+
m_start = p;
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
BOOST_ASSERT(initial_capacity > 0);
|
|
346
|
+
pointer reuse = pointer();
|
|
347
|
+
size_type final_cap = static_cast<size_type>(initial_capacity);
|
|
348
|
+
m_start = this->allocation_command(allocate_new, final_cap, final_cap, reuse);
|
|
349
|
+
this->set_stored_capacity(final_cap);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
public:
|
|
354
|
+
|
|
355
|
+
template <bool PropagateAllocator>
|
|
356
|
+
inline static bool is_propagable_from(const allocator_type &from_alloc, pointer p, const allocator_type &to_alloc)
|
|
314
357
|
{
|
|
315
|
-
(void)
|
|
358
|
+
(void)p; (void)to_alloc; (void)from_alloc;
|
|
316
359
|
const bool all_storage_propagable = !allocator_traits_type::is_partially_propagable::value ||
|
|
317
360
|
!allocator_traits_type::storage_is_unpropagable(from_alloc, p);
|
|
318
|
-
return all_storage_propagable &&
|
|
361
|
+
return all_storage_propagable &&
|
|
362
|
+
(PropagateAllocator || allocator_traits_type::is_always_equal::value || allocator_traits_type::equal(from_alloc, to_alloc));
|
|
319
363
|
}
|
|
320
364
|
|
|
321
|
-
|
|
322
|
-
|
|
365
|
+
template <bool PropagateAllocator>
|
|
366
|
+
inline static bool are_swap_propagable(const allocator_type &l_a, pointer l_p, const allocator_type &r_a, pointer r_p)
|
|
323
367
|
{
|
|
324
|
-
(void)
|
|
368
|
+
(void)l_p; (void)r_p; (void)l_a; (void)r_a;
|
|
325
369
|
const bool all_storage_propagable = !allocator_traits_type::is_partially_propagable::value ||
|
|
326
370
|
!(allocator_traits_type::storage_is_unpropagable(l_a, l_p) || allocator_traits_type::storage_is_unpropagable(r_a, r_p));
|
|
327
|
-
return all_storage_propagable && (
|
|
371
|
+
return all_storage_propagable && (PropagateAllocator || allocator_traits_type::is_always_equal::value || allocator_traits_type::equal(l_a, r_a));
|
|
328
372
|
}
|
|
329
373
|
|
|
330
374
|
//Constructor, does not throw
|
|
@@ -339,7 +383,7 @@ struct vector_alloc_holder
|
|
|
339
383
|
: allocator_type(boost::forward<AllocConvertible>(a)), m_start(), m_size(), m_capacity()
|
|
340
384
|
{}
|
|
341
385
|
|
|
342
|
-
|
|
386
|
+
|
|
343
387
|
template<class AllocConvertible, class SizeType>
|
|
344
388
|
vector_alloc_holder(vector_uninitialized_size_t, BOOST_FWD_REF(AllocConvertible) a, SizeType initial_size)
|
|
345
389
|
: allocator_type(boost::forward<AllocConvertible>(a))
|
|
@@ -347,19 +391,8 @@ struct vector_alloc_holder
|
|
|
347
391
|
//Size is initialized here so vector should only call uninitialized_xxx after this
|
|
348
392
|
, m_size(static_cast<stored_size_type>(initial_size))
|
|
349
393
|
, m_capacity()
|
|
350
|
-
{
|
|
351
|
-
if (initial_size > size_type(-1)){
|
|
352
|
-
boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
|
|
353
|
-
}
|
|
354
|
-
else if(initial_size){
|
|
355
|
-
pointer reuse = pointer();
|
|
356
|
-
size_type final_cap = static_cast<size_type>(initial_size);
|
|
357
|
-
m_start = this->allocation_command(allocate_new, final_cap, final_cap, reuse);
|
|
358
|
-
this->set_stored_capacity(final_cap);
|
|
359
|
-
}
|
|
360
|
-
}
|
|
394
|
+
{ this->do_initial_capacity(initial_size); }
|
|
361
395
|
|
|
362
|
-
//Constructor, does not throw
|
|
363
396
|
template<class SizeType>
|
|
364
397
|
vector_alloc_holder(vector_uninitialized_size_t, SizeType initial_size)
|
|
365
398
|
: allocator_type()
|
|
@@ -367,27 +400,7 @@ struct vector_alloc_holder
|
|
|
367
400
|
//Size is initialized here so vector should only call uninitialized_xxx after this
|
|
368
401
|
, m_size(static_cast<stored_size_type>(initial_size))
|
|
369
402
|
, m_capacity()
|
|
370
|
-
{
|
|
371
|
-
if (initial_size > size_type(-1)){
|
|
372
|
-
boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
|
|
373
|
-
}
|
|
374
|
-
else if(initial_size){
|
|
375
|
-
pointer reuse = pointer();
|
|
376
|
-
size_type final_cap = initial_size;
|
|
377
|
-
m_start = this->allocation_command(allocate_new, final_cap, final_cap, reuse);
|
|
378
|
-
this->set_stored_capacity(final_cap);
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
vector_alloc_holder(BOOST_RV_REF(vector_alloc_holder) holder) BOOST_NOEXCEPT_OR_NOTHROW
|
|
383
|
-
: allocator_type(BOOST_MOVE_BASE(allocator_type, holder))
|
|
384
|
-
, m_start(holder.m_start)
|
|
385
|
-
, m_size(holder.m_size)
|
|
386
|
-
, m_capacity(holder.m_capacity)
|
|
387
|
-
{
|
|
388
|
-
holder.m_start = pointer();
|
|
389
|
-
holder.m_size = holder.m_capacity = 0;
|
|
390
|
-
}
|
|
403
|
+
{ this->do_initial_capacity(initial_size); }
|
|
391
404
|
|
|
392
405
|
vector_alloc_holder(initial_capacity_t, pointer p, size_type n)
|
|
393
406
|
BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value)
|
|
@@ -406,43 +419,71 @@ struct vector_alloc_holder
|
|
|
406
419
|
, m_capacity(n)
|
|
407
420
|
{}
|
|
408
421
|
|
|
409
|
-
|
|
422
|
+
template<class AllocConvertible, class SizeType>
|
|
423
|
+
vector_alloc_holder(maybe_initial_capacity_t, pointer p, SizeType initial_capacity, BOOST_FWD_REF(AllocConvertible) a)
|
|
424
|
+
: allocator_type(boost::forward<AllocConvertible>(a))
|
|
425
|
+
//, m_start()
|
|
426
|
+
//Size is initialized here so vector should only call uninitialized_xxx after this
|
|
427
|
+
, m_size()
|
|
428
|
+
, m_capacity(static_cast<stored_size_type>(initial_capacity))
|
|
429
|
+
{ this->do_maybe_initial_capacity(p, initial_capacity); }
|
|
430
|
+
|
|
431
|
+
template<class SizeType>
|
|
432
|
+
vector_alloc_holder(maybe_initial_capacity_t, pointer p, SizeType initial_capacity)
|
|
433
|
+
: allocator_type()
|
|
434
|
+
//, m_start()
|
|
435
|
+
//Size is initialized here so vector should only call uninitialized_xxx after this
|
|
436
|
+
, m_size()
|
|
437
|
+
, m_capacity(static_cast<stored_size_type>(initial_capacity))
|
|
438
|
+
{ this->do_maybe_initial_capacity(p, initial_capacity); }
|
|
439
|
+
|
|
440
|
+
vector_alloc_holder(BOOST_RV_REF(vector_alloc_holder) holder) BOOST_NOEXCEPT_OR_NOTHROW
|
|
441
|
+
: allocator_type(BOOST_MOVE_BASE(allocator_type, holder))
|
|
442
|
+
, m_start(holder.m_start)
|
|
443
|
+
, m_size(holder.m_size)
|
|
444
|
+
, m_capacity(holder.m_capacity)
|
|
445
|
+
{
|
|
446
|
+
holder.m_start = pointer();
|
|
447
|
+
holder.m_size = holder.m_capacity = 0;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
inline ~vector_alloc_holder() BOOST_NOEXCEPT_OR_NOTHROW
|
|
410
451
|
{
|
|
411
452
|
if(this->m_capacity){
|
|
412
453
|
this->deallocate(this->m_start, this->m_capacity);
|
|
413
454
|
}
|
|
414
455
|
}
|
|
415
456
|
|
|
416
|
-
|
|
457
|
+
inline void set_stored_size(size_type s) BOOST_NOEXCEPT_OR_NOTHROW
|
|
417
458
|
{ this->m_size = static_cast<stored_size_type>(s); }
|
|
418
459
|
|
|
419
|
-
|
|
420
|
-
{ this->m_size
|
|
460
|
+
inline void dec_stored_size(size_type s) BOOST_NOEXCEPT_OR_NOTHROW
|
|
461
|
+
{ this->m_size = static_cast<stored_size_type>(this->m_size - s); }
|
|
421
462
|
|
|
422
|
-
|
|
423
|
-
{ this->m_size
|
|
463
|
+
inline void inc_stored_size(size_type s) BOOST_NOEXCEPT_OR_NOTHROW
|
|
464
|
+
{ this->m_size = static_cast<stored_size_type>(this->m_size + s); }
|
|
424
465
|
|
|
425
|
-
|
|
466
|
+
inline void set_stored_capacity(size_type c) BOOST_NOEXCEPT_OR_NOTHROW
|
|
426
467
|
{ this->m_capacity = static_cast<stored_size_type>(c); }
|
|
427
468
|
|
|
428
|
-
|
|
469
|
+
inline pointer allocation_command(boost::container::allocation_type command,
|
|
429
470
|
size_type limit_size, size_type &prefer_in_recvd_out_size, pointer &reuse)
|
|
430
471
|
{
|
|
431
472
|
typedef typename dtl::version<allocator_type>::type alloc_version;
|
|
432
473
|
return this->priv_allocation_command(alloc_version(), command, limit_size, prefer_in_recvd_out_size, reuse);
|
|
433
474
|
}
|
|
434
475
|
|
|
435
|
-
|
|
476
|
+
inline pointer allocate(size_type n)
|
|
436
477
|
{
|
|
437
478
|
const size_type max_alloc = allocator_traits_type::max_size(this->alloc());
|
|
438
479
|
const size_type max = max_alloc <= stored_size_type(-1) ? max_alloc : stored_size_type(-1);
|
|
439
|
-
if (
|
|
480
|
+
if (BOOST_UNLIKELY(max < n) )
|
|
440
481
|
boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
|
|
441
482
|
|
|
442
483
|
return allocator_traits_type::allocate(this->alloc(), n);
|
|
443
484
|
}
|
|
444
485
|
|
|
445
|
-
|
|
486
|
+
inline void deallocate(const pointer &p, size_type n)
|
|
446
487
|
{
|
|
447
488
|
allocator_traits_type::deallocate(this->alloc(), p, n);
|
|
448
489
|
}
|
|
@@ -450,7 +491,7 @@ struct vector_alloc_holder
|
|
|
450
491
|
bool try_expand_fwd(size_type at_least)
|
|
451
492
|
{
|
|
452
493
|
//There is not enough memory, try to expand the old one
|
|
453
|
-
const size_type new_cap = this->capacity() + at_least;
|
|
494
|
+
const size_type new_cap = size_type(this->capacity() + at_least);
|
|
454
495
|
size_type real_cap = new_cap;
|
|
455
496
|
pointer reuse = this->start();
|
|
456
497
|
bool const success = !!this->allocation_command(expand_fwd, new_cap, real_cap, reuse);
|
|
@@ -470,8 +511,8 @@ struct vector_alloc_holder
|
|
|
470
511
|
BOOST_ASSERT(additional_objects > size_type(this->m_capacity - this->m_size));
|
|
471
512
|
size_type max = allocator_traits_type::max_size(this->alloc());
|
|
472
513
|
(clamp_by_stored_size_type<size_type>)(max, stored_size_type());
|
|
473
|
-
const size_type remaining_cap = max - size_type(this->m_capacity);
|
|
474
|
-
const size_type min_additional_cap = additional_objects - size_type(this->m_capacity - this->m_size);
|
|
514
|
+
const size_type remaining_cap = size_type(max - size_type(this->m_capacity));
|
|
515
|
+
const size_type min_additional_cap = size_type(additional_objects - size_type(this->m_capacity - this->m_size));
|
|
475
516
|
|
|
476
517
|
if ( remaining_cap < min_additional_cap )
|
|
477
518
|
boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
|
|
@@ -499,22 +540,22 @@ struct vector_alloc_holder
|
|
|
499
540
|
x.m_size = x.m_capacity = 0;
|
|
500
541
|
}
|
|
501
542
|
|
|
502
|
-
|
|
543
|
+
inline allocator_type &alloc() BOOST_NOEXCEPT_OR_NOTHROW
|
|
503
544
|
{ return *this; }
|
|
504
545
|
|
|
505
|
-
|
|
546
|
+
inline const allocator_type &alloc() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
506
547
|
{ return *this; }
|
|
507
548
|
|
|
508
|
-
|
|
549
|
+
inline pointer start() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
509
550
|
{ return m_start; }
|
|
510
|
-
|
|
551
|
+
inline size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
511
552
|
{ return m_capacity; }
|
|
512
|
-
|
|
553
|
+
inline void start(const pointer &p) BOOST_NOEXCEPT_OR_NOTHROW
|
|
513
554
|
{ m_start = p; }
|
|
514
|
-
|
|
555
|
+
inline void capacity(const size_type &c) BOOST_NOEXCEPT_OR_NOTHROW
|
|
515
556
|
{ BOOST_ASSERT( c <= stored_size_type(-1)); this->set_stored_capacity(c); }
|
|
516
557
|
|
|
517
|
-
static
|
|
558
|
+
static inline void on_capacity_overflow()
|
|
518
559
|
{ }
|
|
519
560
|
|
|
520
561
|
private:
|
|
@@ -539,7 +580,7 @@ struct vector_alloc_holder
|
|
|
539
580
|
BOOST_ASSERT( (command & allocate_new));
|
|
540
581
|
BOOST_ASSERT(!(command & nothrow_allocation));
|
|
541
582
|
//First detect overflow on smaller stored_size_types
|
|
542
|
-
if (limit_size > stored_size_type(-1)){
|
|
583
|
+
if (BOOST_UNLIKELY(limit_size > stored_size_type(-1))){
|
|
543
584
|
boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
|
|
544
585
|
}
|
|
545
586
|
(clamp_by_stored_size_type<size_type>)(prefer_in_recvd_out_size, stored_size_type());
|
|
@@ -554,7 +595,7 @@ struct vector_alloc_holder
|
|
|
554
595
|
pointer &reuse)
|
|
555
596
|
{
|
|
556
597
|
//First detect overflow on smaller stored_size_types
|
|
557
|
-
if (limit_size > stored_size_type(-1)){
|
|
598
|
+
if (BOOST_UNLIKELY(limit_size > stored_size_type(-1))){
|
|
558
599
|
boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
|
|
559
600
|
}
|
|
560
601
|
(clamp_by_stored_size_type<size_type>)(prefer_in_recvd_out_size, stored_size_type());
|
|
@@ -602,7 +643,7 @@ struct vector_alloc_holder<Allocator, StoredSizeType, version_0>
|
|
|
602
643
|
template<class AllocConvertible>
|
|
603
644
|
vector_alloc_holder(vector_uninitialized_size_t, BOOST_FWD_REF(AllocConvertible) a, size_type initial_size)
|
|
604
645
|
: allocator_type(boost::forward<AllocConvertible>(a))
|
|
605
|
-
, m_size(initial_size) //Size is initialized here...
|
|
646
|
+
, m_size(static_cast<stored_size_type>(initial_size)) //Size is initialized here...
|
|
606
647
|
{
|
|
607
648
|
//... and capacity here, so vector, must call uninitialized_xxx in the derived constructor
|
|
608
649
|
this->priv_first_allocation(initial_size);
|
|
@@ -611,7 +652,7 @@ struct vector_alloc_holder<Allocator, StoredSizeType, version_0>
|
|
|
611
652
|
//Constructor, does not throw
|
|
612
653
|
vector_alloc_holder(vector_uninitialized_size_t, size_type initial_size)
|
|
613
654
|
: allocator_type()
|
|
614
|
-
, m_size(initial_size) //Size is initialized here...
|
|
655
|
+
, m_size(static_cast<stored_size_type>(initial_size)) //Size is initialized here...
|
|
615
656
|
{
|
|
616
657
|
//... and capacity here, so vector, must call uninitialized_xxx in the derived constructor
|
|
617
658
|
this->priv_first_allocation(initial_size);
|
|
@@ -640,29 +681,27 @@ struct vector_alloc_holder<Allocator, StoredSizeType, version_0>
|
|
|
640
681
|
(this->alloc(), boost::movelib::to_raw_pointer(holder.start()), n, boost::movelib::to_raw_pointer(this->start()));
|
|
641
682
|
}
|
|
642
683
|
|
|
643
|
-
static
|
|
684
|
+
static inline void on_capacity_overflow()
|
|
644
685
|
{ allocator_type::on_capacity_overflow(); }
|
|
645
686
|
|
|
646
|
-
|
|
687
|
+
inline void set_stored_size(size_type s) BOOST_NOEXCEPT_OR_NOTHROW
|
|
647
688
|
{ this->m_size = static_cast<stored_size_type>(s); }
|
|
648
689
|
|
|
649
|
-
|
|
650
|
-
{ this->m_size
|
|
690
|
+
inline void dec_stored_size(size_type s) BOOST_NOEXCEPT_OR_NOTHROW
|
|
691
|
+
{ this->m_size = static_cast<stored_size_type>(this->m_size - s); }
|
|
651
692
|
|
|
652
|
-
|
|
653
|
-
{ this->m_size
|
|
693
|
+
inline void inc_stored_size(size_type s) BOOST_NOEXCEPT_OR_NOTHROW
|
|
694
|
+
{ this->m_size = static_cast<stored_size_type>(this->m_size + s); }
|
|
654
695
|
|
|
655
|
-
|
|
696
|
+
inline void priv_first_allocation(size_type cap)
|
|
656
697
|
{
|
|
657
698
|
if(cap > allocator_type::internal_capacity){
|
|
658
699
|
on_capacity_overflow();
|
|
659
700
|
}
|
|
660
701
|
}
|
|
661
702
|
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
this->priv_deep_swap(x);
|
|
665
|
-
}
|
|
703
|
+
inline void deep_swap(vector_alloc_holder &x)
|
|
704
|
+
{ this->priv_deep_swap(x); }
|
|
666
705
|
|
|
667
706
|
template<class OtherAllocator, class OtherStoredSizeType, class OtherAllocatorVersion>
|
|
668
707
|
void deep_swap(vector_alloc_holder<OtherAllocator, OtherStoredSizeType, OtherAllocatorVersion> &x)
|
|
@@ -674,30 +713,29 @@ struct vector_alloc_holder<Allocator, StoredSizeType, version_0>
|
|
|
674
713
|
this->priv_deep_swap(x);
|
|
675
714
|
}
|
|
676
715
|
|
|
677
|
-
|
|
716
|
+
inline void swap_resources(vector_alloc_holder &) BOOST_NOEXCEPT_OR_NOTHROW
|
|
678
717
|
{ //Containers with version 0 allocators can't be moved without moving elements one by one
|
|
679
718
|
on_capacity_overflow();
|
|
680
719
|
}
|
|
681
720
|
|
|
682
|
-
|
|
683
|
-
BOOST_CONTAINER_FORCEINLINE void steal_resources(vector_alloc_holder &)
|
|
721
|
+
inline void steal_resources(vector_alloc_holder &)
|
|
684
722
|
{ //Containers with version 0 allocators can't be moved without moving elements one by one
|
|
685
723
|
on_capacity_overflow();
|
|
686
724
|
}
|
|
687
725
|
|
|
688
|
-
|
|
726
|
+
inline allocator_type &alloc() BOOST_NOEXCEPT_OR_NOTHROW
|
|
689
727
|
{ return *this; }
|
|
690
728
|
|
|
691
|
-
|
|
729
|
+
inline const allocator_type &alloc() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
692
730
|
{ return *this; }
|
|
693
731
|
|
|
694
|
-
|
|
732
|
+
inline bool try_expand_fwd(size_type at_least)
|
|
695
733
|
{ return !at_least; }
|
|
696
734
|
|
|
697
|
-
|
|
735
|
+
inline pointer start() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
698
736
|
{ return allocator_type::internal_storage(); }
|
|
699
737
|
|
|
700
|
-
|
|
738
|
+
inline size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
701
739
|
{ return allocator_type::internal_capacity; }
|
|
702
740
|
|
|
703
741
|
stored_size_type m_size;
|
|
@@ -722,6 +760,7 @@ struct vector_alloc_holder<Allocator, StoredSizeType, version_0>
|
|
|
722
760
|
};
|
|
723
761
|
|
|
724
762
|
struct growth_factor_60;
|
|
763
|
+
struct growth_factor_100;
|
|
725
764
|
|
|
726
765
|
template<class Options, class AllocatorSizeType>
|
|
727
766
|
struct get_vector_opt
|
|
@@ -774,8 +813,11 @@ public:
|
|
|
774
813
|
typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<const_iterator>) const_reverse_iterator;
|
|
775
814
|
|
|
776
815
|
private:
|
|
777
|
-
|
|
778
816
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
817
|
+
//`allocator_type::value_type` must match container's `value type`. If this
|
|
818
|
+
//assertion fails, please review your allocator definition.
|
|
819
|
+
BOOST_CONTAINER_STATIC_ASSERT((dtl::is_same<value_type, typename allocator_traits_t::value_type>::value));
|
|
820
|
+
|
|
779
821
|
typedef typename boost::container::
|
|
780
822
|
allocator_traits<allocator_type>::size_type alloc_size_type;
|
|
781
823
|
typedef typename get_vector_opt<Options, alloc_size_type>::type options_type;
|
|
@@ -784,7 +826,7 @@ private:
|
|
|
784
826
|
typedef value_less<T> value_less_t;
|
|
785
827
|
|
|
786
828
|
//If provided the stored_size option must specify a type that is equal or a type that is smaller.
|
|
787
|
-
|
|
829
|
+
BOOST_CONTAINER_STATIC_ASSERT( (sizeof(stored_size_type) < sizeof(alloc_size_type) ||
|
|
788
830
|
dtl::is_same<stored_size_type, alloc_size_type>::value) );
|
|
789
831
|
|
|
790
832
|
typedef typename dtl::version<allocator_type>::type alloc_version;
|
|
@@ -799,36 +841,84 @@ private:
|
|
|
799
841
|
|
|
800
842
|
|
|
801
843
|
protected:
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
{ return alloc_holder_t::is_propagable_from(from_alloc, p, to_alloc
|
|
844
|
+
template <bool PropagateAllocator>
|
|
845
|
+
inline static bool is_propagable_from(const allocator_type &from_alloc, pointer p, const allocator_type &to_alloc)
|
|
846
|
+
{ return alloc_holder_t::template is_propagable_from<PropagateAllocator>(from_alloc, p, to_alloc); }
|
|
805
847
|
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
{ return alloc_holder_t::are_swap_propagable(l_a, l_p, r_a, r_p
|
|
848
|
+
template <bool PropagateAllocator>
|
|
849
|
+
inline static bool are_swap_propagable( const allocator_type &l_a, pointer l_p
|
|
850
|
+
, const allocator_type &r_a, pointer r_p)
|
|
851
|
+
{ return alloc_holder_t::template are_swap_propagable<PropagateAllocator>(l_a, l_p, r_a, r_p); }
|
|
810
852
|
|
|
811
853
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
812
854
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
813
855
|
private:
|
|
814
856
|
BOOST_COPYABLE_AND_MOVABLE(vector)
|
|
815
857
|
typedef vector_value_traits<allocator_type> value_traits;
|
|
816
|
-
typedef constant_iterator<T
|
|
858
|
+
typedef constant_iterator<T> cvalue_iterator;
|
|
817
859
|
|
|
818
860
|
protected:
|
|
819
861
|
|
|
820
|
-
|
|
862
|
+
inline void steal_resources(vector &x)
|
|
821
863
|
{ return this->m_holder.steal_resources(x.m_holder); }
|
|
822
864
|
|
|
865
|
+
inline void protected_set_size(size_type n)
|
|
866
|
+
{ this->m_holder.m_size = static_cast<stored_size_type>(n); }
|
|
867
|
+
|
|
823
868
|
template<class AllocFwd>
|
|
824
|
-
|
|
825
|
-
: m_holder(initial_capacity_t(), initial_memory,
|
|
869
|
+
inline vector(initial_capacity_t, pointer initial_memory, size_type cap, BOOST_FWD_REF(AllocFwd) a)
|
|
870
|
+
: m_holder(initial_capacity_t(), initial_memory, cap, ::boost::forward<AllocFwd>(a))
|
|
826
871
|
{}
|
|
827
872
|
|
|
828
|
-
|
|
829
|
-
|
|
873
|
+
template<class AllocFwd>
|
|
874
|
+
inline vector(initial_capacity_t, pointer initial_memory, size_type cap, BOOST_FWD_REF(AllocFwd) a, vector &x)
|
|
875
|
+
: m_holder(initial_capacity_t(), initial_memory, cap, ::boost::forward<AllocFwd>(a))
|
|
876
|
+
{
|
|
877
|
+
allocator_type &this_al = this->get_stored_allocator();
|
|
878
|
+
if (this->template is_propagable_from<true>(x.get_stored_allocator(), x.data(), this_al)) {
|
|
879
|
+
this->steal_resources(x);
|
|
880
|
+
}
|
|
881
|
+
else {
|
|
882
|
+
const size_type sz = x.size();
|
|
883
|
+
::boost::container::uninitialized_move_alloc_n_source
|
|
884
|
+
( this_al, x.priv_raw_begin(), sz
|
|
885
|
+
//Use launder to stop false positives from -Warray-bounds
|
|
886
|
+
, boost::move_detail::launder(this->priv_raw_begin()));
|
|
887
|
+
this->protected_set_size(sz);
|
|
888
|
+
x.clear();
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
inline vector(initial_capacity_t, pointer initial_memory, size_type cap)
|
|
893
|
+
: m_holder(initial_capacity_t(), initial_memory, cap)
|
|
830
894
|
{}
|
|
831
895
|
|
|
896
|
+
template<class SizeType, class AllocFwd>
|
|
897
|
+
inline vector(maybe_initial_capacity_t, pointer p, SizeType initial_capacity, BOOST_FWD_REF(AllocFwd) a)
|
|
898
|
+
: m_holder(maybe_initial_capacity_t(), p, initial_capacity, ::boost::forward<AllocFwd>(a))
|
|
899
|
+
{
|
|
900
|
+
#ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
|
|
901
|
+
this->num_alloc += size_type(p != pointer());
|
|
902
|
+
#endif
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
template<class SizeType>
|
|
906
|
+
inline vector(maybe_initial_capacity_t, pointer p, SizeType initial_capacity)
|
|
907
|
+
: m_holder(maybe_initial_capacity_t(), p, initial_capacity)
|
|
908
|
+
{
|
|
909
|
+
#ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
|
|
910
|
+
this->num_alloc += size_type(p != pointer());
|
|
911
|
+
#endif
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
template <class U>
|
|
915
|
+
void protected_init_n(const size_type new_size, const U& u)
|
|
916
|
+
{
|
|
917
|
+
BOOST_ASSERT(this->empty());
|
|
918
|
+
this->priv_resize_proxy(u).uninitialized_copy_n_and_update(this->m_holder.alloc(), this->priv_raw_begin(), new_size);
|
|
919
|
+
this->m_holder.set_stored_size(new_size);
|
|
920
|
+
}
|
|
921
|
+
|
|
832
922
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
833
923
|
|
|
834
924
|
public:
|
|
@@ -1027,7 +1117,7 @@ private:
|
|
|
1027
1117
|
//! <b>Complexity</b>: Constant.
|
|
1028
1118
|
vector(BOOST_RV_REF(vector) x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1029
1119
|
: m_holder(boost::move(x.m_holder))
|
|
1030
|
-
{
|
|
1120
|
+
{ BOOST_CONTAINER_STATIC_ASSERT((!allocator_traits_type::is_partially_propagable::value)); }
|
|
1031
1121
|
|
|
1032
1122
|
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1033
1123
|
//! <b>Effects</b>: Constructs a vector that will use a copy of allocator a
|
|
@@ -1096,11 +1186,11 @@ private:
|
|
|
1096
1186
|
vector(BOOST_RV_REF(vector) x, const allocator_type &a)
|
|
1097
1187
|
: m_holder( vector_uninitialized_size, a
|
|
1098
1188
|
//In this allocator move constructor the allocator won't be propagated --v
|
|
1099
|
-
, is_propagable_from(x.get_stored_allocator(), x.m_holder.start(), a
|
|
1189
|
+
, is_propagable_from<false>(x.get_stored_allocator(), x.m_holder.start(), a) ? 0 : x.size()
|
|
1100
1190
|
)
|
|
1101
1191
|
{
|
|
1102
1192
|
//In this allocator move constructor the allocator won't be propagated ---v
|
|
1103
|
-
if(is_propagable_from(x.get_stored_allocator(), x.m_holder.start(), a
|
|
1193
|
+
if(is_propagable_from<false>(x.get_stored_allocator(), x.m_holder.start(), a)){
|
|
1104
1194
|
this->m_holder.steal_resources(x.m_holder);
|
|
1105
1195
|
}
|
|
1106
1196
|
else{
|
|
@@ -1135,7 +1225,7 @@ private:
|
|
|
1135
1225
|
//! <b>Throws</b>: If memory allocation throws or T's copy/move constructor/assignment throws.
|
|
1136
1226
|
//!
|
|
1137
1227
|
//! <b>Complexity</b>: Linear to the number of elements in x.
|
|
1138
|
-
|
|
1228
|
+
inline vector& operator=(BOOST_COPY_ASSIGN_REF(vector) x)
|
|
1139
1229
|
{
|
|
1140
1230
|
if (BOOST_LIKELY(&x != this)){
|
|
1141
1231
|
this->priv_copy_assign(x);
|
|
@@ -1147,7 +1237,7 @@ private:
|
|
|
1147
1237
|
//! <b>Effects</b>: Make *this container contains elements from il.
|
|
1148
1238
|
//!
|
|
1149
1239
|
//! <b>Complexity</b>: Linear to the range [il.begin(), il.end()).
|
|
1150
|
-
|
|
1240
|
+
inline vector& operator=(std::initializer_list<value_type> il)
|
|
1151
1241
|
{
|
|
1152
1242
|
this->assign(il.begin(), il.end());
|
|
1153
1243
|
return *this;
|
|
@@ -1165,7 +1255,7 @@ private:
|
|
|
1165
1255
|
//! <b>Complexity</b>: Constant if allocator_traits_type::
|
|
1166
1256
|
//! propagate_on_container_move_assignment is true or
|
|
1167
1257
|
//! this->get>allocator() == x.get_allocator(). Linear otherwise.
|
|
1168
|
-
|
|
1258
|
+
inline vector& operator=(BOOST_RV_REF(vector) x)
|
|
1169
1259
|
BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value
|
|
1170
1260
|
|| allocator_traits_type::is_always_equal::value)
|
|
1171
1261
|
{
|
|
@@ -1188,7 +1278,7 @@ private:
|
|
|
1188
1278
|
//!
|
|
1189
1279
|
//! <b>Note</b>: Non-standard extension to support static_vector
|
|
1190
1280
|
template<class OtherA>
|
|
1191
|
-
|
|
1281
|
+
inline typename dtl::enable_if_and
|
|
1192
1282
|
< vector&
|
|
1193
1283
|
, dtl::is_version<typename real_allocator<T, OtherA>::type, 0>
|
|
1194
1284
|
, dtl::is_different<typename real_allocator<T, OtherA>::type, allocator_type>
|
|
@@ -1210,7 +1300,7 @@ private:
|
|
|
1210
1300
|
//!
|
|
1211
1301
|
//! <b>Note</b>: Non-standard extension to support static_vector
|
|
1212
1302
|
template<class OtherA>
|
|
1213
|
-
|
|
1303
|
+
inline typename dtl::enable_if_and
|
|
1214
1304
|
< vector&
|
|
1215
1305
|
, dtl::is_version<typename real_allocator<T, OtherA>::type, 0>
|
|
1216
1306
|
, dtl::is_different<typename real_allocator<T, OtherA>::type, allocator_type>
|
|
@@ -1267,7 +1357,7 @@ private:
|
|
|
1267
1357
|
//! <b>Throws</b>: If memory allocation throws or
|
|
1268
1358
|
//! T's constructor from dereferencing iniializer_list iterator throws.
|
|
1269
1359
|
//!
|
|
1270
|
-
|
|
1360
|
+
inline void assign(std::initializer_list<T> il)
|
|
1271
1361
|
{
|
|
1272
1362
|
this->assign(il.begin(), il.end());
|
|
1273
1363
|
}
|
|
@@ -1290,10 +1380,11 @@ private:
|
|
|
1290
1380
|
>::type * = 0)
|
|
1291
1381
|
)
|
|
1292
1382
|
{
|
|
1383
|
+
typedef typename iter_size<FwdIt>::type it_size_type;
|
|
1293
1384
|
//For Fwd iterators the standard only requires EmplaceConstructible and assignable from *first
|
|
1294
1385
|
//so we can't do any backwards allocation
|
|
1295
|
-
const
|
|
1296
|
-
if (sz > size_type(-1)){
|
|
1386
|
+
const it_size_type sz = boost::container::iterator_udistance(first, last);
|
|
1387
|
+
if (BOOST_UNLIKELY(sz > size_type(-1))){
|
|
1297
1388
|
boost::container::throw_length_error("vector::assign, FwdIt's max length reached");
|
|
1298
1389
|
}
|
|
1299
1390
|
|
|
@@ -1337,7 +1428,7 @@ private:
|
|
|
1337
1428
|
//! T's copy/move constructor/assignment throws.
|
|
1338
1429
|
//!
|
|
1339
1430
|
//! <b>Complexity</b>: Linear to n.
|
|
1340
|
-
|
|
1431
|
+
inline void assign(size_type n, const value_type& val)
|
|
1341
1432
|
{ this->assign(cvalue_iterator(val, n), cvalue_iterator()); }
|
|
1342
1433
|
|
|
1343
1434
|
//! <b>Effects</b>: Returns a copy of the internal allocator.
|
|
@@ -1345,7 +1436,7 @@ private:
|
|
|
1345
1436
|
//! <b>Throws</b>: If allocator's copy constructor throws.
|
|
1346
1437
|
//!
|
|
1347
1438
|
//! <b>Complexity</b>: Constant.
|
|
1348
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1439
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1349
1440
|
{ return this->m_holder.alloc(); }
|
|
1350
1441
|
|
|
1351
1442
|
//! <b>Effects</b>: Returns a reference to the internal allocator.
|
|
@@ -1355,7 +1446,7 @@ private:
|
|
|
1355
1446
|
//! <b>Complexity</b>: Constant.
|
|
1356
1447
|
//!
|
|
1357
1448
|
//! <b>Note</b>: Non-standard extension.
|
|
1358
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1449
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1359
1450
|
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1360
1451
|
{ return this->m_holder.alloc(); }
|
|
1361
1452
|
|
|
@@ -1366,7 +1457,7 @@ private:
|
|
|
1366
1457
|
//! <b>Complexity</b>: Constant.
|
|
1367
1458
|
//!
|
|
1368
1459
|
//! <b>Note</b>: Non-standard extension.
|
|
1369
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1460
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1370
1461
|
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1371
1462
|
{ return this->m_holder.alloc(); }
|
|
1372
1463
|
|
|
@@ -1381,7 +1472,7 @@ private:
|
|
|
1381
1472
|
//! <b>Throws</b>: Nothing.
|
|
1382
1473
|
//!
|
|
1383
1474
|
//! <b>Complexity</b>: Constant.
|
|
1384
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1475
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1385
1476
|
{ return iterator(this->m_holder.start()); }
|
|
1386
1477
|
|
|
1387
1478
|
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the vector.
|
|
@@ -1389,7 +1480,7 @@ private:
|
|
|
1389
1480
|
//! <b>Throws</b>: Nothing.
|
|
1390
1481
|
//!
|
|
1391
1482
|
//! <b>Complexity</b>: Constant.
|
|
1392
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1483
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1393
1484
|
{ return const_iterator(this->m_holder.start()); }
|
|
1394
1485
|
|
|
1395
1486
|
//! <b>Effects</b>: Returns an iterator to the end of the vector.
|
|
@@ -1397,10 +1488,10 @@ private:
|
|
|
1397
1488
|
//! <b>Throws</b>: Nothing.
|
|
1398
1489
|
//!
|
|
1399
1490
|
//! <b>Complexity</b>: Constant.
|
|
1400
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1491
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1401
1492
|
{
|
|
1402
1493
|
iterator it (this->m_holder.start());
|
|
1403
|
-
it += this->m_holder.m_size;
|
|
1494
|
+
it += difference_type(this->m_holder.m_size);
|
|
1404
1495
|
return it; //Adding zero to null pointer is allowed (non-UB)
|
|
1405
1496
|
}
|
|
1406
1497
|
|
|
@@ -1409,7 +1500,7 @@ private:
|
|
|
1409
1500
|
//! <b>Throws</b>: Nothing.
|
|
1410
1501
|
//!
|
|
1411
1502
|
//! <b>Complexity</b>: Constant.
|
|
1412
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1503
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1413
1504
|
{ return this->cend(); }
|
|
1414
1505
|
|
|
1415
1506
|
//! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
|
|
@@ -1418,7 +1509,7 @@ private:
|
|
|
1418
1509
|
//! <b>Throws</b>: Nothing.
|
|
1419
1510
|
//!
|
|
1420
1511
|
//! <b>Complexity</b>: Constant.
|
|
1421
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1512
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1422
1513
|
{ return reverse_iterator(this->end()); }
|
|
1423
1514
|
|
|
1424
1515
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
|
@@ -1427,7 +1518,7 @@ private:
|
|
|
1427
1518
|
//! <b>Throws</b>: Nothing.
|
|
1428
1519
|
//!
|
|
1429
1520
|
//! <b>Complexity</b>: Constant.
|
|
1430
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1521
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1431
1522
|
{ return this->crbegin(); }
|
|
1432
1523
|
|
|
1433
1524
|
//! <b>Effects</b>: Returns a reverse_iterator pointing to the end
|
|
@@ -1436,7 +1527,7 @@ private:
|
|
|
1436
1527
|
//! <b>Throws</b>: Nothing.
|
|
1437
1528
|
//!
|
|
1438
1529
|
//! <b>Complexity</b>: Constant.
|
|
1439
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1530
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1440
1531
|
{ return reverse_iterator(this->begin()); }
|
|
1441
1532
|
|
|
1442
1533
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
|
@@ -1445,7 +1536,7 @@ private:
|
|
|
1445
1536
|
//! <b>Throws</b>: Nothing.
|
|
1446
1537
|
//!
|
|
1447
1538
|
//! <b>Complexity</b>: Constant.
|
|
1448
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1539
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1449
1540
|
{ return this->crend(); }
|
|
1450
1541
|
|
|
1451
1542
|
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the vector.
|
|
@@ -1453,7 +1544,7 @@ private:
|
|
|
1453
1544
|
//! <b>Throws</b>: Nothing.
|
|
1454
1545
|
//!
|
|
1455
1546
|
//! <b>Complexity</b>: Constant.
|
|
1456
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1547
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1457
1548
|
{ return const_iterator(this->m_holder.start()); }
|
|
1458
1549
|
|
|
1459
1550
|
//! <b>Effects</b>: Returns a const_iterator to the end of the vector.
|
|
@@ -1461,10 +1552,10 @@ private:
|
|
|
1461
1552
|
//! <b>Throws</b>: Nothing.
|
|
1462
1553
|
//!
|
|
1463
1554
|
//! <b>Complexity</b>: Constant.
|
|
1464
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1555
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1465
1556
|
{
|
|
1466
1557
|
const_iterator it (this->m_holder.start());
|
|
1467
|
-
it += this->m_holder.m_size;
|
|
1558
|
+
it += difference_type(this->m_holder.m_size);
|
|
1468
1559
|
return it; //Adding zero to null pointer is allowed (non-UB)
|
|
1469
1560
|
}
|
|
1470
1561
|
|
|
@@ -1474,7 +1565,7 @@ private:
|
|
|
1474
1565
|
//! <b>Throws</b>: Nothing.
|
|
1475
1566
|
//!
|
|
1476
1567
|
//! <b>Complexity</b>: Constant.
|
|
1477
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1568
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1478
1569
|
{ return const_reverse_iterator(this->end());}
|
|
1479
1570
|
|
|
1480
1571
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
|
@@ -1483,7 +1574,7 @@ private:
|
|
|
1483
1574
|
//! <b>Throws</b>: Nothing.
|
|
1484
1575
|
//!
|
|
1485
1576
|
//! <b>Complexity</b>: Constant.
|
|
1486
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1577
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1487
1578
|
{ return const_reverse_iterator(this->begin()); }
|
|
1488
1579
|
|
|
1489
1580
|
//////////////////////////////////////////////
|
|
@@ -1497,7 +1588,7 @@ private:
|
|
|
1497
1588
|
//! <b>Throws</b>: Nothing.
|
|
1498
1589
|
//!
|
|
1499
1590
|
//! <b>Complexity</b>: Constant.
|
|
1500
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1591
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1501
1592
|
{ return !this->m_holder.m_size; }
|
|
1502
1593
|
|
|
1503
1594
|
//! <b>Effects</b>: Returns the number of the elements contained in the vector.
|
|
@@ -1505,7 +1596,7 @@ private:
|
|
|
1505
1596
|
//! <b>Throws</b>: Nothing.
|
|
1506
1597
|
//!
|
|
1507
1598
|
//! <b>Complexity</b>: Constant.
|
|
1508
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1599
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1509
1600
|
{ return this->m_holder.m_size; }
|
|
1510
1601
|
|
|
1511
1602
|
//! <b>Effects</b>: Returns the largest possible size of the vector.
|
|
@@ -1513,7 +1604,7 @@ private:
|
|
|
1513
1604
|
//! <b>Throws</b>: Nothing.
|
|
1514
1605
|
//!
|
|
1515
1606
|
//! <b>Complexity</b>: Constant.
|
|
1516
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1607
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1517
1608
|
{ return allocator_traits_type::max_size(this->m_holder.alloc()); }
|
|
1518
1609
|
|
|
1519
1610
|
//! <b>Effects</b>: Inserts or erases elements at the end such that
|
|
@@ -1522,7 +1613,7 @@ private:
|
|
|
1522
1613
|
//! <b>Throws</b>: If memory allocation throws, or T's copy/move or value initialization throws.
|
|
1523
1614
|
//!
|
|
1524
1615
|
//! <b>Complexity</b>: Linear to the difference between size() and new_size.
|
|
1525
|
-
|
|
1616
|
+
inline void resize(size_type new_size)
|
|
1526
1617
|
{ this->priv_resize(new_size, value_init, alloc_version()); }
|
|
1527
1618
|
|
|
1528
1619
|
//! <b>Effects</b>: Inserts or erases elements at the end such that
|
|
@@ -1533,7 +1624,7 @@ private:
|
|
|
1533
1624
|
//! <b>Complexity</b>: Linear to the difference between size() and new_size.
|
|
1534
1625
|
//!
|
|
1535
1626
|
//! <b>Note</b>: Non-standard extension
|
|
1536
|
-
|
|
1627
|
+
inline void resize(size_type new_size, default_init_t)
|
|
1537
1628
|
{ this->priv_resize(new_size, default_init, alloc_version()); }
|
|
1538
1629
|
|
|
1539
1630
|
//! <b>Effects</b>: Inserts or erases elements at the end such that
|
|
@@ -1542,7 +1633,7 @@ private:
|
|
|
1542
1633
|
//! <b>Throws</b>: If memory allocation throws, or T's copy/move constructor throws.
|
|
1543
1634
|
//!
|
|
1544
1635
|
//! <b>Complexity</b>: Linear to the difference between size() and new_size.
|
|
1545
|
-
|
|
1636
|
+
inline void resize(size_type new_size, const T& x)
|
|
1546
1637
|
{ this->priv_resize(new_size, x, alloc_version()); }
|
|
1547
1638
|
|
|
1548
1639
|
//! <b>Effects</b>: Number of elements for which memory has been allocated.
|
|
@@ -1551,7 +1642,7 @@ private:
|
|
|
1551
1642
|
//! <b>Throws</b>: Nothing.
|
|
1552
1643
|
//!
|
|
1553
1644
|
//! <b>Complexity</b>: Constant.
|
|
1554
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1645
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1555
1646
|
{ return this->m_holder.capacity(); }
|
|
1556
1647
|
|
|
1557
1648
|
//! <b>Effects</b>: If n is less than or equal to capacity(), this call has no
|
|
@@ -1560,7 +1651,7 @@ private:
|
|
|
1560
1651
|
//! n; otherwise, capacity() is unchanged. In either case, size() is unchanged.
|
|
1561
1652
|
//!
|
|
1562
1653
|
//! <b>Throws</b>: If memory allocation allocation throws or T's copy/move constructor throws.
|
|
1563
|
-
|
|
1654
|
+
inline void reserve(size_type new_cap)
|
|
1564
1655
|
{
|
|
1565
1656
|
if (this->capacity() < new_cap){
|
|
1566
1657
|
this->priv_move_to_new_buffer(new_cap, alloc_version());
|
|
@@ -1573,7 +1664,7 @@ private:
|
|
|
1573
1664
|
//! <b>Throws</b>: If memory allocation throws, or T's copy/move constructor throws.
|
|
1574
1665
|
//!
|
|
1575
1666
|
//! <b>Complexity</b>: Linear to size().
|
|
1576
|
-
|
|
1667
|
+
inline void shrink_to_fit()
|
|
1577
1668
|
{ this->priv_shrink_to_fit(alloc_version()); }
|
|
1578
1669
|
|
|
1579
1670
|
//////////////////////////////////////////////
|
|
@@ -1590,7 +1681,7 @@ private:
|
|
|
1590
1681
|
//! <b>Throws</b>: Nothing.
|
|
1591
1682
|
//!
|
|
1592
1683
|
//! <b>Complexity</b>: Constant.
|
|
1593
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1684
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1594
1685
|
{
|
|
1595
1686
|
BOOST_ASSERT(!this->empty());
|
|
1596
1687
|
return *this->m_holder.start();
|
|
@@ -1604,7 +1695,7 @@ private:
|
|
|
1604
1695
|
//! <b>Throws</b>: Nothing.
|
|
1605
1696
|
//!
|
|
1606
1697
|
//! <b>Complexity</b>: Constant.
|
|
1607
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1698
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1608
1699
|
{
|
|
1609
1700
|
BOOST_ASSERT(!this->empty());
|
|
1610
1701
|
return *this->m_holder.start();
|
|
@@ -1618,10 +1709,10 @@ private:
|
|
|
1618
1709
|
//! <b>Throws</b>: Nothing.
|
|
1619
1710
|
//!
|
|
1620
1711
|
//! <b>Complexity</b>: Constant.
|
|
1621
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1712
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1622
1713
|
{
|
|
1623
1714
|
BOOST_ASSERT(!this->empty());
|
|
1624
|
-
return this->m_holder.start()[this->m_holder.m_size -
|
|
1715
|
+
return this->m_holder.start()[difference_type(this->m_holder.m_size - 1u)];
|
|
1625
1716
|
}
|
|
1626
1717
|
|
|
1627
1718
|
//! <b>Requires</b>: !empty()
|
|
@@ -1632,7 +1723,7 @@ private:
|
|
|
1632
1723
|
//! <b>Throws</b>: Nothing.
|
|
1633
1724
|
//!
|
|
1634
1725
|
//! <b>Complexity</b>: Constant.
|
|
1635
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1726
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1636
1727
|
{
|
|
1637
1728
|
BOOST_ASSERT(!this->empty());
|
|
1638
1729
|
return this->m_holder.start()[this->m_holder.m_size - 1];
|
|
@@ -1646,10 +1737,10 @@ private:
|
|
|
1646
1737
|
//! <b>Throws</b>: Nothing.
|
|
1647
1738
|
//!
|
|
1648
1739
|
//! <b>Complexity</b>: Constant.
|
|
1649
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1740
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1650
1741
|
{
|
|
1651
1742
|
BOOST_ASSERT(this->m_holder.m_size > n);
|
|
1652
|
-
return this->m_holder.start()[n];
|
|
1743
|
+
return this->m_holder.start()[difference_type(n)];
|
|
1653
1744
|
}
|
|
1654
1745
|
|
|
1655
1746
|
//! <b>Requires</b>: size() > n.
|
|
@@ -1660,7 +1751,7 @@ private:
|
|
|
1660
1751
|
//! <b>Throws</b>: Nothing.
|
|
1661
1752
|
//!
|
|
1662
1753
|
//! <b>Complexity</b>: Constant.
|
|
1663
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1754
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1664
1755
|
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1665
1756
|
{
|
|
1666
1757
|
BOOST_ASSERT(this->m_holder.m_size > n);
|
|
@@ -1678,11 +1769,11 @@ private:
|
|
|
1678
1769
|
//! <b>Complexity</b>: Constant.
|
|
1679
1770
|
//!
|
|
1680
1771
|
//! <b>Note</b>: Non-standard extension
|
|
1681
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1772
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1682
1773
|
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1683
1774
|
{
|
|
1684
1775
|
BOOST_ASSERT(this->m_holder.m_size >= n);
|
|
1685
|
-
return iterator(this->m_holder.start()+n);
|
|
1776
|
+
return iterator(this->m_holder.start()+difference_type(n));
|
|
1686
1777
|
}
|
|
1687
1778
|
|
|
1688
1779
|
//! <b>Requires</b>: size() >= n.
|
|
@@ -1696,11 +1787,11 @@ private:
|
|
|
1696
1787
|
//! <b>Complexity</b>: Constant.
|
|
1697
1788
|
//!
|
|
1698
1789
|
//! <b>Note</b>: Non-standard extension
|
|
1699
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1790
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1700
1791
|
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1701
1792
|
{
|
|
1702
1793
|
BOOST_ASSERT(this->m_holder.m_size >= n);
|
|
1703
|
-
return const_iterator(this->m_holder.start()+n);
|
|
1794
|
+
return const_iterator(this->m_holder.start()+difference_type(n));
|
|
1704
1795
|
}
|
|
1705
1796
|
|
|
1706
1797
|
//! <b>Requires</b>: begin() <= p <= end().
|
|
@@ -1713,7 +1804,7 @@ private:
|
|
|
1713
1804
|
//! <b>Complexity</b>: Constant.
|
|
1714
1805
|
//!
|
|
1715
1806
|
//! <b>Note</b>: Non-standard extension
|
|
1716
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1807
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1717
1808
|
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1718
1809
|
{
|
|
1719
1810
|
//Range check assert done in priv_index_of
|
|
@@ -1730,7 +1821,7 @@ private:
|
|
|
1730
1821
|
//! <b>Complexity</b>: Constant.
|
|
1731
1822
|
//!
|
|
1732
1823
|
//! <b>Note</b>: Non-standard extension
|
|
1733
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1824
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1734
1825
|
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1735
1826
|
{
|
|
1736
1827
|
//Range check assert done in priv_index_of
|
|
@@ -1745,10 +1836,10 @@ private:
|
|
|
1745
1836
|
//! <b>Throws</b>: range_error if n >= size()
|
|
1746
1837
|
//!
|
|
1747
1838
|
//! <b>Complexity</b>: Constant.
|
|
1748
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1839
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline reference at(size_type n)
|
|
1749
1840
|
{
|
|
1750
1841
|
this->priv_throw_if_out_of_range(n);
|
|
1751
|
-
return this->m_holder.start()[n];
|
|
1842
|
+
return this->m_holder.start()[difference_type(n)];
|
|
1752
1843
|
}
|
|
1753
1844
|
|
|
1754
1845
|
//! <b>Requires</b>: size() > n.
|
|
@@ -1759,7 +1850,7 @@ private:
|
|
|
1759
1850
|
//! <b>Throws</b>: range_error if n >= size()
|
|
1760
1851
|
//!
|
|
1761
1852
|
//! <b>Complexity</b>: Constant.
|
|
1762
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1853
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const_reference at(size_type n) const
|
|
1763
1854
|
{
|
|
1764
1855
|
this->priv_throw_if_out_of_range(n);
|
|
1765
1856
|
return this->m_holder.start()[n];
|
|
@@ -1777,7 +1868,7 @@ private:
|
|
|
1777
1868
|
//! <b>Throws</b>: Nothing.
|
|
1778
1869
|
//!
|
|
1779
1870
|
//! <b>Complexity</b>: Constant.
|
|
1780
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1871
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline T* data() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1781
1872
|
{ return this->priv_raw_begin(); }
|
|
1782
1873
|
|
|
1783
1874
|
//! <b>Returns</b>: A pointer such that [data(),data() + size()) is a valid range.
|
|
@@ -1786,7 +1877,7 @@ private:
|
|
|
1786
1877
|
//! <b>Throws</b>: Nothing.
|
|
1787
1878
|
//!
|
|
1788
1879
|
//! <b>Complexity</b>: Constant.
|
|
1789
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1880
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline const T * data() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1790
1881
|
{ return this->priv_raw_begin(); }
|
|
1791
1882
|
|
|
1792
1883
|
//////////////////////////////////////////////
|
|
@@ -1806,7 +1897,7 @@ private:
|
|
|
1806
1897
|
//!
|
|
1807
1898
|
//! <b>Complexity</b>: Amortized constant time.
|
|
1808
1899
|
template<class ...Args>
|
|
1809
|
-
|
|
1900
|
+
inline reference emplace_back(BOOST_FWD_REF(Args)...args)
|
|
1810
1901
|
{
|
|
1811
1902
|
T* const p = this->priv_raw_end();
|
|
1812
1903
|
if (BOOST_LIKELY(this->room_enough())){
|
|
@@ -1816,7 +1907,7 @@ private:
|
|
|
1816
1907
|
return *p;
|
|
1817
1908
|
}
|
|
1818
1909
|
else{
|
|
1819
|
-
typedef dtl::insert_emplace_proxy<allocator_type,
|
|
1910
|
+
typedef dtl::insert_emplace_proxy<allocator_type, Args...> proxy_t;
|
|
1820
1911
|
return *this->priv_insert_forward_range_no_capacity
|
|
1821
1912
|
(p, 1, proxy_t(::boost::forward<Args>(args)...), alloc_version());
|
|
1822
1913
|
}
|
|
@@ -1831,7 +1922,7 @@ private:
|
|
|
1831
1922
|
//!
|
|
1832
1923
|
//! <b>Note</b>: Non-standard extension.
|
|
1833
1924
|
template<class ...Args>
|
|
1834
|
-
|
|
1925
|
+
inline bool stable_emplace_back(BOOST_FWD_REF(Args)...args)
|
|
1835
1926
|
{
|
|
1836
1927
|
const bool is_room_enough = this->room_enough() || (alloc_version::value == 2 && this->m_holder.try_expand_fwd(1u));
|
|
1837
1928
|
if (BOOST_LIKELY(is_room_enough)){
|
|
@@ -1853,11 +1944,11 @@ private:
|
|
|
1853
1944
|
//! <b>Complexity</b>: If position is end(), amortized constant time
|
|
1854
1945
|
//! Linear time otherwise.
|
|
1855
1946
|
template<class ...Args>
|
|
1856
|
-
|
|
1947
|
+
inline iterator emplace(const_iterator position, BOOST_FWD_REF(Args) ...args)
|
|
1857
1948
|
{
|
|
1858
1949
|
BOOST_ASSERT(this->priv_in_range_or_end(position));
|
|
1859
1950
|
//Just call more general insert(pos, size, value) and return iterator
|
|
1860
|
-
typedef dtl::insert_emplace_proxy<allocator_type,
|
|
1951
|
+
typedef dtl::insert_emplace_proxy<allocator_type, Args...> proxy_t;
|
|
1861
1952
|
return this->priv_insert_forward_range( vector_iterator_get_ptr(position), 1
|
|
1862
1953
|
, proxy_t(::boost::forward<Args>(args)...));
|
|
1863
1954
|
}
|
|
@@ -1866,7 +1957,7 @@ private:
|
|
|
1866
1957
|
|
|
1867
1958
|
#define BOOST_CONTAINER_VECTOR_EMPLACE_CODE(N) \
|
|
1868
1959
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1869
|
-
|
|
1960
|
+
inline reference emplace_back(BOOST_MOVE_UREF##N)\
|
|
1870
1961
|
{\
|
|
1871
1962
|
T* const p = this->priv_raw_end();\
|
|
1872
1963
|
if (BOOST_LIKELY(this->room_enough())){\
|
|
@@ -1876,14 +1967,14 @@ private:
|
|
|
1876
1967
|
return *p;\
|
|
1877
1968
|
}\
|
|
1878
1969
|
else{\
|
|
1879
|
-
typedef dtl::insert_emplace_proxy_arg##N<allocator_type
|
|
1970
|
+
typedef dtl::insert_emplace_proxy_arg##N<allocator_type BOOST_MOVE_I##N BOOST_MOVE_TARG##N> proxy_t;\
|
|
1880
1971
|
return *this->priv_insert_forward_range_no_capacity\
|
|
1881
1972
|
( p, 1, proxy_t(BOOST_MOVE_FWD##N), alloc_version());\
|
|
1882
1973
|
}\
|
|
1883
1974
|
}\
|
|
1884
1975
|
\
|
|
1885
1976
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1886
|
-
|
|
1977
|
+
inline bool stable_emplace_back(BOOST_MOVE_UREF##N)\
|
|
1887
1978
|
{\
|
|
1888
1979
|
const bool is_room_enough = this->room_enough() || (alloc_version::value == 2 && this->m_holder.try_expand_fwd(1u));\
|
|
1889
1980
|
if (BOOST_LIKELY(is_room_enough)){\
|
|
@@ -1895,10 +1986,10 @@ private:
|
|
|
1895
1986
|
}\
|
|
1896
1987
|
\
|
|
1897
1988
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1898
|
-
|
|
1989
|
+
inline iterator emplace(const_iterator pos BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1899
1990
|
{\
|
|
1900
1991
|
BOOST_ASSERT(this->priv_in_range_or_end(pos));\
|
|
1901
|
-
typedef dtl::insert_emplace_proxy_arg##N<allocator_type
|
|
1992
|
+
typedef dtl::insert_emplace_proxy_arg##N<allocator_type BOOST_MOVE_I##N BOOST_MOVE_TARG##N> proxy_t;\
|
|
1902
1993
|
return this->priv_insert_forward_range(vector_iterator_get_ptr(pos), 1, proxy_t(BOOST_MOVE_FWD##N));\
|
|
1903
1994
|
}\
|
|
1904
1995
|
//
|
|
@@ -1961,10 +2052,10 @@ private:
|
|
|
1961
2052
|
//! <b>Throws</b>: If memory allocation throws or T's copy/move constructor throws.
|
|
1962
2053
|
//!
|
|
1963
2054
|
//! <b>Complexity</b>: Linear to n.
|
|
1964
|
-
|
|
2055
|
+
inline iterator insert(const_iterator p, size_type n, const T& x)
|
|
1965
2056
|
{
|
|
1966
2057
|
BOOST_ASSERT(this->priv_in_range_or_end(p));
|
|
1967
|
-
dtl::insert_n_copies_proxy<allocator_type
|
|
2058
|
+
dtl::insert_n_copies_proxy<allocator_type> proxy(x);
|
|
1968
2059
|
return this->priv_insert_forward_range(vector_iterator_get_ptr(p), n, proxy);
|
|
1969
2060
|
}
|
|
1970
2061
|
|
|
@@ -1990,18 +2081,18 @@ private:
|
|
|
1990
2081
|
)
|
|
1991
2082
|
{
|
|
1992
2083
|
BOOST_ASSERT(this->priv_in_range_or_end(pos));
|
|
1993
|
-
const size_type n_pos = pos - this->cbegin();
|
|
2084
|
+
const size_type n_pos = size_type(pos - this->cbegin());
|
|
1994
2085
|
iterator it(vector_iterator_get_ptr(pos));
|
|
1995
2086
|
for(;first != last; ++first){
|
|
1996
2087
|
it = this->emplace(it, *first);
|
|
1997
2088
|
++it;
|
|
1998
2089
|
}
|
|
1999
|
-
return iterator(this->m_holder.start() + n_pos);
|
|
2090
|
+
return iterator(this->m_holder.start() + difference_type(n_pos));
|
|
2000
2091
|
}
|
|
2001
2092
|
|
|
2002
2093
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
2003
2094
|
template <class FwdIt>
|
|
2004
|
-
|
|
2095
|
+
inline iterator insert(const_iterator pos, FwdIt first, FwdIt last
|
|
2005
2096
|
, typename dtl::disable_if_or
|
|
2006
2097
|
< void
|
|
2007
2098
|
, dtl::is_convertible<FwdIt, size_type>
|
|
@@ -2009,13 +2100,14 @@ private:
|
|
|
2009
2100
|
>::type * = 0
|
|
2010
2101
|
)
|
|
2011
2102
|
{
|
|
2103
|
+
typedef typename iter_size<FwdIt>::type it_size_type;
|
|
2012
2104
|
BOOST_ASSERT(this->priv_in_range_or_end(pos));
|
|
2013
|
-
const
|
|
2014
|
-
if (sz > size_type(-1)){
|
|
2105
|
+
const it_size_type sz = boost::container::iterator_udistance(first, last);
|
|
2106
|
+
if (BOOST_UNLIKELY(sz > size_type(-1))){
|
|
2015
2107
|
boost::container::throw_length_error("vector::insert, FwdIt's max length reached");
|
|
2016
2108
|
}
|
|
2017
2109
|
|
|
2018
|
-
dtl::insert_range_proxy<allocator_type, FwdIt
|
|
2110
|
+
dtl::insert_range_proxy<allocator_type, FwdIt> proxy(first);
|
|
2019
2111
|
return this->priv_insert_forward_range(vector_iterator_get_ptr(pos), static_cast<size_type>(sz), proxy);
|
|
2020
2112
|
}
|
|
2021
2113
|
#endif
|
|
@@ -2037,13 +2129,13 @@ private:
|
|
|
2037
2129
|
//! a non-standard extension.
|
|
2038
2130
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
2039
2131
|
template <class InIt>
|
|
2040
|
-
|
|
2132
|
+
inline iterator insert(const_iterator pos, size_type num, InIt first, InIt last)
|
|
2041
2133
|
{
|
|
2042
2134
|
BOOST_ASSERT(this->priv_in_range_or_end(pos));
|
|
2043
2135
|
BOOST_ASSERT(dtl::is_input_iterator<InIt>::value ||
|
|
2044
|
-
num ==
|
|
2136
|
+
num == boost::container::iterator_udistance(first, last));
|
|
2045
2137
|
(void)last;
|
|
2046
|
-
dtl::insert_range_proxy<allocator_type, InIt
|
|
2138
|
+
dtl::insert_range_proxy<allocator_type, InIt> proxy(first);
|
|
2047
2139
|
return this->priv_insert_forward_range(vector_iterator_get_ptr(pos), num, proxy);
|
|
2048
2140
|
}
|
|
2049
2141
|
#endif
|
|
@@ -2056,7 +2148,7 @@ private:
|
|
|
2056
2148
|
//! <b>Returns</b>: an iterator to the first inserted element or position if first == last.
|
|
2057
2149
|
//!
|
|
2058
2150
|
//! <b>Complexity</b>: Linear to the range [il.begin(), il.end()).
|
|
2059
|
-
|
|
2151
|
+
inline iterator insert(const_iterator position, std::initializer_list<value_type> il)
|
|
2060
2152
|
{
|
|
2061
2153
|
//Assertion done in insert()
|
|
2062
2154
|
return this->insert(position, il.begin(), il.end());
|
|
@@ -2068,7 +2160,7 @@ private:
|
|
|
2068
2160
|
//! <b>Throws</b>: Nothing.
|
|
2069
2161
|
//!
|
|
2070
2162
|
//! <b>Complexity</b>: Constant time.
|
|
2071
|
-
|
|
2163
|
+
inline void pop_back() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2072
2164
|
{
|
|
2073
2165
|
BOOST_ASSERT(!this->empty());
|
|
2074
2166
|
//Destroy last element
|
|
@@ -2130,7 +2222,7 @@ private:
|
|
|
2130
2222
|
//! <b>Throws</b>: Nothing.
|
|
2131
2223
|
//!
|
|
2132
2224
|
//! <b>Complexity</b>: Constant.
|
|
2133
|
-
|
|
2225
|
+
inline void swap(vector& x)
|
|
2134
2226
|
BOOST_NOEXCEPT_IF( ((allocator_traits_type::propagate_on_container_swap::value
|
|
2135
2227
|
|| allocator_traits_type::is_always_equal::value) &&
|
|
2136
2228
|
!dtl::is_version<allocator_type, 0>::value))
|
|
@@ -2148,7 +2240,7 @@ private:
|
|
|
2148
2240
|
//!
|
|
2149
2241
|
//! <b>Note</b>: Non-standard extension to support static_vector
|
|
2150
2242
|
template<class OtherA>
|
|
2151
|
-
|
|
2243
|
+
inline void swap(vector<T, OtherA, Options> & x
|
|
2152
2244
|
, typename dtl::enable_if_and
|
|
2153
2245
|
< void
|
|
2154
2246
|
, dtl::is_version<typename real_allocator<T, OtherA>::type, 0>
|
|
@@ -2159,24 +2251,24 @@ private:
|
|
|
2159
2251
|
|
|
2160
2252
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
2161
2253
|
|
|
2162
|
-
//! <b>Effects</b>: Erases all the elements of the vector.
|
|
2254
|
+
//! <b>Effects</b>: Erases all the elements of the vector. Leaves the capacity() of the vector unchanged.
|
|
2163
2255
|
//!
|
|
2164
2256
|
//! <b>Throws</b>: Nothing.
|
|
2165
2257
|
//!
|
|
2166
2258
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2167
|
-
|
|
2259
|
+
inline void clear() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2168
2260
|
{ this->priv_destroy_all(); }
|
|
2169
2261
|
|
|
2170
2262
|
//! <b>Effects</b>: Returns true if x and y are equal
|
|
2171
2263
|
//!
|
|
2172
2264
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2173
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2265
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline friend bool operator==(const vector& x, const vector& y)
|
|
2174
2266
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
|
2175
2267
|
|
|
2176
2268
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
|
2177
2269
|
//!
|
|
2178
2270
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2179
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2271
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline friend bool operator!=(const vector& x, const vector& y)
|
|
2180
2272
|
{ return !(x == y); }
|
|
2181
2273
|
|
|
2182
2274
|
//! <b>Effects</b>: Returns true if x is less than y
|
|
@@ -2188,25 +2280,25 @@ private:
|
|
|
2188
2280
|
//! <b>Effects</b>: Returns true if x is greater than y
|
|
2189
2281
|
//!
|
|
2190
2282
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2191
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2283
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline friend bool operator>(const vector& x, const vector& y)
|
|
2192
2284
|
{ return y < x; }
|
|
2193
2285
|
|
|
2194
2286
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
|
2195
2287
|
//!
|
|
2196
2288
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2197
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2289
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline friend bool operator<=(const vector& x, const vector& y)
|
|
2198
2290
|
{ return !(y < x); }
|
|
2199
2291
|
|
|
2200
2292
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
|
2201
2293
|
//!
|
|
2202
2294
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2203
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2295
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline friend bool operator>=(const vector& x, const vector& y)
|
|
2204
2296
|
{ return !(x < y); }
|
|
2205
2297
|
|
|
2206
2298
|
//! <b>Effects</b>: x.swap(y)
|
|
2207
2299
|
//!
|
|
2208
2300
|
//! <b>Complexity</b>: Constant.
|
|
2209
|
-
|
|
2301
|
+
inline friend void swap(vector& x, vector& y)
|
|
2210
2302
|
BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
|
|
2211
2303
|
{ x.swap(y); }
|
|
2212
2304
|
|
|
@@ -2223,48 +2315,65 @@ private:
|
|
|
2223
2315
|
bool stable_reserve(size_type new_cap)
|
|
2224
2316
|
{
|
|
2225
2317
|
const size_type cp = this->capacity();
|
|
2226
|
-
return cp >= new_cap || (alloc_version::value == 2 && this->m_holder.try_expand_fwd(new_cap - cp));
|
|
2318
|
+
return cp >= new_cap || (alloc_version::value == 2 && this->m_holder.try_expand_fwd(size_type(new_cap - cp)));
|
|
2227
2319
|
}
|
|
2228
2320
|
|
|
2321
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
2229
2322
|
//Absolutely experimental. This function might change, disappear or simply crash!
|
|
2230
2323
|
template<class BiDirPosConstIt, class BiDirValueIt>
|
|
2231
|
-
|
|
2324
|
+
inline void insert_ordered_at(const size_type element_count, BiDirPosConstIt last_position_it, BiDirValueIt last_value_it)
|
|
2232
2325
|
{
|
|
2233
2326
|
typedef vector_insert_ordered_cursor<BiDirPosConstIt, BiDirValueIt> inserter_t;
|
|
2234
2327
|
return this->priv_insert_ordered_at(element_count, inserter_t(last_position_it, last_value_it));
|
|
2235
2328
|
}
|
|
2236
2329
|
|
|
2237
2330
|
template<class InputIt>
|
|
2238
|
-
|
|
2331
|
+
inline void merge(InputIt first, InputIt last)
|
|
2239
2332
|
{ this->merge(first, last, value_less_t()); }
|
|
2240
2333
|
|
|
2241
2334
|
template<class InputIt, class Compare>
|
|
2242
|
-
|
|
2335
|
+
inline
|
|
2336
|
+
typename dtl::enable_if_c
|
|
2337
|
+
< !dtl::is_input_iterator<InputIt>::value &&
|
|
2338
|
+
dtl::is_same<value_type, typename iterator_traits<InputIt>::value_type>::value
|
|
2339
|
+
, void>::type
|
|
2340
|
+
merge(InputIt first, InputIt last, Compare comp)
|
|
2243
2341
|
{
|
|
2244
2342
|
size_type const s = this->size();
|
|
2245
2343
|
size_type const c = this->capacity();
|
|
2246
2344
|
size_type n = 0;
|
|
2247
2345
|
size_type const free_cap = c - s;
|
|
2248
2346
|
//If not input iterator and new elements don't fit in the remaining capacity, merge in new buffer
|
|
2249
|
-
if(
|
|
2250
|
-
free_cap < (n = static_cast<size_type>(boost::container::iterator_distance(first, last)))){
|
|
2347
|
+
if(free_cap < (n = boost::container::iterator_udistance(first, last))){
|
|
2251
2348
|
this->priv_merge_in_new_buffer(first, n, comp, alloc_version());
|
|
2252
2349
|
}
|
|
2253
2350
|
else{
|
|
2254
|
-
this->
|
|
2255
|
-
T *const raw_beg = this->priv_raw_begin();
|
|
2256
|
-
T *const raw_end = this->priv_raw_end();
|
|
2257
|
-
T *const raw_pos = raw_beg + s;
|
|
2258
|
-
boost::movelib::adaptive_merge(raw_beg, raw_pos, raw_end, comp, raw_end, free_cap - n);
|
|
2351
|
+
this->priv_merge_generic(first, last, comp);
|
|
2259
2352
|
}
|
|
2260
2353
|
}
|
|
2261
2354
|
|
|
2355
|
+
template<class InputIt, class Compare>
|
|
2356
|
+
inline
|
|
2357
|
+
typename dtl::enable_if_c
|
|
2358
|
+
< dtl::is_input_iterator<InputIt>::value ||
|
|
2359
|
+
!dtl::is_same<value_type, typename iterator_traits<InputIt>::value_type>::value
|
|
2360
|
+
, void>::type
|
|
2361
|
+
merge(InputIt first, InputIt last, Compare comp)
|
|
2362
|
+
{
|
|
2363
|
+
this->priv_merge_generic(first, last, comp);
|
|
2364
|
+
}
|
|
2365
|
+
|
|
2262
2366
|
template<class InputIt>
|
|
2263
|
-
|
|
2367
|
+
inline void merge_unique(InputIt first, InputIt last)
|
|
2264
2368
|
{ this->merge_unique(first, last, value_less_t()); }
|
|
2265
2369
|
|
|
2266
2370
|
template<class InputIt, class Compare>
|
|
2267
|
-
|
|
2371
|
+
inline
|
|
2372
|
+
typename dtl::enable_if_c
|
|
2373
|
+
< !dtl::is_input_iterator<InputIt>::value &&
|
|
2374
|
+
dtl::is_same<value_type, typename iterator_traits<InputIt>::value_type>::value
|
|
2375
|
+
, void>::type
|
|
2376
|
+
merge_unique(InputIt first, InputIt last, Compare comp)
|
|
2268
2377
|
{
|
|
2269
2378
|
size_type const old_size = this->size();
|
|
2270
2379
|
this->priv_set_difference_back(first, last, comp);
|
|
@@ -2274,7 +2383,42 @@ private:
|
|
|
2274
2383
|
boost::movelib::adaptive_merge(raw_beg, raw_pos, raw_end, comp, raw_end, this->capacity() - this->size());
|
|
2275
2384
|
}
|
|
2276
2385
|
|
|
2386
|
+
template<class InputIt, class Compare>
|
|
2387
|
+
inline
|
|
2388
|
+
typename dtl::enable_if_c
|
|
2389
|
+
< dtl::is_input_iterator<InputIt>::value ||
|
|
2390
|
+
!dtl::is_same<value_type, typename iterator_traits<InputIt>::value_type>::value
|
|
2391
|
+
, void>::type
|
|
2392
|
+
merge_unique(InputIt first, InputIt last, Compare comp)
|
|
2393
|
+
{
|
|
2394
|
+
iterator pos = this->insert(this->end(), first, last);
|
|
2395
|
+
const iterator e = boost::movelib::inplace_set_unique_difference(pos, this->end(), this->begin(), pos, comp);
|
|
2396
|
+
this->erase(e, this->end());
|
|
2397
|
+
boost::movelib::adaptive_merge( this->begin(), pos, e, comp
|
|
2398
|
+
, this->priv_raw_end(), this->capacity() - this->size());
|
|
2399
|
+
}
|
|
2400
|
+
|
|
2401
|
+
//Function for optimizations, not for users
|
|
2402
|
+
T *unused_storage(size_type &sz)
|
|
2403
|
+
{
|
|
2404
|
+
sz = static_cast<size_type>(this->capacity() - this->size());
|
|
2405
|
+
return this->priv_raw_end();
|
|
2406
|
+
}
|
|
2407
|
+
|
|
2408
|
+
#endif
|
|
2409
|
+
|
|
2277
2410
|
private:
|
|
2411
|
+
template<class InputIt, class Compare>
|
|
2412
|
+
inline void priv_merge_generic(InputIt first, InputIt last, Compare comp)
|
|
2413
|
+
{
|
|
2414
|
+
size_type const old_s = this->size();
|
|
2415
|
+
this->insert(this->cend(), first, last);
|
|
2416
|
+
T* const raw_beg = this->priv_raw_begin();
|
|
2417
|
+
T* const raw_end = this->priv_raw_end();
|
|
2418
|
+
T* const raw_pos = raw_beg + old_s;
|
|
2419
|
+
boost::movelib::adaptive_merge(raw_beg, raw_pos, raw_end, comp, raw_end, this->capacity() - this->size());
|
|
2420
|
+
}
|
|
2421
|
+
|
|
2278
2422
|
template<class PositionValue>
|
|
2279
2423
|
void priv_insert_ordered_at(const size_type element_count, PositionValue position_value)
|
|
2280
2424
|
{
|
|
@@ -2367,7 +2511,7 @@ private:
|
|
|
2367
2511
|
}
|
|
2368
2512
|
|
|
2369
2513
|
template<class FwdIt, class Compare>
|
|
2370
|
-
|
|
2514
|
+
inline void priv_merge_in_new_buffer(FwdIt, size_type, Compare, version_0)
|
|
2371
2515
|
{
|
|
2372
2516
|
alloc_holder_t::on_capacity_overflow();
|
|
2373
2517
|
}
|
|
@@ -2429,16 +2573,16 @@ private:
|
|
|
2429
2573
|
new_values_destroyer.release();
|
|
2430
2574
|
}
|
|
2431
2575
|
|
|
2432
|
-
|
|
2576
|
+
inline bool room_enough() const
|
|
2433
2577
|
{ return this->m_holder.m_size != this->m_holder.capacity(); }
|
|
2434
2578
|
|
|
2435
|
-
|
|
2436
|
-
{ return this->m_holder.start() + this->m_holder.m_size; }
|
|
2579
|
+
inline pointer back_ptr() const
|
|
2580
|
+
{ return this->m_holder.start() + difference_type(this->m_holder.m_size); }
|
|
2437
2581
|
|
|
2438
|
-
|
|
2582
|
+
inline size_type priv_index_of(pointer p) const
|
|
2439
2583
|
{
|
|
2440
2584
|
BOOST_ASSERT(this->m_holder.start() <= p);
|
|
2441
|
-
BOOST_ASSERT(p <= (this->m_holder.start()+this->size()));
|
|
2585
|
+
BOOST_ASSERT(p <= (this->m_holder.start()+difference_type(this->size())));
|
|
2442
2586
|
return static_cast<size_type>(p - this->m_holder.start());
|
|
2443
2587
|
}
|
|
2444
2588
|
|
|
@@ -2462,6 +2606,38 @@ private:
|
|
|
2462
2606
|
x.clear();
|
|
2463
2607
|
}
|
|
2464
2608
|
|
|
2609
|
+
template<class OtherA>
|
|
2610
|
+
void priv_move_assign_steal_or_assign(BOOST_RV_REF_BEG vector<T, OtherA, Options> BOOST_RV_REF_END x, dtl::true_type /*data_can_be_always_stolen*/)
|
|
2611
|
+
{
|
|
2612
|
+
this->clear();
|
|
2613
|
+
if (BOOST_LIKELY(!!this->m_holder.m_start))
|
|
2614
|
+
this->m_holder.deallocate(this->m_holder.m_start, this->m_holder.m_capacity);
|
|
2615
|
+
this->m_holder.steal_resources(x.m_holder);
|
|
2616
|
+
}
|
|
2617
|
+
|
|
2618
|
+
template<class OtherA>
|
|
2619
|
+
void priv_move_assign_steal_or_assign(BOOST_RV_REF_BEG vector<T, OtherA, Options> BOOST_RV_REF_END x, dtl::false_type /*data_can_be_always_stolen*/)
|
|
2620
|
+
{
|
|
2621
|
+
const bool propagate_alloc = allocator_traits_type::propagate_on_container_move_assignment::value;
|
|
2622
|
+
allocator_type& this_alloc = this->m_holder.alloc();
|
|
2623
|
+
allocator_type& x_alloc = x.m_holder.alloc();
|
|
2624
|
+
|
|
2625
|
+
//In this allocator move constructor the allocator might will be propagated, but to support small_vector-like
|
|
2626
|
+
//types, we need to check the currently owned buffers to know if they are propagable.
|
|
2627
|
+
const bool is_buffer_propagable_from_x = is_propagable_from<propagate_alloc>(x_alloc, x.m_holder.start(), this_alloc);
|
|
2628
|
+
|
|
2629
|
+
if (is_buffer_propagable_from_x) {
|
|
2630
|
+
this->priv_move_assign_steal_or_assign(boost::move(x), dtl::true_type());
|
|
2631
|
+
}
|
|
2632
|
+
//Else do a one by one move. Also, clear the source as users find confusing
|
|
2633
|
+
//elements are still alive in the source container.
|
|
2634
|
+
else {
|
|
2635
|
+
this->assign( boost::make_move_iterator(boost::movelib::iterator_to_raw_pointer(x.begin()))
|
|
2636
|
+
, boost::make_move_iterator(boost::movelib::iterator_to_raw_pointer(x.end())) );
|
|
2637
|
+
x.clear();
|
|
2638
|
+
}
|
|
2639
|
+
}
|
|
2640
|
+
|
|
2465
2641
|
template<class OtherA>
|
|
2466
2642
|
void priv_move_assign(BOOST_RV_REF_BEG vector<T, OtherA, Options> BOOST_RV_REF_END x
|
|
2467
2643
|
, typename dtl::disable_if_or
|
|
@@ -2473,30 +2649,16 @@ private:
|
|
|
2473
2649
|
//for move assignment, no aliasing (&x != this) is assumed.
|
|
2474
2650
|
//x.size() == 0 is allowed for buggy std libraries.
|
|
2475
2651
|
BOOST_ASSERT(this != &x || x.size() == 0);
|
|
2476
|
-
|
|
2477
|
-
allocator_type &x_alloc = x.m_holder.alloc();
|
|
2652
|
+
const bool alloc_is_always_equal = allocator_traits_type::is_always_equal::value;
|
|
2478
2653
|
const bool propagate_alloc = allocator_traits_type::propagate_on_container_move_assignment::value;
|
|
2654
|
+
const bool partially_propagable_alloc = allocator_traits_type::is_partially_propagable::value;
|
|
2655
|
+
const bool data_can_be_always_be_stolen = alloc_is_always_equal || (propagate_alloc && !partially_propagable_alloc);
|
|
2479
2656
|
|
|
2480
|
-
|
|
2481
|
-
const bool is_propagable_from_x = is_propagable_from(x_alloc, x.m_holder.start(), this_alloc, propagate_alloc);
|
|
2657
|
+
this->priv_move_assign_steal_or_assign(boost::move(x), dtl::bool_<data_can_be_always_be_stolen>());
|
|
2482
2658
|
|
|
2483
|
-
//Resources can be transferred if both allocators are
|
|
2484
|
-
//going to be equal after this function (either propagated or already equal)
|
|
2485
|
-
if(is_propagable_from_x){
|
|
2486
|
-
this->clear();
|
|
2487
|
-
if(BOOST_LIKELY(!!this->m_holder.m_start))
|
|
2488
|
-
this->m_holder.deallocate(this->m_holder.m_start, this->m_holder.m_capacity);
|
|
2489
|
-
this->m_holder.steal_resources(x.m_holder);
|
|
2490
|
-
}
|
|
2491
|
-
//Else do a one by one move. Also, clear the source as users find confusing
|
|
2492
|
-
//elements are still alive in the source container.
|
|
2493
|
-
else{
|
|
2494
|
-
this->assign( boost::make_move_iterator(boost::movelib::iterator_to_raw_pointer(x.begin()))
|
|
2495
|
-
, boost::make_move_iterator(boost::movelib::iterator_to_raw_pointer(x.end() ))
|
|
2496
|
-
);
|
|
2497
|
-
x.clear();
|
|
2498
|
-
}
|
|
2499
2659
|
//Move allocator if needed
|
|
2660
|
+
allocator_type& this_alloc = this->m_holder.alloc();
|
|
2661
|
+
allocator_type& x_alloc = x.m_holder.alloc();
|
|
2500
2662
|
dtl::move_alloc(this_alloc, x_alloc, dtl::bool_<propagate_alloc>());
|
|
2501
2663
|
}
|
|
2502
2664
|
|
|
@@ -2538,53 +2700,131 @@ private:
|
|
|
2538
2700
|
}
|
|
2539
2701
|
|
|
2540
2702
|
template<class Vector> //Template it to avoid it in explicit instantiations
|
|
2541
|
-
|
|
2703
|
+
inline void priv_swap(Vector &x, dtl::true_type) //version_0
|
|
2542
2704
|
{ this->m_holder.deep_swap(x.m_holder); }
|
|
2543
2705
|
|
|
2544
2706
|
template<class Vector> //Template it to avoid it in explicit instantiations
|
|
2545
2707
|
void priv_swap(Vector &x, dtl::false_type) //version_N
|
|
2546
2708
|
{
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2709
|
+
BOOST_ASSERT(allocator_traits_type::propagate_on_container_swap::value ||
|
|
2710
|
+
allocator_traits_type::is_always_equal::value ||
|
|
2711
|
+
this->get_stored_allocator() == x.get_stored_allocator());
|
|
2712
|
+
|
|
2713
|
+
if (BOOST_UNLIKELY(&x == this)) {
|
|
2714
|
+
return;
|
|
2715
|
+
}
|
|
2716
|
+
|
|
2717
|
+
//Just swap internals
|
|
2718
|
+
this->m_holder.swap_resources(x.m_holder);
|
|
2719
|
+
//And now swap the allocator
|
|
2720
|
+
dtl::bool_<allocator_traits_type::propagate_on_container_swap::value> flag;
|
|
2721
|
+
dtl::swap_alloc(this->m_holder.alloc(), x.m_holder.alloc(), flag);
|
|
2722
|
+
}
|
|
2723
|
+
|
|
2724
|
+
protected:
|
|
2725
|
+
template<class Vector> //Template it to avoid it in explicit instantiations
|
|
2726
|
+
void prot_swap_small(Vector &x, std::size_t internal_capacity) //version_N
|
|
2727
|
+
{
|
|
2728
|
+
if (BOOST_UNLIKELY(&x == this)){
|
|
2729
|
+
return;
|
|
2552
2730
|
}
|
|
2553
|
-
else{
|
|
2554
|
-
if (BOOST_UNLIKELY(&x == this))
|
|
2555
|
-
return;
|
|
2556
2731
|
|
|
2557
|
-
|
|
2732
|
+
const bool propagate_alloc = allocator_traits_type::propagate_on_container_swap::value;
|
|
2733
|
+
if(are_swap_propagable<propagate_alloc>
|
|
2734
|
+
( this->get_stored_allocator(), this->m_holder.start(), x.get_stored_allocator(), x.m_holder.start())){
|
|
2735
|
+
this->priv_swap(x, dtl::false_());
|
|
2736
|
+
return;
|
|
2737
|
+
}
|
|
2738
|
+
|
|
2739
|
+
allocator_type &th_al = this->get_stored_allocator();
|
|
2740
|
+
allocator_type &ot_al = x.get_stored_allocator();
|
|
2741
|
+
|
|
2742
|
+
const bool is_this_data_propagable = is_propagable_from<propagate_alloc>(th_al, this->data(), ot_al);
|
|
2743
|
+
const bool is_that_data_propagable = is_propagable_from<propagate_alloc>(ot_al, x.data(), th_al);
|
|
2744
|
+
|
|
2745
|
+
if(internal_capacity && (is_this_data_propagable || is_that_data_propagable)) {
|
|
2746
|
+
//steal memory from src to dst, but move elements from dst to src
|
|
2747
|
+
vector& extmem = is_this_data_propagable ? *this : x;
|
|
2748
|
+
vector& intmem = is_this_data_propagable ? x : *this;
|
|
2749
|
+
|
|
2750
|
+
//Reset extmem to the internal storage and backup data
|
|
2751
|
+
pointer const orig_extdata = extmem.data();
|
|
2752
|
+
const size_type orig_extmem_size = extmem.size();
|
|
2753
|
+
const size_type orig_extmem_cap = extmem.capacity();
|
|
2754
|
+
|
|
2755
|
+
//New safe state for extmem -> empty, internal storage
|
|
2756
|
+
extmem.m_holder.m_start = extmem.get_stored_allocator().internal_storage();
|
|
2757
|
+
extmem.m_holder.set_stored_size(0u);
|
|
2758
|
+
extmem.m_holder.set_stored_capacity(internal_capacity);
|
|
2759
|
+
|
|
2760
|
+
{
|
|
2761
|
+
//Deallocate on exception
|
|
2762
|
+
typename value_traits::ArrayDeallocator new_buffer_deallocator(orig_extdata, extmem.get_stored_allocator(), orig_extmem_cap);
|
|
2763
|
+
typename value_traits::ArrayDestructor new_values_destroyer(orig_extdata, extmem.get_stored_allocator(), orig_extmem_size);
|
|
2764
|
+
|
|
2765
|
+
//Move internal memory data to the internal memory data of the target, this can throw
|
|
2766
|
+
BOOST_ASSERT(extmem.capacity() >= intmem.size());
|
|
2767
|
+
::boost::container::uninitialized_move_alloc_n
|
|
2768
|
+
(intmem.get_stored_allocator(), intmem.priv_raw_begin(), intmem.size(), extmem.priv_raw_begin());
|
|
2769
|
+
|
|
2770
|
+
//Exception not thrown, commit new state
|
|
2771
|
+
extmem.m_holder.set_stored_size(intmem.size());
|
|
2772
|
+
//Throwing part passed, disable rollback
|
|
2773
|
+
new_buffer_deallocator.release();
|
|
2774
|
+
new_values_destroyer.release();
|
|
2775
|
+
}
|
|
2776
|
+
|
|
2777
|
+
//Destroy moved elements from intmem
|
|
2778
|
+
boost::container::destroy_alloc_n
|
|
2779
|
+
( intmem.get_stored_allocator(), intmem.priv_raw_begin()
|
|
2780
|
+
, intmem.size());
|
|
2781
|
+
|
|
2782
|
+
//Adopt dynamic buffer
|
|
2783
|
+
intmem.m_holder.m_start = orig_extdata;
|
|
2784
|
+
intmem.m_holder.set_stored_size(orig_extmem_size);
|
|
2785
|
+
intmem.m_holder.set_stored_capacity(orig_extmem_cap);
|
|
2786
|
+
|
|
2787
|
+
//And now swap the allocator
|
|
2788
|
+
dtl::swap_alloc(this->m_holder.alloc(), x.m_holder.alloc(), dtl::bool_<propagate_alloc>());
|
|
2789
|
+
}
|
|
2790
|
+
else { //swap element by element and insert rest
|
|
2558
2791
|
bool const t_smaller = this->size() < x.size();
|
|
2559
2792
|
vector &sml = t_smaller ? *this : x;
|
|
2560
2793
|
vector &big = t_smaller ? x : *this;
|
|
2561
2794
|
|
|
2795
|
+
//swap element by element until common size
|
|
2562
2796
|
size_type const common_elements = sml.size();
|
|
2563
2797
|
for(size_type i = 0; i != common_elements; ++i){
|
|
2564
2798
|
boost::adl_move_swap(sml[i], big[i]);
|
|
2565
2799
|
}
|
|
2566
|
-
|
|
2567
|
-
sml
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2800
|
+
|
|
2801
|
+
//And now swap the allocator to be able to construct new elements in sml with the proper allocator
|
|
2802
|
+
dtl::swap_alloc(this->m_holder.alloc(), x.m_holder.alloc(), dtl::bool_<propagate_alloc>());
|
|
2803
|
+
|
|
2804
|
+
//move-insert the remaining range
|
|
2805
|
+
T *const raw_big_nth = boost::movelib::iterator_to_raw_pointer(big.nth(common_elements));
|
|
2806
|
+
sml.insert(sml.cend()
|
|
2807
|
+
, boost::make_move_iterator(raw_big_nth)
|
|
2808
|
+
, boost::make_move_iterator(boost::movelib::iterator_to_raw_pointer(big.end())));
|
|
2809
|
+
|
|
2810
|
+
//Destroy remaining, moved, elements with their original allocator
|
|
2811
|
+
boost::container::destroy_alloc_n
|
|
2812
|
+
( sml.get_stored_allocator(), raw_big_nth
|
|
2813
|
+
, std::size_t(big.m_holder.m_size - common_elements));
|
|
2814
|
+
big.m_holder.set_stored_size(common_elements);
|
|
2573
2815
|
}
|
|
2574
|
-
//And now swap the allocator
|
|
2575
|
-
dtl::swap_alloc(this->m_holder.alloc(), x.m_holder.alloc(), dtl::bool_<propagate_alloc>());
|
|
2576
2816
|
}
|
|
2577
|
-
|
|
2578
|
-
|
|
2817
|
+
private:
|
|
2818
|
+
inline void priv_move_to_new_buffer(size_type, version_0)
|
|
2579
2819
|
{ alloc_holder_t::on_capacity_overflow(); }
|
|
2580
2820
|
|
|
2581
|
-
|
|
2821
|
+
inline dtl::insert_range_proxy<allocator_type, boost::move_iterator<T*> > priv_dummy_empty_proxy()
|
|
2582
2822
|
{
|
|
2583
|
-
return dtl::insert_range_proxy<allocator_type, boost::move_iterator<T
|
|
2823
|
+
return dtl::insert_range_proxy<allocator_type, boost::move_iterator<T*> >
|
|
2584
2824
|
(::boost::make_move_iterator((T *)0));
|
|
2585
2825
|
}
|
|
2586
2826
|
|
|
2587
|
-
|
|
2827
|
+
inline void priv_move_to_new_buffer(size_type new_cap, version_1)
|
|
2588
2828
|
{
|
|
2589
2829
|
//There is not enough memory, allocate a new buffer
|
|
2590
2830
|
//Pass the hint so that allocators can take advantage of this.
|
|
@@ -2622,7 +2862,7 @@ private:
|
|
|
2622
2862
|
++this->num_expand_bwd;
|
|
2623
2863
|
#endif
|
|
2624
2864
|
this->priv_insert_forward_range_expand_backwards
|
|
2625
|
-
( new_mem
|
|
2865
|
+
( new_mem, real_cap, ins_pos, 0, this->priv_dummy_empty_proxy());
|
|
2626
2866
|
}
|
|
2627
2867
|
else{ //New buffer
|
|
2628
2868
|
#ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
|
|
@@ -2657,34 +2897,69 @@ private:
|
|
|
2657
2897
|
}
|
|
2658
2898
|
|
|
2659
2899
|
template<class U>
|
|
2660
|
-
|
|
2900
|
+
inline iterator priv_insert(const const_iterator &p, BOOST_FWD_REF(U) u)
|
|
2661
2901
|
{
|
|
2662
2902
|
return this->emplace(p, ::boost::forward<U>(u));
|
|
2663
2903
|
}
|
|
2664
2904
|
|
|
2665
2905
|
template <class U>
|
|
2666
|
-
|
|
2906
|
+
inline void priv_push_back(BOOST_FWD_REF(U) u)
|
|
2667
2907
|
{
|
|
2668
2908
|
this->emplace_back(::boost::forward<U>(u));
|
|
2669
2909
|
}
|
|
2670
2910
|
|
|
2671
2911
|
//Overload to support compiler errors that instantiate too much
|
|
2672
|
-
|
|
2912
|
+
inline void priv_push_back(::boost::move_detail::nat)
|
|
2673
2913
|
{}
|
|
2674
2914
|
|
|
2675
|
-
|
|
2915
|
+
inline iterator priv_insert(const_iterator, ::boost::move_detail::nat)
|
|
2676
2916
|
{ return iterator(); }
|
|
2677
2917
|
|
|
2678
|
-
|
|
2679
|
-
{ return dtl::insert_n_copies_proxy<allocator_type
|
|
2918
|
+
inline dtl::insert_n_copies_proxy<allocator_type> priv_resize_proxy(const T &x)
|
|
2919
|
+
{ return dtl::insert_n_copies_proxy<allocator_type>(x); }
|
|
2680
2920
|
|
|
2681
|
-
|
|
2682
|
-
{ return dtl::insert_default_initialized_n_proxy<allocator_type
|
|
2921
|
+
inline dtl::insert_default_initialized_n_proxy<allocator_type> priv_resize_proxy(default_init_t)
|
|
2922
|
+
{ return dtl::insert_default_initialized_n_proxy<allocator_type>(); }
|
|
2683
2923
|
|
|
2684
|
-
|
|
2685
|
-
{ return dtl::insert_value_initialized_n_proxy<allocator_type
|
|
2924
|
+
inline dtl::insert_value_initialized_n_proxy<allocator_type> priv_resize_proxy(value_init_t)
|
|
2925
|
+
{ return dtl::insert_value_initialized_n_proxy<allocator_type>(); }
|
|
2686
2926
|
|
|
2687
|
-
|
|
2927
|
+
protected:
|
|
2928
|
+
void prot_shrink_to_fit_small(pointer const small_buffer, const size_type small_capacity)
|
|
2929
|
+
{
|
|
2930
|
+
const size_type cp = this->m_holder.capacity();
|
|
2931
|
+
if (cp && this->m_holder.m_start != small_buffer) { //Do something only if a dynamic buffer is used
|
|
2932
|
+
const size_type sz = this->size();
|
|
2933
|
+
if (!sz) {
|
|
2934
|
+
if (BOOST_LIKELY(!!this->m_holder.m_start))
|
|
2935
|
+
this->m_holder.deallocate(this->m_holder.m_start, cp);
|
|
2936
|
+
this->m_holder.m_start = small_buffer;
|
|
2937
|
+
this->m_holder.set_stored_capacity(small_capacity);
|
|
2938
|
+
}
|
|
2939
|
+
else if(sz <= small_capacity) {
|
|
2940
|
+
T *const oldbuf = boost::movelib::to_raw_pointer(this->m_holder.m_start);
|
|
2941
|
+
::boost::container::uninitialized_move_alloc_n
|
|
2942
|
+
( this->get_stored_allocator()
|
|
2943
|
+
, oldbuf
|
|
2944
|
+
, sz
|
|
2945
|
+
, boost::movelib::to_raw_pointer(small_buffer)
|
|
2946
|
+
);
|
|
2947
|
+
boost::container::destroy_alloc_n(this->get_stored_allocator(), oldbuf, sz);
|
|
2948
|
+
|
|
2949
|
+
if (BOOST_LIKELY(!!this->m_holder.m_start))
|
|
2950
|
+
this->m_holder.deallocate(this->m_holder.m_start, cp);
|
|
2951
|
+
|
|
2952
|
+
this->m_holder.m_start = small_buffer;
|
|
2953
|
+
this->m_holder.set_stored_capacity(small_capacity);
|
|
2954
|
+
}
|
|
2955
|
+
else if (sz < cp) {
|
|
2956
|
+
this->priv_move_to_new_buffer(sz, alloc_version());
|
|
2957
|
+
}
|
|
2958
|
+
}
|
|
2959
|
+
}
|
|
2960
|
+
|
|
2961
|
+
private:
|
|
2962
|
+
inline void priv_shrink_to_fit(version_0) BOOST_NOEXCEPT_OR_NOTHROW
|
|
2688
2963
|
{}
|
|
2689
2964
|
|
|
2690
2965
|
void priv_shrink_to_fit(version_1)
|
|
@@ -2729,12 +3004,19 @@ private:
|
|
|
2729
3004
|
}
|
|
2730
3005
|
}
|
|
2731
3006
|
|
|
3007
|
+
#ifdef _MSC_VER
|
|
3008
|
+
#pragma warning (push)
|
|
3009
|
+
#pragma warning(disable: 4702) //Disable unreachable code warning
|
|
3010
|
+
#endif
|
|
2732
3011
|
template <class InsertionProxy>
|
|
2733
|
-
|
|
3012
|
+
inline iterator priv_insert_forward_range_no_capacity
|
|
2734
3013
|
(T * const, const size_type, const InsertionProxy , version_0)
|
|
2735
3014
|
{
|
|
2736
3015
|
return alloc_holder_t::on_capacity_overflow(), iterator();
|
|
2737
3016
|
}
|
|
3017
|
+
#ifdef _MSC_VER
|
|
3018
|
+
#pragma warning (pop)
|
|
3019
|
+
#endif
|
|
2738
3020
|
|
|
2739
3021
|
template <class InsertionProxy>
|
|
2740
3022
|
BOOST_CONTAINER_NOINLINE iterator priv_insert_forward_range_no_capacity
|
|
@@ -2750,7 +3032,7 @@ private:
|
|
|
2750
3032
|
++this->num_alloc;
|
|
2751
3033
|
#endif
|
|
2752
3034
|
this->priv_insert_forward_range_new_allocation(new_buf, new_cap, raw_pos, n, insert_range_proxy);
|
|
2753
|
-
return iterator(this->m_holder.start() + n_pos);
|
|
3035
|
+
return iterator(this->m_holder.start() + difference_type(n_pos));
|
|
2754
3036
|
}
|
|
2755
3037
|
|
|
2756
3038
|
template <class InsertionProxy>
|
|
@@ -2758,14 +3040,14 @@ private:
|
|
|
2758
3040
|
(T *const raw_pos, const size_type n, const InsertionProxy insert_range_proxy, version_2)
|
|
2759
3041
|
{
|
|
2760
3042
|
//Check if we have enough memory or try to expand current memory
|
|
2761
|
-
const size_type n_pos = raw_pos - this->priv_raw_begin();
|
|
3043
|
+
const size_type n_pos = size_type(raw_pos - this->priv_raw_begin());
|
|
2762
3044
|
|
|
2763
3045
|
//There is not enough memory, allocate a new
|
|
2764
3046
|
//buffer or expand the old one.
|
|
2765
3047
|
size_type real_cap = this->m_holder.template next_capacity<growth_factor_type>(n);
|
|
2766
3048
|
pointer reuse(this->m_holder.start());
|
|
2767
3049
|
pointer const ret (this->m_holder.allocation_command
|
|
2768
|
-
(allocate_new | expand_fwd | expand_bwd, this->m_holder.m_size + n, real_cap, reuse));
|
|
3050
|
+
(allocate_new | expand_fwd | expand_bwd, size_type(this->m_holder.m_size + n), real_cap, reuse));
|
|
2769
3051
|
|
|
2770
3052
|
//Buffer reallocated
|
|
2771
3053
|
if(reuse){
|
|
@@ -2797,11 +3079,11 @@ private:
|
|
|
2797
3079
|
( boost::movelib::to_raw_pointer(ret), real_cap, raw_pos, n, insert_range_proxy);
|
|
2798
3080
|
}
|
|
2799
3081
|
|
|
2800
|
-
return iterator(this->m_holder.start() + n_pos);
|
|
3082
|
+
return iterator(this->m_holder.start() + (difference_type)(n_pos));
|
|
2801
3083
|
}
|
|
2802
3084
|
|
|
2803
3085
|
template <class InsertionProxy>
|
|
2804
|
-
|
|
3086
|
+
inline iterator priv_insert_forward_range
|
|
2805
3087
|
(const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy)
|
|
2806
3088
|
{
|
|
2807
3089
|
BOOST_ASSERT(this->m_holder.capacity() >= this->m_holder.m_size);
|
|
@@ -2843,10 +3125,10 @@ private:
|
|
|
2843
3125
|
const size_type sz = this->m_holder.m_size;
|
|
2844
3126
|
if (new_size < sz){
|
|
2845
3127
|
//Destroy last elements
|
|
2846
|
-
this->priv_destroy_last_n(sz - new_size);
|
|
3128
|
+
this->priv_destroy_last_n(size_type(sz - new_size));
|
|
2847
3129
|
}
|
|
2848
3130
|
else {
|
|
2849
|
-
this->priv_insert_forward_range(this->back_ptr(), new_size - sz, this->priv_resize_proxy(u));
|
|
3131
|
+
this->priv_insert_forward_range(this->back_ptr(), size_type(new_size - sz), this->priv_resize_proxy(u));
|
|
2850
3132
|
}
|
|
2851
3133
|
}
|
|
2852
3134
|
|
|
@@ -2922,7 +3204,9 @@ private:
|
|
|
2922
3204
|
//All uninitialized_moved
|
|
2923
3205
|
::boost::container::uninitialized_move_alloc
|
|
2924
3206
|
(this->m_holder.alloc(), first_ptr, last_ptr, first_ptr + shift_count);
|
|
2925
|
-
|
|
3207
|
+
//Cast in case size_type is narrower than int, promotions are applied
|
|
3208
|
+
//and Wconversion is in place
|
|
3209
|
+
hole_size = static_cast<size_type>(first_pos + shift_count - limit_pos);
|
|
2926
3210
|
}
|
|
2927
3211
|
//Case C:
|
|
2928
3212
|
else{
|
|
@@ -2937,14 +3221,14 @@ private:
|
|
|
2937
3221
|
}
|
|
2938
3222
|
|
|
2939
3223
|
private:
|
|
2940
|
-
|
|
3224
|
+
inline T *priv_raw_begin() const
|
|
2941
3225
|
{ return boost::movelib::to_raw_pointer(m_holder.start()); }
|
|
2942
3226
|
|
|
2943
|
-
|
|
3227
|
+
inline T* priv_raw_end() const
|
|
2944
3228
|
{ return this->priv_raw_begin() + this->m_holder.m_size; }
|
|
2945
3229
|
|
|
2946
3230
|
template <class InsertionProxy> //inline single-element version as it is significantly smaller
|
|
2947
|
-
|
|
3231
|
+
inline void priv_insert_forward_range_expand_forward
|
|
2948
3232
|
(T* const raw_pos, const size_type, InsertionProxy insert_range_proxy, dtl::true_type)
|
|
2949
3233
|
{
|
|
2950
3234
|
BOOST_ASSERT(this->room_enough());
|
|
@@ -2971,7 +3255,8 @@ private:
|
|
|
2971
3255
|
}
|
|
2972
3256
|
|
|
2973
3257
|
template <class InsertionProxy>
|
|
2974
|
-
|
|
3258
|
+
inline void priv_insert_forward_range_expand_forward
|
|
3259
|
+
(T* const raw_pos, const size_type n, InsertionProxy insert_range_proxy, dtl::false_type)
|
|
2975
3260
|
{
|
|
2976
3261
|
//There is enough memory
|
|
2977
3262
|
boost::container::expand_forward_and_insert_alloc
|
|
@@ -3009,321 +3294,19 @@ private:
|
|
|
3009
3294
|
(T* const new_start, const size_type new_capacity,
|
|
3010
3295
|
T* const pos, const size_type n, InsertionProxy insert_range_proxy)
|
|
3011
3296
|
{
|
|
3012
|
-
|
|
3013
|
-
//Backup old data
|
|
3014
|
-
T* const old_start = this->priv_raw_begin();
|
|
3297
|
+
T* const old_start = this->priv_raw_begin();
|
|
3015
3298
|
const size_type old_size = this->m_holder.m_size;
|
|
3016
|
-
|
|
3017
|
-
allocator_type &a = this->m_holder.alloc();
|
|
3299
|
+
allocator_type& a = this->m_holder.alloc();
|
|
3018
3300
|
|
|
3019
3301
|
//Update the vector buffer information to a safe state
|
|
3020
3302
|
this->m_holder.start(new_start);
|
|
3021
3303
|
this->m_holder.capacity(new_capacity);
|
|
3022
3304
|
this->m_holder.m_size = 0;
|
|
3023
3305
|
|
|
3024
|
-
|
|
3025
|
-
const size_type elemsbefore = static_cast<size_type>(pos - old_start);
|
|
3026
|
-
const size_type s_before = static_cast<size_type>(old_start - new_start);
|
|
3027
|
-
const size_type before_plus_new = elemsbefore + n;
|
|
3028
|
-
|
|
3029
|
-
typedef typename value_traits::ArrayDestructor array_destructor_t;
|
|
3030
|
-
|
|
3031
|
-
//If anything goes wrong, this object will destroy
|
|
3032
|
-
//all the old objects to fulfill previous vector state
|
|
3033
|
-
array_destructor_t old_values_destroyer(old_start, a, old_size);
|
|
3034
|
-
//Check if s_before is big enough to hold the beginning of old data + new data
|
|
3035
|
-
if(s_before >= before_plus_new){
|
|
3036
|
-
//Copy first old values before pos, after that the new objects
|
|
3037
|
-
T *const new_elem_pos =
|
|
3038
|
-
::boost::container::uninitialized_move_alloc(a, old_start, pos, new_start);
|
|
3039
|
-
this->m_holder.set_stored_size(elemsbefore);
|
|
3040
|
-
insert_range_proxy.uninitialized_copy_n_and_update(a, new_elem_pos, n);
|
|
3041
|
-
this->m_holder.set_stored_size(before_plus_new);
|
|
3042
|
-
const size_type new_size = old_size + n;
|
|
3043
|
-
//Check if s_before is so big that even copying the old data + new data
|
|
3044
|
-
//there is a gap between the new data and the old data
|
|
3045
|
-
if(s_before >= new_size){
|
|
3046
|
-
//Old situation:
|
|
3047
|
-
// _________________________________________________________
|
|
3048
|
-
//| raw_mem | old_begin | old_end |
|
|
3049
|
-
//| __________________________________|___________|_________|
|
|
3050
|
-
//
|
|
3051
|
-
//New situation:
|
|
3052
|
-
// _________________________________________________________
|
|
3053
|
-
//| old_begin | new | old_end | raw_mem |
|
|
3054
|
-
//|___________|__________|_________|________________________|
|
|
3055
|
-
//
|
|
3056
|
-
//Now initialize the rest of memory with the last old values
|
|
3057
|
-
if(before_plus_new != new_size){ //Special case to avoid operations in back insertion
|
|
3058
|
-
::boost::container::uninitialized_move_alloc(a, pos, old_finish, new_start + before_plus_new);
|
|
3059
|
-
//All new elements correctly constructed, avoid new element destruction
|
|
3060
|
-
this->m_holder.set_stored_size(new_size);
|
|
3061
|
-
}
|
|
3062
|
-
//Old values destroyed automatically with "old_values_destroyer"
|
|
3063
|
-
//when "old_values_destroyer" goes out of scope unless the have trivial
|
|
3064
|
-
//destructor after move.
|
|
3065
|
-
BOOST_IF_CONSTEXPR(value_traits::trivial_dctr_after_move)
|
|
3066
|
-
old_values_destroyer.release();
|
|
3067
|
-
}
|
|
3068
|
-
//s_before is so big that divides old_end
|
|
3069
|
-
else{
|
|
3070
|
-
//Old situation:
|
|
3071
|
-
// __________________________________________________
|
|
3072
|
-
//| raw_mem | old_begin | old_end |
|
|
3073
|
-
//| ___________________________|___________|_________|
|
|
3074
|
-
//
|
|
3075
|
-
//New situation:
|
|
3076
|
-
// __________________________________________________
|
|
3077
|
-
//| old_begin | new | old_end | raw_mem |
|
|
3078
|
-
//|___________|__________|_________|_________________|
|
|
3079
|
-
//
|
|
3080
|
-
//Now initialize the rest of memory with the last old values
|
|
3081
|
-
//All new elements correctly constructed, avoid new element destruction
|
|
3082
|
-
BOOST_IF_CONSTEXPR(!value_traits::trivial_dctr){
|
|
3083
|
-
const size_type raw_gap = s_before - before_plus_new;
|
|
3084
|
-
//Now initialize the rest of s_before memory with the
|
|
3085
|
-
//first of elements after new values
|
|
3086
|
-
::boost::container::uninitialized_move_alloc_n(a, pos, raw_gap, new_start + before_plus_new);
|
|
3087
|
-
//Now we have a contiguous buffer so program trailing element destruction
|
|
3088
|
-
//and update size to the final size.
|
|
3089
|
-
old_values_destroyer.shrink_forward(new_size-s_before);
|
|
3090
|
-
this->m_holder.set_stored_size(new_size);
|
|
3091
|
-
//Now move remaining last objects in the old buffer begin
|
|
3092
|
-
T * const remaining_pos = pos + raw_gap;
|
|
3093
|
-
if(remaining_pos != old_start){ //Make sure data has to be moved
|
|
3094
|
-
::boost::container::move(remaining_pos, old_finish, old_start);
|
|
3095
|
-
}
|
|
3096
|
-
//Once moved, avoid calling the destructors if trivial after move
|
|
3097
|
-
BOOST_IF_CONSTEXPR(value_traits::trivial_dctr_after_move){
|
|
3098
|
-
old_values_destroyer.release();
|
|
3099
|
-
}
|
|
3100
|
-
}
|
|
3101
|
-
else{ //If trivial destructor, we can uninitialized copy + copy in a single uninitialized copy
|
|
3102
|
-
::boost::container::uninitialized_move_alloc_n
|
|
3103
|
-
(a, pos, static_cast<size_type>(old_finish - pos), new_start + before_plus_new);
|
|
3104
|
-
this->m_holder.set_stored_size(new_size);
|
|
3105
|
-
old_values_destroyer.release();
|
|
3106
|
-
}
|
|
3107
|
-
}
|
|
3108
|
-
}
|
|
3109
|
-
else{
|
|
3110
|
-
//Check if we have to do the insertion in two phases
|
|
3111
|
-
//since maybe s_before is not big enough and
|
|
3112
|
-
//the buffer was expanded both sides
|
|
3113
|
-
//
|
|
3114
|
-
//Old situation:
|
|
3115
|
-
// _________________________________________________
|
|
3116
|
-
//| raw_mem | old_begin + old_end | raw_mem |
|
|
3117
|
-
//|_________|_____________________|_________________|
|
|
3118
|
-
//
|
|
3119
|
-
//New situation with do_after:
|
|
3120
|
-
// _________________________________________________
|
|
3121
|
-
//| old_begin + new + old_end | raw_mem |
|
|
3122
|
-
//|___________________________________|_____________|
|
|
3123
|
-
//
|
|
3124
|
-
//New without do_after:
|
|
3125
|
-
// _________________________________________________
|
|
3126
|
-
//| old_begin + new + old_end | raw_mem |
|
|
3127
|
-
//|____________________________|____________________|
|
|
3128
|
-
//
|
|
3129
|
-
const bool do_after = n > s_before;
|
|
3130
|
-
|
|
3131
|
-
//Now we can have two situations: the raw_mem of the
|
|
3132
|
-
//beginning divides the old_begin, or the new elements:
|
|
3133
|
-
if (s_before <= elemsbefore) {
|
|
3134
|
-
//The raw memory divides the old_begin group:
|
|
3135
|
-
//
|
|
3136
|
-
//If we need two phase construction (do_after)
|
|
3137
|
-
//new group is divided in new = new_beg + new_end groups
|
|
3138
|
-
//In this phase only new_beg will be inserted
|
|
3139
|
-
//
|
|
3140
|
-
//Old situation:
|
|
3141
|
-
// _________________________________________________
|
|
3142
|
-
//| raw_mem | old_begin | old_end | raw_mem |
|
|
3143
|
-
//|_________|___________|_________|_________________|
|
|
3144
|
-
//
|
|
3145
|
-
//New situation with do_after(1):
|
|
3146
|
-
//This is not definitive situation, the second phase
|
|
3147
|
-
//will include
|
|
3148
|
-
// _________________________________________________
|
|
3149
|
-
//| old_begin | new_beg | old_end | raw_mem |
|
|
3150
|
-
//|___________|_________|_________|_________________|
|
|
3151
|
-
//
|
|
3152
|
-
//New situation without do_after:
|
|
3153
|
-
// _________________________________________________
|
|
3154
|
-
//| old_begin | new | old_end | raw_mem |
|
|
3155
|
-
//|___________|_____|_________|_____________________|
|
|
3156
|
-
//
|
|
3157
|
-
//Copy the first part of old_begin to raw_mem
|
|
3158
|
-
::boost::container::uninitialized_move_alloc_n(a, old_start, s_before, new_start);
|
|
3159
|
-
//The buffer is all constructed until old_end,
|
|
3160
|
-
//so program trailing destruction and assign final size
|
|
3161
|
-
//if !do_after, s_before+n otherwise.
|
|
3162
|
-
size_type new_1st_range;
|
|
3163
|
-
if(do_after){
|
|
3164
|
-
new_1st_range = s_before;
|
|
3165
|
-
//release destroyer and update size
|
|
3166
|
-
old_values_destroyer.release();
|
|
3167
|
-
}
|
|
3168
|
-
else{
|
|
3169
|
-
new_1st_range = n;
|
|
3170
|
-
BOOST_IF_CONSTEXPR(value_traits::trivial_dctr_after_move){
|
|
3171
|
-
old_values_destroyer.release();
|
|
3172
|
-
}
|
|
3173
|
-
else{
|
|
3174
|
-
old_values_destroyer.shrink_forward(old_size - (s_before - n));
|
|
3175
|
-
}
|
|
3176
|
-
}
|
|
3177
|
-
this->m_holder.set_stored_size(old_size + new_1st_range);
|
|
3178
|
-
//Now copy the second part of old_begin overwriting itself
|
|
3179
|
-
T *const next = ::boost::container::move(old_start + s_before, pos, old_start);
|
|
3180
|
-
//Now copy the new_beg elements
|
|
3181
|
-
insert_range_proxy.copy_n_and_update(a, next, new_1st_range);
|
|
3182
|
-
|
|
3183
|
-
//If there is no after work and the last old part needs to be moved to front, do it
|
|
3184
|
-
if(!do_after && (n != s_before)){
|
|
3185
|
-
//Now displace old_end elements
|
|
3186
|
-
::boost::container::move(pos, old_finish, next + new_1st_range);
|
|
3187
|
-
}
|
|
3188
|
-
}
|
|
3189
|
-
else {
|
|
3190
|
-
//If we have to expand both sides,
|
|
3191
|
-
//we will play if the first new values so
|
|
3192
|
-
//calculate the upper bound of new values
|
|
3193
|
-
|
|
3194
|
-
//The raw memory divides the new elements
|
|
3195
|
-
//
|
|
3196
|
-
//If we need two phase construction (do_after)
|
|
3197
|
-
//new group is divided in new = new_beg + new_end groups
|
|
3198
|
-
//In this phase only new_beg will be inserted
|
|
3199
|
-
//
|
|
3200
|
-
//Old situation:
|
|
3201
|
-
// _______________________________________________________
|
|
3202
|
-
//| raw_mem | old_begin | old_end | raw_mem |
|
|
3203
|
-
//|_______________|___________|_________|_________________|
|
|
3204
|
-
//
|
|
3205
|
-
//New situation with do_after():
|
|
3206
|
-
// ____________________________________________________
|
|
3207
|
-
//| old_begin | new_beg | old_end | raw_mem |
|
|
3208
|
-
//|___________|_______________|_________|______________|
|
|
3209
|
-
//
|
|
3210
|
-
//New situation without do_after:
|
|
3211
|
-
// ______________________________________________________
|
|
3212
|
-
//| old_begin | new | old_end | raw_mem |
|
|
3213
|
-
//|___________|_____|_________|__________________________|
|
|
3214
|
-
//
|
|
3215
|
-
//First copy whole old_begin and part of new to raw_mem
|
|
3216
|
-
T * const new_pos = ::boost::container::uninitialized_move_alloc
|
|
3217
|
-
(a, old_start, pos, new_start);
|
|
3218
|
-
this->m_holder.set_stored_size(elemsbefore);
|
|
3219
|
-
const size_type mid_n = s_before - elemsbefore;
|
|
3220
|
-
insert_range_proxy.uninitialized_copy_n_and_update(a, new_pos, mid_n);
|
|
3221
|
-
//The buffer is all constructed until old_end,
|
|
3222
|
-
//release destroyer
|
|
3223
|
-
this->m_holder.set_stored_size(old_size + s_before);
|
|
3224
|
-
old_values_destroyer.release();
|
|
3225
|
-
|
|
3226
|
-
if(do_after){
|
|
3227
|
-
//Copy new_beg part
|
|
3228
|
-
insert_range_proxy.copy_n_and_update(a, old_start, elemsbefore);
|
|
3229
|
-
}
|
|
3230
|
-
else{
|
|
3231
|
-
//Copy all new elements
|
|
3232
|
-
const size_type rest_new = n - mid_n;
|
|
3233
|
-
insert_range_proxy.copy_n_and_update(a, old_start, rest_new);
|
|
3234
|
-
|
|
3235
|
-
T* const move_start = old_start + rest_new;
|
|
3236
|
-
//Displace old_end, but make sure data has to be moved
|
|
3237
|
-
T* const move_end = move_start != pos ? ::boost::container::move(pos, old_finish, move_start)
|
|
3238
|
-
: old_finish;
|
|
3239
|
-
(void)move_end; //To avoid warnings of unused initialization for move_end in case
|
|
3240
|
-
//trivial_dctr_after_move is true
|
|
3241
|
-
//Destroy remaining moved elements from old_end except if they
|
|
3242
|
-
//have trivial destructor after being moved
|
|
3243
|
-
const size_type n_destroy = s_before - n;
|
|
3244
|
-
BOOST_IF_CONSTEXPR(!value_traits::trivial_dctr_after_move){
|
|
3245
|
-
boost::container::destroy_alloc_n(a, move_end, n_destroy);
|
|
3246
|
-
}
|
|
3247
|
-
this->m_holder.dec_stored_size(n_destroy);
|
|
3248
|
-
}
|
|
3249
|
-
}
|
|
3306
|
+
expand_backward_forward_and_insert_alloc(old_start, old_size, new_start, pos, n, insert_range_proxy, a);
|
|
3250
3307
|
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
//The raw memory divides the new elements
|
|
3254
|
-
//
|
|
3255
|
-
//Old situation:
|
|
3256
|
-
// ______________________________________________________
|
|
3257
|
-
//| raw_mem | old_begin | old_end | raw_mem |
|
|
3258
|
-
//|______________|___________|____________|______________|
|
|
3259
|
-
//
|
|
3260
|
-
//New situation with do_after(1):
|
|
3261
|
-
// _______________________________________________________
|
|
3262
|
-
//| old_begin + new_beg | new_end |old_end | raw_mem |
|
|
3263
|
-
//|__________________________|_________|________|_________|
|
|
3264
|
-
//
|
|
3265
|
-
//New situation with do_after(2):
|
|
3266
|
-
// ______________________________________________________
|
|
3267
|
-
//| old_begin + new | old_end |raw |
|
|
3268
|
-
//|_______________________________________|_________|____|
|
|
3269
|
-
//
|
|
3270
|
-
const size_type n_after = n - s_before;
|
|
3271
|
-
const size_type elemsafter = old_size - elemsbefore;
|
|
3272
|
-
|
|
3273
|
-
//We can have two situations:
|
|
3274
|
-
if (elemsafter >= n_after){
|
|
3275
|
-
//The raw_mem from end will divide displaced old_end
|
|
3276
|
-
//
|
|
3277
|
-
//Old situation:
|
|
3278
|
-
// ______________________________________________________
|
|
3279
|
-
//| raw_mem | old_begin | old_end | raw_mem |
|
|
3280
|
-
//|______________|___________|____________|______________|
|
|
3281
|
-
//
|
|
3282
|
-
//New situation with do_after(1):
|
|
3283
|
-
// _______________________________________________________
|
|
3284
|
-
//| old_begin + new_beg | new_end |old_end | raw_mem |
|
|
3285
|
-
//|__________________________|_________|________|_________|
|
|
3286
|
-
//
|
|
3287
|
-
//First copy the part of old_end raw_mem
|
|
3288
|
-
T* finish_n = old_finish - n_after;
|
|
3289
|
-
::boost::container::uninitialized_move_alloc(a, finish_n, old_finish, old_finish);
|
|
3290
|
-
this->m_holder.inc_stored_size(n_after);
|
|
3291
|
-
//Displace the rest of old_end to the new position
|
|
3292
|
-
boost::container::move_backward(pos, finish_n, old_finish);
|
|
3293
|
-
//Now overwrite with new_end
|
|
3294
|
-
//The new_end part is [first + (n - n_after), last)
|
|
3295
|
-
insert_range_proxy.copy_n_and_update(a, pos, n_after);
|
|
3296
|
-
}
|
|
3297
|
-
else {
|
|
3298
|
-
//The raw_mem from end will divide new_end part
|
|
3299
|
-
//
|
|
3300
|
-
//Old situation:
|
|
3301
|
-
// _____________________________________________________________
|
|
3302
|
-
//| raw_mem | old_begin | old_end | raw_mem |
|
|
3303
|
-
//|______________|___________|____________|_____________________|
|
|
3304
|
-
//
|
|
3305
|
-
//New situation with do_after(2):
|
|
3306
|
-
// _____________________________________________________________
|
|
3307
|
-
//| old_begin + new_beg | new_end |old_end | raw_mem |
|
|
3308
|
-
//|__________________________|_______________|________|_________|
|
|
3309
|
-
|
|
3310
|
-
//First initialize data in raw memory
|
|
3311
|
-
const size_type mid_last_dist = n_after - elemsafter;
|
|
3312
|
-
|
|
3313
|
-
//Copy to the old_end part to the uninitialized zone leaving a gap.
|
|
3314
|
-
::boost::container::uninitialized_move_alloc(a, pos, old_finish, old_finish + mid_last_dist);
|
|
3315
|
-
|
|
3316
|
-
array_destructor_t old_end_destroyer(old_finish + mid_last_dist, a, static_cast<size_type>(old_finish - pos));
|
|
3317
|
-
|
|
3318
|
-
//Copy the first part to the already constructed old_end zone
|
|
3319
|
-
insert_range_proxy.copy_n_and_update(a, pos, elemsafter);
|
|
3320
|
-
//Copy the rest to the uninitialized zone filling the gap
|
|
3321
|
-
insert_range_proxy.uninitialized_copy_n_and_update(a, old_finish, mid_last_dist);
|
|
3322
|
-
this->m_holder.inc_stored_size(n_after);
|
|
3323
|
-
old_end_destroyer.release();
|
|
3324
|
-
}
|
|
3325
|
-
}
|
|
3326
|
-
}
|
|
3308
|
+
//Update the vector buffer information to a safe state
|
|
3309
|
+
this->m_holder.m_size = stored_size_type(old_size + n);
|
|
3327
3310
|
}
|
|
3328
3311
|
|
|
3329
3312
|
void priv_throw_if_out_of_range(size_type n) const
|
|
@@ -3334,12 +3317,12 @@ private:
|
|
|
3334
3317
|
}
|
|
3335
3318
|
}
|
|
3336
3319
|
|
|
3337
|
-
|
|
3320
|
+
inline bool priv_in_range(const_iterator pos) const
|
|
3338
3321
|
{
|
|
3339
3322
|
return (this->begin() <= pos) && (pos < this->end());
|
|
3340
3323
|
}
|
|
3341
3324
|
|
|
3342
|
-
|
|
3325
|
+
inline bool priv_in_range_or_end(const_iterator pos) const
|
|
3343
3326
|
{
|
|
3344
3327
|
return (this->begin() <= pos) && (pos <= this->end());
|
|
3345
3328
|
}
|
|
@@ -3360,11 +3343,11 @@ private:
|
|
|
3360
3343
|
|
|
3361
3344
|
template <typename InputIterator>
|
|
3362
3345
|
vector(InputIterator, InputIterator) ->
|
|
3363
|
-
vector<typename
|
|
3346
|
+
vector<typename iter_value<InputIterator>::type>;
|
|
3364
3347
|
|
|
3365
3348
|
template <typename InputIterator, typename Allocator>
|
|
3366
3349
|
vector(InputIterator, InputIterator, Allocator const&) ->
|
|
3367
|
-
vector<typename
|
|
3350
|
+
vector<typename iter_value<InputIterator>::type, Allocator>;
|
|
3368
3351
|
|
|
3369
3352
|
#endif
|
|
3370
3353
|
|
|
@@ -3382,8 +3365,8 @@ struct has_trivial_destructor_after_move<boost::container::vector<T, Allocator,
|
|
|
3382
3365
|
{
|
|
3383
3366
|
typedef typename boost::container::vector<T, Allocator, Options>::allocator_type allocator_type;
|
|
3384
3367
|
typedef typename ::boost::container::allocator_traits<allocator_type>::pointer pointer;
|
|
3385
|
-
|
|
3386
|
-
|
|
3368
|
+
BOOST_STATIC_CONSTEXPR bool value = ::boost::has_trivial_destructor_after_move<allocator_type>::value &&
|
|
3369
|
+
::boost::has_trivial_destructor_after_move<pointer>::value;
|
|
3387
3370
|
};
|
|
3388
3371
|
|
|
3389
3372
|
}
|
|
@@ -3391,6 +3374,8 @@ struct has_trivial_destructor_after_move<boost::container::vector<T, Allocator,
|
|
|
3391
3374
|
//See comments on vec_iterator::element_type to know why is this needed
|
|
3392
3375
|
#ifdef BOOST_GNU_STDLIB
|
|
3393
3376
|
|
|
3377
|
+
#include <boost/move/detail/std_ns_begin.hpp>
|
|
3378
|
+
|
|
3394
3379
|
BOOST_MOVE_STD_NS_BEG
|
|
3395
3380
|
|
|
3396
3381
|
template <class Pointer, bool IsConst>
|
|
@@ -3400,6 +3385,8 @@ struct pointer_traits< boost::container::vec_iterator<Pointer, IsConst> >
|
|
|
3400
3385
|
|
|
3401
3386
|
BOOST_MOVE_STD_NS_END
|
|
3402
3387
|
|
|
3388
|
+
#include <boost/move/detail/std_ns_end.hpp>
|
|
3389
|
+
|
|
3403
3390
|
#endif //BOOST_GNU_STDLIB
|
|
3404
3391
|
|
|
3405
3392
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|