passenger 6.0.19 → 6.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +65 -3
- data/CONTRIBUTORS +2 -0
- data/README.md +2 -2
- data/bin/passenger-install-nginx-module +4 -4
- data/build/integration_tests.rb +2 -1
- data/build/support/cxx_dependency_map.rb +155 -54
- data/dev/copy_boost_headers +21 -7
- data/dev/nginx_version_sha256 +72 -0
- data/package.json +15 -15
- data/src/agent/AgentMain.cpp +2 -8
- data/src/agent/Core/AdminPanelConnector.h +2 -3
- data/src/agent/Core/ApiServer.h +1 -1
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +8 -1
- data/src/agent/Core/Config.h +6 -3
- data/src/agent/Core/Controller/AppResponse.h +0 -1
- data/src/agent/Core/Controller/Config.h +2 -2
- data/src/agent/Core/Controller/SendRequest.cpp +2 -2
- data/src/agent/Core/CoreMain.cpp +1 -0
- data/src/agent/Core/ResponseCache.h +3 -2
- data/src/agent/Core/SecurityUpdateChecker.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +4 -4
- data/src/agent/Core/SpawningKit/UserSwitchingRules.h +2 -2
- data/src/agent/ExecHelper/ExecHelperMain.cpp +10 -12
- data/src/agent/FileReadHelper/FileReadHelperMain.cpp +7 -10
- data/src/agent/MainFunctions.h +38 -0
- data/src/agent/Shared/ApiServerUtils.h +3 -2
- data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -1
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +2 -3
- data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -0
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +6 -4
- data/src/agent/Watchdog/ApiServer.h +1 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +5 -12
- data/src/apache2_module/Hooks.cpp +26 -1
- data/src/cxx_supportlib/ConfigKit/Common.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -1
- data/src/cxx_supportlib/FileTools/PathManip.cpp +10 -1
- data/src/cxx_supportlib/IOTools/IOUtils.cpp +2 -6
- data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
- data/src/cxx_supportlib/JsonTools/CBindings.cpp +0 -2
- data/src/cxx_supportlib/JsonTools/JsonUtils.h +4 -4
- data/src/cxx_supportlib/LoggingKit/Context.h +16 -21
- data/src/cxx_supportlib/LoggingKit/Forward.h +0 -2
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +36 -72
- data/src/cxx_supportlib/MemoryKit/mbuf.cpp +12 -4
- data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
- data/src/cxx_supportlib/ProcessManagement/Utils.cpp +1 -1
- data/src/cxx_supportlib/ResourceLocator.h +1 -1
- data/src/cxx_supportlib/SecurityKit/Crypto.cpp +3 -94
- data/src/cxx_supportlib/SecurityKit/Crypto.h +0 -8
- data/src/cxx_supportlib/ServerKit/Context.h +6 -0
- data/src/cxx_supportlib/ServerKit/Errors.h +3 -2
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +99 -64
- data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +4 -1
- data/src/cxx_supportlib/ServerKit/HttpRequest.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpServer.h +3 -2
- 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 +3 -1
- data/src/cxx_supportlib/StrIntTools/DateParsing.h +1 -1
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +12 -3
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +5 -0
- data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +2 -2
- data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +14 -14
- data/src/cxx_supportlib/SystemTools/UserDatabase.h +6 -10
- data/src/cxx_supportlib/Utils/AnsiColorConstants.h +11 -9
- data/src/cxx_supportlib/Utils.cpp +1 -1
- data/src/cxx_supportlib/oxt/implementation.cpp +1 -2
- data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +26 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +194 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +34 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/append.hpp +10 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +21 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +26 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +26 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +30 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +282 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +178 -863
- data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +64 -98
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +17 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +18 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +30 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +65 -96
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +20 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +36 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +31 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +73 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +34 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +108 -151
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +6 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +6 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +30 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +50 -76
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +13 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +23 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +20 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +97 -299
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +97 -288
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +90 -288
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +551 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +365 -290
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +29 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +27 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +33 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +27 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +25 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +8 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +60 -272
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +52 -79
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +11 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +37 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +302 -262
- data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +12 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +5 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +21 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +129 -563
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +3 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +2 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +21 -97
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +155 -963
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +3 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +2 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +41 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +40 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +20 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +20 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/exception.hpp +2 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +8 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +3 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +1 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +9 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +41 -104
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +9 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +101 -123
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +36 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +13 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_descriptor_service.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_file_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.ipp +69 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_socket_service_base.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +15 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_serial_port_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +26 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +57 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +63 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +47 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp +209 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +195 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +209 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +6 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +17 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_service.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +11 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +7 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service.hpp +11 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service_base.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_wait_op.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +7 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +20 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +13 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +4 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_serial_port_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +61 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +37 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +89 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +40 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +40 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +135 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +37 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +4 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_task.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +20 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +12 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +104 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +20 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +7 -117
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +36 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +34 -112
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +268 -991
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +296 -536
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +232 -409
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +20 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +30 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +24 -170
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +2 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +240 -398
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +20 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +149 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +56 -59
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +149 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +1 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +1 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +59 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +56 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +20 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +56 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +56 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +25 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_handler.hpp +10 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_message.hpp +27 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +193 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_payload.hpp +143 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +24 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +77 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +20 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +50 -50
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_completion_handler.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/has_signature.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +46 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +33 -96
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_composed.hpp +62 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +48 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +56 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +18 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_coro.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +27 -31
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +15 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/file_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +10 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +10 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +37 -100
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +99 -107
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +66 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +55 -178
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +55 -178
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +123 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +84 -234
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +32 -97
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +73 -31
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +5 -58
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +3 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +60 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +39 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +36 -98
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +206 -429
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +60 -206
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +456 -970
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +43 -411
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +207 -423
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +19 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +32 -109
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +79 -425
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +213 -427
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +58 -194
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +91 -120
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +33 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +26 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +28 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +13 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +16 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +33 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +13 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +15 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +26 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +46 -76
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +9 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +10 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +18 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +9 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +24 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +14 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_contiguous_iterator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/seq_packet_protocol.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +3 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +1 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +29 -105
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +21 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +24 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +36 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +176 -333
- data/src/cxx_supportlib/vendor-modified/boost/asio/prepend.hpp +11 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +57 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/random_access_file.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +136 -168
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +35 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +256 -298
- data/src/cxx_supportlib/vendor-modified/boost/asio/readable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/recycling_allocator.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +35 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +108 -246
- data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +70 -79
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_base.hpp +173 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +127 -161
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +3 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +3 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +16 -75
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +15 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +51 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +91 -118
- data/src/cxx_supportlib/vendor-modified/boost/asio/stream_file.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +62 -62
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +35 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +91 -273
- data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +14 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +15 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +20 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +22 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +22 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +6 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +15 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +8 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/writable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +122 -146
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +34 -50
- data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -28
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +2 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +0 -49
- 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_ops_emulated.hpp +26 -27
- 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/pause.hpp +7 -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_on_address.hpp +1 -2
- 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 +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +2 -60
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +230 -1740
- 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 +1 -0
- 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 +1 -0
- 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/duration.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_get.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +1 -0
- 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/config/assert_cxx03.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +8 -2
- 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 +4 -0
- 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 +3 -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 +4 -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 +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +8 -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 +16 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +16 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +27 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +144 -145
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +48 -49
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +14 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +71 -69
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +48 -48
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +38 -40
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +165 -153
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +162 -163
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +1 -2
- 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 +6 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +44 -46
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +0 -8
- 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 +83 -84
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +77 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +81 -85
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +231 -233
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +86 -86
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -33
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +107 -110
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +9 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +29 -17
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +80 -82
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +81 -81
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +24 -26
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +147 -122
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +109 -110
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +32 -32
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +165 -194
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +263 -199
- 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 +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_range.hpp +296 -61
- 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 +38 -124
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +27 -20
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_described_class.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_range.hpp +8 -40
- 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 +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/core/alignof.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +22 -8
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +362 -31
- data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +29 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +46 -0
- 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/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/string_view.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/core/fclose_deleter.hpp +7 -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 +33 -36
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +3 -3
- 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/null_deleter.hpp +7 -0
- 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 +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +10 -40
- data/src/cxx_supportlib/vendor-modified/boost/core/type_name.hpp +29 -5
- data/src/cxx_supportlib/vendor-modified/boost/core/yield_primitives.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/members.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +3 -6
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +6 -97
- 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 +22 -10
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +1 -1
- 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 +49 -198
- data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +36 -41
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +277 -420
- 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/extended_euclidean.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +65 -66
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/array_initializer.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +10 -10
- 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/equal_to_value.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.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 +41 -41
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +14 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +12 -12
- 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 +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +6 -17
- 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 +20 -20
- 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_value_compare.hpp +28 -28
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +58 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +268 -239
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +57 -58
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +14 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +61 -62
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +36 -37
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +37 -34
- 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/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/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 +612 -645
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +85 -79
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +25 -32
- 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 +21 -16
- 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/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 +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +20 -19
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +41 -56
- 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 +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +32 -34
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +4 -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 +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +5 -6
- 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/meta_utils.hpp +2 -2
- 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 +65 -24
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/reverse_iterator.hpp +28 -28
- 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 +72 -23
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +81 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +22 -22
- 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 +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +97 -17
- data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/config.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_append.hpp +140 -4
- 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 +108 -4
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_front.hpp +13 -1
- 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_v.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_plus.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_rename.hpp +18 -5
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_value.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integral.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/list.hpp +180 -3
- data/src/cxx_supportlib/vendor-modified/boost/mp11/utility.hpp +2 -96
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +3 -3
- 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_t.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +4 -4
- 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/pool/pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +13 -0
- 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/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +2 -0
- 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/regex_workaround.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +23 -0
- 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/yield_k.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +2 -11
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -11
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +4 -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 +14 -50
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +16 -55
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +62 -124
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +29 -52
- 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 +4 -4
- 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 -46
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category.hpp +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category_impl.hpp +2 -2
- 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 +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_message.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/system/errc.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +1 -1
- 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/synchronized_value.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +1 -1
- 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/is_floating_point.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_integral.hpp +3 -0
- 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 +860 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +716 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +52 -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 +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +120 -85
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +1764 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +2271 -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 +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_set_types.hpp +44 -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 +204 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +139 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +92 -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 +651 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/tuple_rotate_right.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +356 -1118
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +2 -0
- 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 +96 -150
- 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/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 +136 -19
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +171 -103
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +70 -46
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +406 -899
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +7 -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 +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +699 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +253 -618
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +8 -14
- data/src/cxx_supportlib/vendor-modified/boost/utility/swap.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +8 -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/websocketpp/websocketpp/frame.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +14 -20
- data/src/helper-scripts/wsgi-loader.py +2 -2
- data/src/nginx_module/ConfigGeneral/ManifestGeneration.c +2 -2
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +16 -5
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/native_support.rb +10 -7
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +8 -10
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +14 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +4 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +6 -6
- data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +11 -12
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +4 -0
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- metadata +109 -150
- data/src/cxx_supportlib/ServerKit/http_parser.cpp +0 -2265
- data/src/cxx_supportlib/ServerKit/http_parser.h +0 -330
- data/src/cxx_supportlib/vendor-modified/boost/array.hpp +0 -456
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +0 -90
- 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/handler_invoke_helpers.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +0 -64
- 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/solaris_fenced_block.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +0 -294
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +0 -406
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +0 -1254
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +0 -498
- 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 -111
- 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 -296
- 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/operation_state.hpp +0 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +0 -287
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +0 -50
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +0 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +0 -318
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +0 -259
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +0 -259
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +0 -492
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +0 -256
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +0 -459
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +0 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +0 -300
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +0 -275
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +0 -300
- 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/execute_free.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/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/windows/basic_object_handle.hpp +0 -495
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +0 -462
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +0 -581
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +0 -563
- 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/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 -57
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_windows.hpp +0 -179
- 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/config/platform/cygwin.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/hash_table.hpp +0 -1278
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple.hpp +0 -133
- data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
- 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/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/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/foa.hpp +0 -1921
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +0 -64
- /data/dev/{webpacketpp.patch → websocketpp.patch} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
1
|
// Copyright (C) 2003-2004 Jeremy B. Maitin-Shepard.
|
|
3
2
|
// Copyright (C) 2005-2011 Daniel James.
|
|
4
|
-
// Copyright (C) 2022 Christian Mazakas
|
|
3
|
+
// Copyright (C) 2022-2023 Christian Mazakas
|
|
4
|
+
// Copyright (C) 2024 Joaquin M Lopez Munoz.
|
|
5
5
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
6
6
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
7
7
|
|
|
@@ -15,16 +15,14 @@
|
|
|
15
15
|
#pragma once
|
|
16
16
|
#endif
|
|
17
17
|
|
|
18
|
-
#include <boost/core/explicit_operator_bool.hpp>
|
|
19
|
-
#include <boost/functional/hash.hpp>
|
|
20
|
-
#include <boost/move/move.hpp>
|
|
21
|
-
#include <boost/type_traits/is_constructible.hpp>
|
|
22
18
|
#include <boost/unordered/detail/map.hpp>
|
|
19
|
+
#include <boost/unordered/detail/serialize_fca_container.hpp>
|
|
20
|
+
#include <boost/unordered/detail/throw_exception.hpp>
|
|
23
21
|
#include <boost/unordered/detail/type_traits.hpp>
|
|
24
22
|
|
|
25
|
-
#
|
|
23
|
+
#include <boost/container_hash/hash.hpp>
|
|
24
|
+
|
|
26
25
|
#include <initializer_list>
|
|
27
|
-
#endif
|
|
28
26
|
|
|
29
27
|
#if defined(BOOST_MSVC)
|
|
30
28
|
#pragma warning(push)
|
|
@@ -41,9 +39,6 @@ namespace boost {
|
|
|
41
39
|
namespace unordered {
|
|
42
40
|
template <class K, class T, class H, class P, class A> class unordered_map
|
|
43
41
|
{
|
|
44
|
-
#if defined(BOOST_UNORDERED_USE_MOVE)
|
|
45
|
-
BOOST_COPYABLE_AND_MOVABLE(unordered_map)
|
|
46
|
-
#endif
|
|
47
42
|
template <typename, typename, typename, typename, typename>
|
|
48
43
|
friend class unordered_multimap;
|
|
49
44
|
|
|
@@ -51,9 +46,11 @@ namespace boost {
|
|
|
51
46
|
typedef K key_type;
|
|
52
47
|
typedef T mapped_type;
|
|
53
48
|
typedef std::pair<const K, T> value_type;
|
|
54
|
-
typedef typename boost::type_identity<H>::type hasher;
|
|
55
|
-
typedef
|
|
56
|
-
|
|
49
|
+
typedef typename boost::unordered::detail::type_identity<H>::type hasher;
|
|
50
|
+
typedef
|
|
51
|
+
typename boost::unordered::detail::type_identity<P>::type key_equal;
|
|
52
|
+
typedef typename boost::unordered::detail::type_identity<A>::type
|
|
53
|
+
allocator_type;
|
|
57
54
|
|
|
58
55
|
private:
|
|
59
56
|
typedef boost::unordered::detail::map<A, K, T, H, P> types;
|
|
@@ -97,28 +94,23 @@ namespace boost {
|
|
|
97
94
|
|
|
98
95
|
unordered_map(unordered_map const&);
|
|
99
96
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
unordered_map(BOOST_RV_REF(unordered_map) other)
|
|
103
|
-
BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
|
|
97
|
+
unordered_map(unordered_map&& other)
|
|
98
|
+
noexcept(table::nothrow_move_constructible)
|
|
104
99
|
: table_(other.table_, boost::unordered::detail::move_tag())
|
|
105
100
|
{
|
|
106
101
|
// The move is done in table_
|
|
107
102
|
}
|
|
108
|
-
#endif
|
|
109
103
|
|
|
110
104
|
explicit unordered_map(allocator_type const&);
|
|
111
105
|
|
|
112
106
|
unordered_map(unordered_map const&, allocator_type const&);
|
|
113
107
|
|
|
114
|
-
unordered_map(
|
|
108
|
+
unordered_map(unordered_map&&, allocator_type const&);
|
|
115
109
|
|
|
116
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
117
110
|
unordered_map(std::initializer_list<value_type>,
|
|
118
111
|
size_type = boost::unordered::detail::default_bucket_count,
|
|
119
112
|
const hasher& = hasher(), const key_equal& l = key_equal(),
|
|
120
113
|
const allocator_type& = allocator_type());
|
|
121
|
-
#endif
|
|
122
114
|
|
|
123
115
|
explicit unordered_map(size_type, const allocator_type&);
|
|
124
116
|
|
|
@@ -134,7 +126,6 @@ namespace boost {
|
|
|
134
126
|
unordered_map(
|
|
135
127
|
InputIt, InputIt, size_type, const hasher&, const allocator_type&);
|
|
136
128
|
|
|
137
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
138
129
|
unordered_map(std::initializer_list<value_type>, const allocator_type&);
|
|
139
130
|
|
|
140
131
|
unordered_map(
|
|
@@ -142,262 +133,99 @@ namespace boost {
|
|
|
142
133
|
|
|
143
134
|
unordered_map(std::initializer_list<value_type>, size_type, const hasher&,
|
|
144
135
|
const allocator_type&);
|
|
145
|
-
#endif
|
|
146
136
|
|
|
147
137
|
// Destructor
|
|
148
138
|
|
|
149
|
-
~unordered_map()
|
|
139
|
+
~unordered_map() noexcept;
|
|
150
140
|
|
|
151
|
-
// Assign
|
|
141
|
+
// Assign
|
|
152
142
|
|
|
153
|
-
#if defined(BOOST_UNORDERED_USE_MOVE)
|
|
154
|
-
unordered_map& operator=(BOOST_COPY_ASSIGN_REF(unordered_map) x)
|
|
155
|
-
{
|
|
156
|
-
table_.assign(x.table_, boost::unordered::detail::true_type());
|
|
157
|
-
return *this;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
unordered_map& operator=(BOOST_RV_REF(unordered_map) x)
|
|
161
|
-
BOOST_NOEXCEPT_IF(value_allocator_traits::is_always_equal::value&&
|
|
162
|
-
boost::is_nothrow_move_assignable<H>::value&&
|
|
163
|
-
boost::is_nothrow_move_assignable<P>::value)
|
|
164
|
-
{
|
|
165
|
-
table_.move_assign(x.table_, boost::unordered::detail::true_type());
|
|
166
|
-
return *this;
|
|
167
|
-
}
|
|
168
|
-
#else
|
|
169
143
|
unordered_map& operator=(unordered_map const& x)
|
|
170
144
|
{
|
|
171
|
-
table_.assign(x.table_,
|
|
145
|
+
table_.assign(x.table_, std::true_type());
|
|
172
146
|
return *this;
|
|
173
147
|
}
|
|
174
148
|
|
|
175
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
176
149
|
unordered_map& operator=(unordered_map&& x)
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
150
|
+
noexcept(value_allocator_traits::is_always_equal::value&&
|
|
151
|
+
std::is_nothrow_move_assignable<H>::value&&
|
|
152
|
+
std::is_nothrow_move_assignable<P>::value)
|
|
180
153
|
{
|
|
181
|
-
table_.move_assign(x.table_,
|
|
154
|
+
table_.move_assign(x.table_, std::true_type());
|
|
182
155
|
return *this;
|
|
183
156
|
}
|
|
184
|
-
#endif
|
|
185
|
-
#endif
|
|
186
157
|
|
|
187
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
188
158
|
unordered_map& operator=(std::initializer_list<value_type>);
|
|
189
|
-
#endif
|
|
190
159
|
|
|
191
|
-
allocator_type get_allocator() const
|
|
160
|
+
allocator_type get_allocator() const noexcept
|
|
192
161
|
{
|
|
193
|
-
return table_.node_alloc();
|
|
162
|
+
return allocator_type(table_.node_alloc());
|
|
194
163
|
}
|
|
195
164
|
|
|
196
|
-
// // iterators
|
|
165
|
+
// // iterators
|
|
197
166
|
|
|
198
|
-
iterator begin()
|
|
167
|
+
iterator begin() noexcept { return table_.begin(); }
|
|
199
168
|
|
|
200
|
-
const_iterator begin() const
|
|
169
|
+
const_iterator begin() const noexcept
|
|
201
170
|
{
|
|
202
171
|
return const_iterator(table_.begin());
|
|
203
172
|
}
|
|
204
173
|
|
|
205
|
-
iterator end()
|
|
174
|
+
iterator end() noexcept { return iterator(); }
|
|
206
175
|
|
|
207
|
-
const_iterator end() const
|
|
176
|
+
const_iterator end() const noexcept { return const_iterator(); }
|
|
208
177
|
|
|
209
|
-
const_iterator cbegin() const
|
|
178
|
+
const_iterator cbegin() const noexcept
|
|
210
179
|
{
|
|
211
180
|
return const_iterator(table_.begin());
|
|
212
181
|
}
|
|
213
182
|
|
|
214
|
-
const_iterator cend() const
|
|
183
|
+
const_iterator cend() const noexcept { return const_iterator(); }
|
|
215
184
|
|
|
216
185
|
// size and capacity
|
|
217
186
|
|
|
218
|
-
BOOST_ATTRIBUTE_NODISCARD bool empty() const
|
|
187
|
+
BOOST_ATTRIBUTE_NODISCARD bool empty() const noexcept
|
|
219
188
|
{
|
|
220
189
|
return table_.size_ == 0;
|
|
221
190
|
}
|
|
222
191
|
|
|
223
|
-
size_type size() const
|
|
224
|
-
|
|
225
|
-
size_type max_size() const BOOST_NOEXCEPT;
|
|
192
|
+
size_type size() const noexcept { return table_.size_; }
|
|
226
193
|
|
|
227
|
-
|
|
194
|
+
size_type max_size() const noexcept;
|
|
228
195
|
|
|
229
|
-
|
|
196
|
+
// emplace
|
|
230
197
|
|
|
231
|
-
template <class... Args>
|
|
232
|
-
std::pair<iterator, bool> emplace(BOOST_FWD_REF(Args)... args)
|
|
198
|
+
template <class... Args> std::pair<iterator, bool> emplace(Args&&... args)
|
|
233
199
|
{
|
|
234
200
|
return table_.emplace_unique(
|
|
235
|
-
table::extractor::extract(
|
|
236
|
-
|
|
201
|
+
table::extractor::extract(std::forward<Args>(args)...),
|
|
202
|
+
std::forward<Args>(args)...);
|
|
237
203
|
}
|
|
238
204
|
|
|
239
|
-
#else
|
|
240
|
-
|
|
241
|
-
#if !BOOST_UNORDERED_SUN_WORKAROUNDS1
|
|
242
|
-
|
|
243
|
-
// 0 argument emplace requires special treatment in case
|
|
244
|
-
// the container is instantiated with a value type that
|
|
245
|
-
// doesn't have a default constructor.
|
|
246
|
-
|
|
247
|
-
std::pair<iterator, bool> emplace(
|
|
248
|
-
boost::unordered::detail::empty_emplace =
|
|
249
|
-
boost::unordered::detail::empty_emplace(),
|
|
250
|
-
value_type v = value_type())
|
|
251
|
-
{
|
|
252
|
-
return this->emplace(boost::move(v));
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
#endif
|
|
256
|
-
|
|
257
|
-
template <typename A0>
|
|
258
|
-
std::pair<iterator, bool> emplace(BOOST_FWD_REF(A0) a0)
|
|
259
|
-
{
|
|
260
|
-
return table_.emplace_unique(
|
|
261
|
-
table::extractor::extract(boost::forward<A0>(a0)),
|
|
262
|
-
boost::unordered::detail::create_emplace_args(
|
|
263
|
-
boost::forward<A0>(a0)));
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
template <typename A0, typename A1>
|
|
267
|
-
std::pair<iterator, bool> emplace(
|
|
268
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
269
|
-
{
|
|
270
|
-
return table_.emplace_unique(
|
|
271
|
-
table::extractor::extract(
|
|
272
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)),
|
|
273
|
-
boost::unordered::detail::create_emplace_args(
|
|
274
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)));
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
template <typename A0, typename A1, typename A2>
|
|
278
|
-
std::pair<iterator, bool> emplace(
|
|
279
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
280
|
-
{
|
|
281
|
-
return table_.emplace_unique(
|
|
282
|
-
table::extractor::extract(
|
|
283
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)),
|
|
284
|
-
boost::unordered::detail::create_emplace_args(boost::forward<A0>(a0),
|
|
285
|
-
boost::forward<A1>(a1), boost::forward<A2>(a2)));
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
#endif
|
|
289
|
-
|
|
290
|
-
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
291
|
-
|
|
292
205
|
template <class... Args>
|
|
293
|
-
iterator emplace_hint(const_iterator hint,
|
|
294
|
-
{
|
|
295
|
-
return table_.emplace_hint_unique(hint,
|
|
296
|
-
table::extractor::extract(boost::forward<Args>(args)...),
|
|
297
|
-
boost::forward<Args>(args)...);
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
#else
|
|
301
|
-
|
|
302
|
-
#if !BOOST_UNORDERED_SUN_WORKAROUNDS1
|
|
303
|
-
|
|
304
|
-
iterator emplace_hint(const_iterator hint,
|
|
305
|
-
boost::unordered::detail::empty_emplace =
|
|
306
|
-
boost::unordered::detail::empty_emplace(),
|
|
307
|
-
value_type v = value_type())
|
|
308
|
-
{
|
|
309
|
-
return this->emplace_hint(hint, boost::move(v));
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
#endif
|
|
313
|
-
|
|
314
|
-
template <typename A0>
|
|
315
|
-
iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(A0) a0)
|
|
316
|
-
{
|
|
317
|
-
return table_.emplace_hint_unique(hint,
|
|
318
|
-
table::extractor::extract(boost::forward<A0>(a0)),
|
|
319
|
-
boost::unordered::detail::create_emplace_args(
|
|
320
|
-
boost::forward<A0>(a0)));
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
template <typename A0, typename A1>
|
|
324
|
-
iterator emplace_hint(
|
|
325
|
-
const_iterator hint, BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
326
|
-
{
|
|
327
|
-
return table_.emplace_hint_unique(hint,
|
|
328
|
-
table::extractor::extract(
|
|
329
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)),
|
|
330
|
-
boost::unordered::detail::create_emplace_args(
|
|
331
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)));
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
template <typename A0, typename A1, typename A2>
|
|
335
|
-
iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(A0) a0,
|
|
336
|
-
BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
206
|
+
iterator emplace_hint(const_iterator hint, Args&&... args)
|
|
337
207
|
{
|
|
338
208
|
return table_.emplace_hint_unique(hint,
|
|
339
|
-
table::extractor::extract(
|
|
340
|
-
|
|
341
|
-
boost::unordered::detail::create_emplace_args(boost::forward<A0>(a0),
|
|
342
|
-
boost::forward<A1>(a1), boost::forward<A2>(a2)));
|
|
209
|
+
table::extractor::extract(std::forward<Args>(args)...),
|
|
210
|
+
std::forward<Args>(args)...);
|
|
343
211
|
}
|
|
344
212
|
|
|
345
|
-
#endif
|
|
346
|
-
|
|
347
|
-
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
348
|
-
|
|
349
|
-
#define BOOST_UNORDERED_EMPLACE(z, n, _) \
|
|
350
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
351
|
-
std::pair<iterator, bool> emplace( \
|
|
352
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
353
|
-
{ \
|
|
354
|
-
return table_.emplace_unique( \
|
|
355
|
-
table::extractor::extract( \
|
|
356
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)), \
|
|
357
|
-
boost::unordered::detail::create_emplace_args( \
|
|
358
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
|
|
359
|
-
} \
|
|
360
|
-
\
|
|
361
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
362
|
-
iterator emplace_hint( \
|
|
363
|
-
const_iterator hint, BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
364
|
-
{ \
|
|
365
|
-
return table_.emplace_hint_unique(hint, \
|
|
366
|
-
table::extractor::extract( \
|
|
367
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)), \
|
|
368
|
-
boost::unordered::detail::create_emplace_args( \
|
|
369
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
BOOST_UNORDERED_EMPLACE(1, 4, _)
|
|
373
|
-
BOOST_UNORDERED_EMPLACE(1, 5, _)
|
|
374
|
-
BOOST_UNORDERED_EMPLACE(1, 6, _)
|
|
375
|
-
BOOST_UNORDERED_EMPLACE(1, 7, _)
|
|
376
|
-
BOOST_UNORDERED_EMPLACE(1, 8, _)
|
|
377
|
-
BOOST_UNORDERED_EMPLACE(1, 9, _)
|
|
378
|
-
BOOST_PP_REPEAT_FROM_TO(10, BOOST_PP_INC(BOOST_UNORDERED_EMPLACE_LIMIT),
|
|
379
|
-
BOOST_UNORDERED_EMPLACE, _)
|
|
380
|
-
|
|
381
|
-
#undef BOOST_UNORDERED_EMPLACE
|
|
382
|
-
|
|
383
|
-
#endif
|
|
384
|
-
|
|
385
213
|
std::pair<iterator, bool> insert(value_type const& x)
|
|
386
214
|
{
|
|
387
215
|
return this->emplace(x);
|
|
388
216
|
}
|
|
389
217
|
|
|
390
|
-
std::pair<iterator, bool> insert(
|
|
218
|
+
std::pair<iterator, bool> insert(value_type&& x)
|
|
391
219
|
{
|
|
392
|
-
return this->emplace(
|
|
220
|
+
return this->emplace(std::move(x));
|
|
393
221
|
}
|
|
394
222
|
|
|
395
223
|
template <class P2>
|
|
396
|
-
typename boost::enable_if<
|
|
397
|
-
|
|
398
|
-
|
|
224
|
+
typename boost::enable_if<std::is_constructible<value_type, P2&&>,
|
|
225
|
+
std::pair<iterator, bool> >::type
|
|
226
|
+
insert(P2&& obj)
|
|
399
227
|
{
|
|
400
|
-
return this->emplace(
|
|
228
|
+
return this->emplace(std::forward<P2>(obj));
|
|
401
229
|
}
|
|
402
230
|
|
|
403
231
|
iterator insert(const_iterator hint, value_type const& x)
|
|
@@ -405,320 +233,153 @@ namespace boost {
|
|
|
405
233
|
return this->emplace_hint(hint, x);
|
|
406
234
|
}
|
|
407
235
|
|
|
408
|
-
iterator insert(const_iterator hint,
|
|
236
|
+
iterator insert(const_iterator hint, value_type&& x)
|
|
409
237
|
{
|
|
410
|
-
return this->emplace_hint(hint,
|
|
238
|
+
return this->emplace_hint(hint, std::move(x));
|
|
411
239
|
}
|
|
412
240
|
|
|
413
241
|
template <class P2>
|
|
414
|
-
typename boost::enable_if<
|
|
415
|
-
|
|
416
|
-
insert(const_iterator hint,
|
|
242
|
+
typename boost::enable_if<std::is_constructible<value_type, P2&&>,
|
|
243
|
+
iterator>::type
|
|
244
|
+
insert(const_iterator hint, P2&& obj)
|
|
417
245
|
{
|
|
418
|
-
return this->emplace_hint(hint,
|
|
246
|
+
return this->emplace_hint(hint, std::forward<P2>(obj));
|
|
419
247
|
}
|
|
420
248
|
|
|
421
249
|
template <class InputIt> void insert(InputIt, InputIt);
|
|
422
250
|
|
|
423
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
424
251
|
void insert(std::initializer_list<value_type>);
|
|
425
|
-
#endif
|
|
426
252
|
|
|
427
253
|
// extract
|
|
428
254
|
|
|
429
255
|
node_type extract(const_iterator position)
|
|
430
256
|
{
|
|
431
257
|
return node_type(
|
|
432
|
-
table_.extract_by_iterator_unique(position),
|
|
258
|
+
table_.extract_by_iterator_unique(position),
|
|
259
|
+
allocator_type(table_.node_alloc()));
|
|
433
260
|
}
|
|
434
261
|
|
|
435
262
|
node_type extract(const key_type& k)
|
|
436
263
|
{
|
|
437
|
-
return node_type(
|
|
264
|
+
return node_type(
|
|
265
|
+
table_.extract_by_key_impl(k),
|
|
266
|
+
allocator_type(table_.node_alloc()));
|
|
438
267
|
}
|
|
439
268
|
|
|
440
269
|
template <class Key>
|
|
441
270
|
typename boost::enable_if_c<
|
|
442
271
|
detail::transparent_non_iterable<Key, unordered_map>::value,
|
|
443
272
|
node_type>::type
|
|
444
|
-
extract(
|
|
273
|
+
extract(Key&& k)
|
|
445
274
|
{
|
|
446
|
-
return node_type(
|
|
447
|
-
table_.
|
|
275
|
+
return node_type(
|
|
276
|
+
table_.extract_by_key_impl(std::forward<Key>(k)),
|
|
277
|
+
allocator_type(table_.node_alloc()));
|
|
448
278
|
}
|
|
449
279
|
|
|
450
|
-
insert_return_type insert(
|
|
280
|
+
insert_return_type insert(node_type&& np)
|
|
451
281
|
{
|
|
452
282
|
insert_return_type result;
|
|
453
283
|
table_.move_insert_node_type_unique((node_type&)np, result);
|
|
454
|
-
return
|
|
284
|
+
return result;
|
|
455
285
|
}
|
|
456
286
|
|
|
457
|
-
iterator insert(const_iterator hint,
|
|
287
|
+
iterator insert(const_iterator hint, node_type&& np)
|
|
458
288
|
{
|
|
459
289
|
return table_.move_insert_node_type_with_hint_unique(hint, np);
|
|
460
290
|
}
|
|
461
291
|
|
|
462
|
-
#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
|
|
463
|
-
(BOOST_COMP_GNUC && BOOST_COMP_GNUC < BOOST_VERSION_NUMBER(4, 6, 0))
|
|
464
|
-
private:
|
|
465
|
-
// Note: Use r-value node_type to insert.
|
|
466
|
-
insert_return_type insert(node_type&);
|
|
467
|
-
iterator insert(const_iterator, node_type& np);
|
|
468
|
-
|
|
469
|
-
public:
|
|
470
|
-
#endif
|
|
471
|
-
|
|
472
|
-
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
473
|
-
|
|
474
292
|
template <class... Args>
|
|
475
|
-
std::pair<iterator, bool> try_emplace(
|
|
476
|
-
key_type const& k, BOOST_FWD_REF(Args)... args)
|
|
293
|
+
std::pair<iterator, bool> try_emplace(key_type const& k, Args&&... args)
|
|
477
294
|
{
|
|
478
|
-
return table_.try_emplace_unique(k,
|
|
295
|
+
return table_.try_emplace_unique(k, std::forward<Args>(args)...);
|
|
479
296
|
}
|
|
480
297
|
|
|
481
298
|
template <class... Args>
|
|
482
|
-
std::pair<iterator, bool> try_emplace(
|
|
483
|
-
BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
|
|
299
|
+
std::pair<iterator, bool> try_emplace(key_type&& k, Args&&... args)
|
|
484
300
|
{
|
|
485
301
|
return table_.try_emplace_unique(
|
|
486
|
-
|
|
302
|
+
std::move(k), std::forward<Args>(args)...);
|
|
487
303
|
}
|
|
488
304
|
|
|
489
|
-
template <class... Args>
|
|
490
|
-
|
|
491
|
-
|
|
305
|
+
template <class Key, class... Args>
|
|
306
|
+
typename boost::enable_if_c<
|
|
307
|
+
detail::transparent_non_iterable<Key, unordered_map>::value,
|
|
308
|
+
std::pair<iterator, bool> >::type
|
|
309
|
+
try_emplace(Key&& k, Args&&... args)
|
|
492
310
|
{
|
|
493
|
-
return table_.
|
|
494
|
-
|
|
311
|
+
return table_.try_emplace_unique(
|
|
312
|
+
std::forward<Key>(k), std::forward<Args>(args)...);
|
|
495
313
|
}
|
|
496
314
|
|
|
497
315
|
template <class... Args>
|
|
498
|
-
iterator try_emplace(
|
|
499
|
-
|
|
316
|
+
iterator try_emplace(
|
|
317
|
+
const_iterator hint, key_type const& k, Args&&... args)
|
|
500
318
|
{
|
|
501
319
|
return table_.try_emplace_hint_unique(
|
|
502
|
-
hint,
|
|
320
|
+
hint, k, std::forward<Args>(args)...);
|
|
503
321
|
}
|
|
504
322
|
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
// In order to make this a template, this handles both:
|
|
508
|
-
// try_emplace(key const&)
|
|
509
|
-
// try_emplace(key&&)
|
|
510
|
-
|
|
511
|
-
template <typename Key>
|
|
512
|
-
std::pair<iterator, bool> try_emplace(BOOST_FWD_REF(Key) k)
|
|
513
|
-
{
|
|
514
|
-
return table_.try_emplace_unique(boost::forward<Key>(k));
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
// In order to make this a template, this handles both:
|
|
518
|
-
// try_emplace(const_iterator hint, key const&)
|
|
519
|
-
// try_emplace(const_iterator hint, key&&)
|
|
520
|
-
|
|
521
|
-
template <typename Key>
|
|
522
|
-
iterator try_emplace(const_iterator hint, BOOST_FWD_REF(Key) k)
|
|
523
|
-
{
|
|
524
|
-
return table_.try_emplace_hint_unique(hint, boost::forward<Key>(k));
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
// try_emplace(key const&, Args&&...)
|
|
528
|
-
|
|
529
|
-
template <typename A0>
|
|
530
|
-
std::pair<iterator, bool> try_emplace(
|
|
531
|
-
key_type const& k, BOOST_FWD_REF(A0) a0)
|
|
532
|
-
{
|
|
533
|
-
return table_.try_emplace_unique(
|
|
534
|
-
k, boost::unordered::detail::create_emplace_args(
|
|
535
|
-
boost::forward<A0>(a0)));
|
|
536
|
-
}
|
|
537
|
-
|
|
538
|
-
template <typename A0, typename A1>
|
|
539
|
-
std::pair<iterator, bool> try_emplace(
|
|
540
|
-
key_type const& k, BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
541
|
-
{
|
|
542
|
-
return table_.try_emplace_unique(
|
|
543
|
-
k, boost::unordered::detail::create_emplace_args(
|
|
544
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)));
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
template <typename A0, typename A1, typename A2>
|
|
548
|
-
std::pair<iterator, bool> try_emplace(key_type const& k,
|
|
549
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
550
|
-
{
|
|
551
|
-
return table_.try_emplace_unique(k,
|
|
552
|
-
boost::unordered::detail::create_emplace_args(boost::forward<A0>(a0),
|
|
553
|
-
boost::forward<A1>(a1), boost::forward<A2>(a2)));
|
|
554
|
-
}
|
|
555
|
-
|
|
556
|
-
// try_emplace(key&&, Args&&...)
|
|
557
|
-
|
|
558
|
-
template <typename A0>
|
|
559
|
-
std::pair<iterator, bool> try_emplace(
|
|
560
|
-
BOOST_RV_REF(key_type) k, BOOST_FWD_REF(A0) a0)
|
|
561
|
-
{
|
|
562
|
-
return table_.try_emplace_unique(
|
|
563
|
-
boost::move(k), boost::unordered::detail::create_emplace_args(
|
|
564
|
-
boost::forward<A0>(a0)));
|
|
565
|
-
}
|
|
566
|
-
|
|
567
|
-
template <typename A0, typename A1>
|
|
568
|
-
std::pair<iterator, bool> try_emplace(
|
|
569
|
-
BOOST_RV_REF(key_type) k, BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
570
|
-
{
|
|
571
|
-
return table_.try_emplace_unique(
|
|
572
|
-
boost::move(k), boost::unordered::detail::create_emplace_args(
|
|
573
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)));
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
template <typename A0, typename A1, typename A2>
|
|
577
|
-
std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k,
|
|
578
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
579
|
-
{
|
|
580
|
-
return table_.try_emplace_unique(boost::move(k),
|
|
581
|
-
boost::unordered::detail::create_emplace_args(boost::forward<A0>(a0),
|
|
582
|
-
boost::forward<A1>(a1), boost::forward<A2>(a2)));
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
// try_emplace(const_iterator hint, key const&, Args&&...)
|
|
586
|
-
|
|
587
|
-
template <typename A0>
|
|
588
|
-
iterator try_emplace(
|
|
589
|
-
const_iterator hint, key_type const& k, BOOST_FWD_REF(A0) a0)
|
|
323
|
+
template <class... Args>
|
|
324
|
+
iterator try_emplace(const_iterator hint, key_type&& k, Args&&... args)
|
|
590
325
|
{
|
|
591
326
|
return table_.try_emplace_hint_unique(
|
|
592
|
-
hint, k,
|
|
593
|
-
boost::forward<A0>(a0)));
|
|
327
|
+
hint, std::move(k), std::forward<Args>(args)...);
|
|
594
328
|
}
|
|
595
329
|
|
|
596
|
-
template <
|
|
597
|
-
|
|
598
|
-
|
|
330
|
+
template <class Key, class... Args>
|
|
331
|
+
typename boost::enable_if_c<
|
|
332
|
+
detail::transparent_non_iterable<Key, unordered_map>::value,
|
|
333
|
+
iterator>::type
|
|
334
|
+
try_emplace(const_iterator hint, Key&& k, Args&&... args)
|
|
599
335
|
{
|
|
600
336
|
return table_.try_emplace_hint_unique(
|
|
601
|
-
hint, k,
|
|
602
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)));
|
|
337
|
+
hint, std::forward<Key>(k), std::forward<Args>(args)...);
|
|
603
338
|
}
|
|
604
339
|
|
|
605
|
-
template <
|
|
606
|
-
iterator
|
|
607
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
340
|
+
template <class M>
|
|
341
|
+
std::pair<iterator, bool> insert_or_assign(key_type const& k, M&& obj)
|
|
608
342
|
{
|
|
609
|
-
return table_.
|
|
610
|
-
boost::unordered::detail::create_emplace_args(boost::forward<A0>(a0),
|
|
611
|
-
boost::forward<A1>(a1), boost::forward<A2>(a2)));
|
|
343
|
+
return table_.insert_or_assign_unique(k, std::forward<M>(obj));
|
|
612
344
|
}
|
|
613
345
|
|
|
614
|
-
// try_emplace(const_iterator hint, key&&, Args&&...)
|
|
615
|
-
|
|
616
|
-
template <typename A0>
|
|
617
|
-
iterator try_emplace(
|
|
618
|
-
const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(A0) a0)
|
|
619
|
-
{
|
|
620
|
-
return table_.try_emplace_hint_unique(
|
|
621
|
-
hint, boost::move(k), boost::unordered::detail::create_emplace_args(
|
|
622
|
-
boost::forward<A0>(a0)));
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
template <typename A0, typename A1>
|
|
626
|
-
iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k,
|
|
627
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
628
|
-
{
|
|
629
|
-
return table_.try_emplace_hint_unique(hint, boost::move(k),
|
|
630
|
-
boost::unordered::detail::create_emplace_args(
|
|
631
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)));
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
template <typename A0, typename A1, typename A2>
|
|
635
|
-
iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k,
|
|
636
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
637
|
-
{
|
|
638
|
-
return table_.try_emplace_hint_unique(hint, boost::move(k),
|
|
639
|
-
boost::unordered::detail::create_emplace_args(boost::forward<A0>(a0),
|
|
640
|
-
boost::forward<A1>(a1), boost::forward<A2>(a2)));
|
|
641
|
-
}
|
|
642
|
-
|
|
643
|
-
#define BOOST_UNORDERED_TRY_EMPLACE(z, n, _) \
|
|
644
|
-
\
|
|
645
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
646
|
-
std::pair<iterator, bool> try_emplace( \
|
|
647
|
-
key_type const& k, BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
648
|
-
{ \
|
|
649
|
-
return table_.try_emplace_unique( \
|
|
650
|
-
k, boost::unordered::detail::create_emplace_args( \
|
|
651
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
|
|
652
|
-
} \
|
|
653
|
-
\
|
|
654
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
655
|
-
std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k, \
|
|
656
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
657
|
-
{ \
|
|
658
|
-
return table_.try_emplace_unique(boost::move(k), \
|
|
659
|
-
boost::unordered::detail::create_emplace_args( \
|
|
660
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
|
|
661
|
-
} \
|
|
662
|
-
\
|
|
663
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
664
|
-
iterator try_emplace(const_iterator hint, key_type const& k, \
|
|
665
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
666
|
-
{ \
|
|
667
|
-
return table_.try_emplace_hint_unique( \
|
|
668
|
-
hint, k, boost::unordered::detail::create_emplace_args( \
|
|
669
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
|
|
670
|
-
} \
|
|
671
|
-
\
|
|
672
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
673
|
-
iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k, \
|
|
674
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
675
|
-
{ \
|
|
676
|
-
return table_.try_emplace_hint_unique(hint, boost::move(k), \
|
|
677
|
-
boost::unordered::detail::create_emplace_args( \
|
|
678
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
|
|
679
|
-
}
|
|
680
|
-
|
|
681
|
-
BOOST_UNORDERED_TRY_EMPLACE(1, 4, _)
|
|
682
|
-
BOOST_UNORDERED_TRY_EMPLACE(1, 5, _)
|
|
683
|
-
BOOST_UNORDERED_TRY_EMPLACE(1, 6, _)
|
|
684
|
-
BOOST_UNORDERED_TRY_EMPLACE(1, 7, _)
|
|
685
|
-
BOOST_UNORDERED_TRY_EMPLACE(1, 8, _)
|
|
686
|
-
BOOST_UNORDERED_TRY_EMPLACE(1, 9, _)
|
|
687
|
-
BOOST_PP_REPEAT_FROM_TO(10, BOOST_PP_INC(BOOST_UNORDERED_EMPLACE_LIMIT),
|
|
688
|
-
BOOST_UNORDERED_TRY_EMPLACE, _)
|
|
689
|
-
|
|
690
|
-
#undef BOOST_UNORDERED_TRY_EMPLACE
|
|
691
|
-
|
|
692
|
-
#endif
|
|
693
|
-
|
|
694
346
|
template <class M>
|
|
695
|
-
std::pair<iterator, bool> insert_or_assign(
|
|
696
|
-
key_type const& k, BOOST_FWD_REF(M) obj)
|
|
347
|
+
std::pair<iterator, bool> insert_or_assign(key_type&& k, M&& obj)
|
|
697
348
|
{
|
|
698
|
-
return table_.insert_or_assign_unique(
|
|
349
|
+
return table_.insert_or_assign_unique(
|
|
350
|
+
std::move(k), std::forward<M>(obj));
|
|
699
351
|
}
|
|
700
352
|
|
|
701
|
-
template <class M>
|
|
702
|
-
|
|
703
|
-
|
|
353
|
+
template <class Key, class M>
|
|
354
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
355
|
+
std::pair<iterator, bool> >::type
|
|
356
|
+
insert_or_assign(Key&& k, M&& obj)
|
|
704
357
|
{
|
|
705
358
|
return table_.insert_or_assign_unique(
|
|
706
|
-
|
|
359
|
+
std::forward<Key>(k), std::forward<M>(obj));
|
|
707
360
|
}
|
|
708
361
|
|
|
709
362
|
template <class M>
|
|
710
|
-
iterator insert_or_assign(
|
|
711
|
-
const_iterator, key_type const& k, BOOST_FWD_REF(M) obj)
|
|
363
|
+
iterator insert_or_assign(const_iterator, key_type const& k, M&& obj)
|
|
712
364
|
{
|
|
713
|
-
return table_.insert_or_assign_unique(k,
|
|
365
|
+
return table_.insert_or_assign_unique(k, std::forward<M>(obj)).first;
|
|
714
366
|
}
|
|
715
367
|
|
|
716
368
|
template <class M>
|
|
717
|
-
iterator insert_or_assign(
|
|
718
|
-
|
|
369
|
+
iterator insert_or_assign(const_iterator, key_type&& k, M&& obj)
|
|
370
|
+
{
|
|
371
|
+
return table_
|
|
372
|
+
.insert_or_assign_unique(std::move(k), std::forward<M>(obj))
|
|
373
|
+
.first;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
template <class Key, class M>
|
|
377
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
378
|
+
iterator>::type
|
|
379
|
+
insert_or_assign(const_iterator, Key&& k, M&& obj)
|
|
719
380
|
{
|
|
720
381
|
return table_
|
|
721
|
-
.insert_or_assign_unique(
|
|
382
|
+
.insert_or_assign_unique(std::forward<Key>(k), std::forward<M>(obj))
|
|
722
383
|
.first;
|
|
723
384
|
}
|
|
724
385
|
|
|
@@ -731,9 +392,9 @@ namespace boost {
|
|
|
731
392
|
typename boost::enable_if_c<
|
|
732
393
|
detail::transparent_non_iterable<Key, unordered_map>::value,
|
|
733
394
|
size_type>::type
|
|
734
|
-
erase(
|
|
395
|
+
erase(Key&& k)
|
|
735
396
|
{
|
|
736
|
-
return table_.erase_key_unique_impl(
|
|
397
|
+
return table_.erase_key_unique_impl(std::forward<Key>(k));
|
|
737
398
|
}
|
|
738
399
|
|
|
739
400
|
BOOST_UNORDERED_DEPRECATED("Use erase instead")
|
|
@@ -742,26 +403,22 @@ namespace boost {
|
|
|
742
403
|
void erase_return_void(const_iterator it) { erase(it); }
|
|
743
404
|
|
|
744
405
|
void swap(unordered_map&)
|
|
745
|
-
|
|
746
|
-
boost::is_nothrow_swappable<H>::value&&
|
|
747
|
-
boost::is_nothrow_swappable<P>::value);
|
|
748
|
-
void clear()
|
|
406
|
+
noexcept(value_allocator_traits::is_always_equal::value&&
|
|
407
|
+
boost::unordered::detail::is_nothrow_swappable<H>::value&&
|
|
408
|
+
boost::unordered::detail::is_nothrow_swappable<P>::value);
|
|
409
|
+
void clear() noexcept { table_.clear_impl(); }
|
|
749
410
|
|
|
750
411
|
template <typename H2, typename P2>
|
|
751
412
|
void merge(boost::unordered_map<K, T, H2, P2, A>& source);
|
|
752
413
|
|
|
753
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
754
414
|
template <typename H2, typename P2>
|
|
755
415
|
void merge(boost::unordered_map<K, T, H2, P2, A>&& source);
|
|
756
|
-
#endif
|
|
757
416
|
|
|
758
417
|
template <typename H2, typename P2>
|
|
759
418
|
void merge(boost::unordered_multimap<K, T, H2, P2, A>& source);
|
|
760
419
|
|
|
761
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
762
420
|
template <typename H2, typename P2>
|
|
763
421
|
void merge(boost::unordered_multimap<K, T, H2, P2, A>&& source);
|
|
764
|
-
#endif
|
|
765
422
|
|
|
766
423
|
// observers
|
|
767
424
|
|
|
@@ -855,18 +512,31 @@ namespace boost {
|
|
|
855
512
|
}
|
|
856
513
|
|
|
857
514
|
mapped_type& operator[](const key_type&);
|
|
858
|
-
mapped_type& operator[](
|
|
515
|
+
mapped_type& operator[](key_type&&);
|
|
516
|
+
|
|
517
|
+
template <class Key>
|
|
518
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
519
|
+
mapped_type&>::type
|
|
520
|
+
operator[](Key&& k);
|
|
521
|
+
|
|
859
522
|
mapped_type& at(const key_type&);
|
|
860
523
|
mapped_type const& at(const key_type&) const;
|
|
861
524
|
|
|
525
|
+
template <class Key>
|
|
526
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
527
|
+
mapped_type&>::type
|
|
528
|
+
at(Key&& k);
|
|
529
|
+
|
|
530
|
+
template <class Key>
|
|
531
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
532
|
+
mapped_type const&>::type
|
|
533
|
+
at(Key&& k) const;
|
|
534
|
+
|
|
862
535
|
// bucket interface
|
|
863
536
|
|
|
864
|
-
size_type bucket_count() const
|
|
865
|
-
{
|
|
866
|
-
return table_.bucket_count();
|
|
867
|
-
}
|
|
537
|
+
size_type bucket_count() const noexcept { return table_.bucket_count(); }
|
|
868
538
|
|
|
869
|
-
size_type max_bucket_count() const
|
|
539
|
+
size_type max_bucket_count() const noexcept
|
|
870
540
|
{
|
|
871
541
|
return table_.max_bucket_count();
|
|
872
542
|
}
|
|
@@ -878,11 +548,16 @@ namespace boost {
|
|
|
878
548
|
return table_.hash_to_bucket(table_.hash(k));
|
|
879
549
|
}
|
|
880
550
|
|
|
881
|
-
|
|
551
|
+
template <class Key>
|
|
552
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
553
|
+
size_type>::type
|
|
554
|
+
bucket(Key&& k) const
|
|
882
555
|
{
|
|
883
|
-
return table_.
|
|
556
|
+
return table_.hash_to_bucket(table_.hash(std::forward<Key>(k)));
|
|
884
557
|
}
|
|
885
558
|
|
|
559
|
+
local_iterator begin(size_type n) { return table_.begin(n); }
|
|
560
|
+
|
|
886
561
|
const_local_iterator begin(size_type n) const
|
|
887
562
|
{
|
|
888
563
|
return const_local_iterator(table_.begin(n));
|
|
@@ -906,9 +581,9 @@ namespace boost {
|
|
|
906
581
|
|
|
907
582
|
// hash policy
|
|
908
583
|
|
|
909
|
-
float load_factor() const
|
|
910
|
-
float max_load_factor() const
|
|
911
|
-
void max_load_factor(float)
|
|
584
|
+
float load_factor() const noexcept;
|
|
585
|
+
float max_load_factor() const noexcept { return table_.mlf_; }
|
|
586
|
+
void max_load_factor(float) noexcept;
|
|
912
587
|
void rehash(size_type);
|
|
913
588
|
void reserve(size_type);
|
|
914
589
|
|
|
@@ -920,19 +595,14 @@ namespace boost {
|
|
|
920
595
|
#endif
|
|
921
596
|
}; // class template unordered_map
|
|
922
597
|
|
|
923
|
-
|
|
598
|
+
template <class Archive, class K, class T, class H, class P, class A>
|
|
599
|
+
void serialize(
|
|
600
|
+
Archive& ar, unordered_map<K, T, H, P, A>& m, unsigned int version)
|
|
601
|
+
{
|
|
602
|
+
detail::serialize_fca_container(ar, m, version);
|
|
603
|
+
}
|
|
924
604
|
|
|
925
|
-
|
|
926
|
-
template <typename T>
|
|
927
|
-
using iter_key_t =
|
|
928
|
-
typename std::iterator_traits<T>::value_type::first_type;
|
|
929
|
-
template <typename T>
|
|
930
|
-
using iter_val_t =
|
|
931
|
-
typename std::iterator_traits<T>::value_type::second_type;
|
|
932
|
-
template <typename T>
|
|
933
|
-
using iter_to_alloc_t =
|
|
934
|
-
typename std::pair<iter_key_t<T> const, iter_val_t<T> >;
|
|
935
|
-
} // namespace detail
|
|
605
|
+
#if BOOST_UNORDERED_TEMPLATE_DEDUCTION_GUIDES
|
|
936
606
|
|
|
937
607
|
template <class InputIterator,
|
|
938
608
|
class Hash =
|
|
@@ -941,10 +611,10 @@ namespace boost {
|
|
|
941
611
|
std::equal_to<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
942
612
|
class Allocator = std::allocator<
|
|
943
613
|
boost::unordered::detail::iter_to_alloc_t<InputIterator> >,
|
|
944
|
-
class =
|
|
945
|
-
class =
|
|
946
|
-
class =
|
|
947
|
-
class =
|
|
614
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
615
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
616
|
+
class = std::enable_if_t<detail::is_pred_v<Pred> >,
|
|
617
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
948
618
|
unordered_map(InputIterator, InputIterator,
|
|
949
619
|
std::size_t = boost::unordered::detail::default_bucket_count,
|
|
950
620
|
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
|
|
@@ -953,20 +623,20 @@ namespace boost {
|
|
|
953
623
|
Allocator>;
|
|
954
624
|
|
|
955
625
|
template <class Key, class T,
|
|
956
|
-
class Hash = boost::hash<
|
|
957
|
-
class Pred = std::equal_to<
|
|
626
|
+
class Hash = boost::hash<std::remove_const_t<Key> >,
|
|
627
|
+
class Pred = std::equal_to<std::remove_const_t<Key> >,
|
|
958
628
|
class Allocator = std::allocator<std::pair<const Key, T> >,
|
|
959
|
-
class =
|
|
960
|
-
class =
|
|
961
|
-
class =
|
|
629
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
630
|
+
class = std::enable_if_t<detail::is_pred_v<Pred> >,
|
|
631
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
962
632
|
unordered_map(std::initializer_list<std::pair<Key, T> >,
|
|
963
633
|
std::size_t = boost::unordered::detail::default_bucket_count,
|
|
964
634
|
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
|
|
965
|
-
-> unordered_map<
|
|
635
|
+
-> unordered_map<std::remove_const_t<Key>, T, Hash, Pred, Allocator>;
|
|
966
636
|
|
|
967
637
|
template <class InputIterator, class Allocator,
|
|
968
|
-
class =
|
|
969
|
-
class =
|
|
638
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
639
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
970
640
|
unordered_map(InputIterator, InputIterator, std::size_t, Allocator)
|
|
971
641
|
-> unordered_map<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
972
642
|
boost::unordered::detail::iter_val_t<InputIterator>,
|
|
@@ -975,8 +645,8 @@ namespace boost {
|
|
|
975
645
|
Allocator>;
|
|
976
646
|
|
|
977
647
|
template <class InputIterator, class Allocator,
|
|
978
|
-
class =
|
|
979
|
-
class =
|
|
648
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
649
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
980
650
|
unordered_map(InputIterator, InputIterator, Allocator)
|
|
981
651
|
-> unordered_map<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
982
652
|
boost::unordered::detail::iter_val_t<InputIterator>,
|
|
@@ -985,9 +655,9 @@ namespace boost {
|
|
|
985
655
|
Allocator>;
|
|
986
656
|
|
|
987
657
|
template <class InputIterator, class Hash, class Allocator,
|
|
988
|
-
class =
|
|
989
|
-
class =
|
|
990
|
-
class =
|
|
658
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
659
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
660
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
991
661
|
unordered_map(InputIterator, InputIterator, std::size_t, Hash, Allocator)
|
|
992
662
|
-> unordered_map<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
993
663
|
boost::unordered::detail::iter_val_t<InputIterator>, Hash,
|
|
@@ -995,34 +665,31 @@ namespace boost {
|
|
|
995
665
|
Allocator>;
|
|
996
666
|
|
|
997
667
|
template <class Key, class T, class Allocator,
|
|
998
|
-
class =
|
|
668
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
999
669
|
unordered_map(std::initializer_list<std::pair<Key, T> >, std::size_t,
|
|
1000
|
-
Allocator) -> unordered_map<
|
|
1001
|
-
boost::hash<
|
|
1002
|
-
std::equal_to<
|
|
670
|
+
Allocator) -> unordered_map<std::remove_const_t<Key>, T,
|
|
671
|
+
boost::hash<std::remove_const_t<Key> >,
|
|
672
|
+
std::equal_to<std::remove_const_t<Key> >, Allocator>;
|
|
1003
673
|
|
|
1004
674
|
template <class Key, class T, class Allocator,
|
|
1005
|
-
class =
|
|
675
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1006
676
|
unordered_map(std::initializer_list<std::pair<Key, T> >, Allocator)
|
|
1007
|
-
-> unordered_map<
|
|
1008
|
-
boost::hash<
|
|
1009
|
-
std::equal_to<
|
|
677
|
+
-> unordered_map<std::remove_const_t<Key>, T,
|
|
678
|
+
boost::hash<std::remove_const_t<Key> >,
|
|
679
|
+
std::equal_to<std::remove_const_t<Key> >, Allocator>;
|
|
1010
680
|
|
|
1011
681
|
template <class Key, class T, class Hash, class Allocator,
|
|
1012
|
-
class =
|
|
1013
|
-
class =
|
|
682
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
683
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1014
684
|
unordered_map(std::initializer_list<std::pair<Key, T> >, std::size_t, Hash,
|
|
1015
|
-
Allocator) -> unordered_map<
|
|
1016
|
-
std::equal_to<
|
|
685
|
+
Allocator) -> unordered_map<std::remove_const_t<Key>, T, Hash,
|
|
686
|
+
std::equal_to<std::remove_const_t<Key> >, Allocator>;
|
|
1017
687
|
|
|
1018
688
|
#endif
|
|
1019
689
|
|
|
1020
690
|
template <class K, class T, class H, class P, class A>
|
|
1021
691
|
class unordered_multimap
|
|
1022
692
|
{
|
|
1023
|
-
#if defined(BOOST_UNORDERED_USE_MOVE)
|
|
1024
|
-
BOOST_COPYABLE_AND_MOVABLE(unordered_multimap)
|
|
1025
|
-
#endif
|
|
1026
693
|
template <typename, typename, typename, typename, typename>
|
|
1027
694
|
friend class unordered_map;
|
|
1028
695
|
|
|
@@ -1030,9 +697,11 @@ namespace boost {
|
|
|
1030
697
|
typedef K key_type;
|
|
1031
698
|
typedef T mapped_type;
|
|
1032
699
|
typedef std::pair<const K, T> value_type;
|
|
1033
|
-
typedef typename boost::type_identity<H>::type hasher;
|
|
1034
|
-
typedef
|
|
1035
|
-
|
|
700
|
+
typedef typename boost::unordered::detail::type_identity<H>::type hasher;
|
|
701
|
+
typedef
|
|
702
|
+
typename boost::unordered::detail::type_identity<P>::type key_equal;
|
|
703
|
+
typedef typename boost::unordered::detail::type_identity<A>::type
|
|
704
|
+
allocator_type;
|
|
1036
705
|
|
|
1037
706
|
private:
|
|
1038
707
|
typedef boost::unordered::detail::map<A, K, T, H, P> types;
|
|
@@ -1075,29 +744,23 @@ namespace boost {
|
|
|
1075
744
|
|
|
1076
745
|
unordered_multimap(unordered_multimap const&);
|
|
1077
746
|
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
unordered_multimap(BOOST_RV_REF(unordered_multimap) other)
|
|
1081
|
-
BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
|
|
747
|
+
unordered_multimap(unordered_multimap&& other)
|
|
748
|
+
noexcept(table::nothrow_move_constructible)
|
|
1082
749
|
: table_(other.table_, boost::unordered::detail::move_tag())
|
|
1083
750
|
{
|
|
1084
751
|
// The move is done in table_
|
|
1085
752
|
}
|
|
1086
|
-
#endif
|
|
1087
753
|
|
|
1088
754
|
explicit unordered_multimap(allocator_type const&);
|
|
1089
755
|
|
|
1090
756
|
unordered_multimap(unordered_multimap const&, allocator_type const&);
|
|
1091
757
|
|
|
1092
|
-
unordered_multimap(
|
|
1093
|
-
BOOST_RV_REF(unordered_multimap), allocator_type const&);
|
|
758
|
+
unordered_multimap(unordered_multimap&&, allocator_type const&);
|
|
1094
759
|
|
|
1095
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1096
760
|
unordered_multimap(std::initializer_list<value_type>,
|
|
1097
761
|
size_type = boost::unordered::detail::default_bucket_count,
|
|
1098
762
|
const hasher& = hasher(), const key_equal& l = key_equal(),
|
|
1099
763
|
const allocator_type& = allocator_type());
|
|
1100
|
-
#endif
|
|
1101
764
|
|
|
1102
765
|
explicit unordered_multimap(size_type, const allocator_type&);
|
|
1103
766
|
|
|
@@ -1114,7 +777,6 @@ namespace boost {
|
|
|
1114
777
|
unordered_multimap(
|
|
1115
778
|
InputIt, InputIt, size_type, const hasher&, const allocator_type&);
|
|
1116
779
|
|
|
1117
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1118
780
|
unordered_multimap(
|
|
1119
781
|
std::initializer_list<value_type>, const allocator_type&);
|
|
1120
782
|
|
|
@@ -1123,256 +785,93 @@ namespace boost {
|
|
|
1123
785
|
|
|
1124
786
|
unordered_multimap(std::initializer_list<value_type>, size_type,
|
|
1125
787
|
const hasher&, const allocator_type&);
|
|
1126
|
-
#endif
|
|
1127
788
|
|
|
1128
789
|
// Destructor
|
|
1129
790
|
|
|
1130
|
-
~unordered_multimap()
|
|
791
|
+
~unordered_multimap() noexcept;
|
|
1131
792
|
|
|
1132
|
-
// Assign
|
|
793
|
+
// Assign
|
|
1133
794
|
|
|
1134
|
-
#if defined(BOOST_UNORDERED_USE_MOVE)
|
|
1135
|
-
unordered_multimap& operator=(BOOST_COPY_ASSIGN_REF(unordered_multimap) x)
|
|
1136
|
-
{
|
|
1137
|
-
table_.assign(x.table_, boost::unordered::detail::false_type());
|
|
1138
|
-
return *this;
|
|
1139
|
-
}
|
|
1140
|
-
|
|
1141
|
-
unordered_multimap& operator=(BOOST_RV_REF(unordered_multimap) x)
|
|
1142
|
-
BOOST_NOEXCEPT_IF(value_allocator_traits::is_always_equal::value&&
|
|
1143
|
-
boost::is_nothrow_move_assignable<H>::value&&
|
|
1144
|
-
boost::is_nothrow_move_assignable<P>::value)
|
|
1145
|
-
{
|
|
1146
|
-
table_.move_assign(x.table_, boost::unordered::detail::false_type());
|
|
1147
|
-
return *this;
|
|
1148
|
-
}
|
|
1149
|
-
#else
|
|
1150
795
|
unordered_multimap& operator=(unordered_multimap const& x)
|
|
1151
796
|
{
|
|
1152
|
-
table_.assign(x.table_,
|
|
797
|
+
table_.assign(x.table_, std::false_type());
|
|
1153
798
|
return *this;
|
|
1154
799
|
}
|
|
1155
800
|
|
|
1156
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
1157
801
|
unordered_multimap& operator=(unordered_multimap&& x)
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
802
|
+
noexcept(value_allocator_traits::is_always_equal::value&&
|
|
803
|
+
std::is_nothrow_move_assignable<H>::value&&
|
|
804
|
+
std::is_nothrow_move_assignable<P>::value)
|
|
1161
805
|
{
|
|
1162
|
-
table_.move_assign(x.table_,
|
|
806
|
+
table_.move_assign(x.table_, std::false_type());
|
|
1163
807
|
return *this;
|
|
1164
808
|
}
|
|
1165
|
-
#endif
|
|
1166
|
-
#endif
|
|
1167
809
|
|
|
1168
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1169
810
|
unordered_multimap& operator=(std::initializer_list<value_type>);
|
|
1170
|
-
#endif
|
|
1171
811
|
|
|
1172
|
-
allocator_type get_allocator() const
|
|
812
|
+
allocator_type get_allocator() const noexcept
|
|
1173
813
|
{
|
|
1174
|
-
return table_.node_alloc();
|
|
814
|
+
return allocator_type(table_.node_alloc());
|
|
1175
815
|
}
|
|
1176
816
|
|
|
1177
817
|
// iterators
|
|
1178
818
|
|
|
1179
|
-
iterator begin()
|
|
819
|
+
iterator begin() noexcept { return iterator(table_.begin()); }
|
|
1180
820
|
|
|
1181
|
-
const_iterator begin() const
|
|
821
|
+
const_iterator begin() const noexcept
|
|
1182
822
|
{
|
|
1183
823
|
return const_iterator(table_.begin());
|
|
1184
824
|
}
|
|
1185
825
|
|
|
1186
|
-
iterator end()
|
|
826
|
+
iterator end() noexcept { return iterator(); }
|
|
1187
827
|
|
|
1188
|
-
const_iterator end() const
|
|
828
|
+
const_iterator end() const noexcept { return const_iterator(); }
|
|
1189
829
|
|
|
1190
|
-
const_iterator cbegin() const
|
|
830
|
+
const_iterator cbegin() const noexcept
|
|
1191
831
|
{
|
|
1192
832
|
return const_iterator(table_.begin());
|
|
1193
833
|
}
|
|
1194
834
|
|
|
1195
|
-
const_iterator cend() const
|
|
835
|
+
const_iterator cend() const noexcept { return const_iterator(); }
|
|
1196
836
|
|
|
1197
837
|
// size and capacity
|
|
1198
838
|
|
|
1199
|
-
BOOST_ATTRIBUTE_NODISCARD bool empty() const
|
|
839
|
+
BOOST_ATTRIBUTE_NODISCARD bool empty() const noexcept
|
|
1200
840
|
{
|
|
1201
841
|
return table_.size_ == 0;
|
|
1202
842
|
}
|
|
1203
843
|
|
|
1204
|
-
size_type size() const
|
|
844
|
+
size_type size() const noexcept { return table_.size_; }
|
|
1205
845
|
|
|
1206
|
-
size_type max_size() const
|
|
846
|
+
size_type max_size() const noexcept;
|
|
1207
847
|
|
|
1208
|
-
// emplace
|
|
848
|
+
// emplace
|
|
1209
849
|
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
template <class... Args> iterator emplace(BOOST_FWD_REF(Args)... args)
|
|
850
|
+
template <class... Args> iterator emplace(Args&&... args)
|
|
1213
851
|
{
|
|
1214
852
|
return iterator(table_.emplace_equiv(
|
|
1215
853
|
boost::unordered::detail::func::construct_node_from_args(
|
|
1216
|
-
table_.node_alloc(),
|
|
854
|
+
table_.node_alloc(), std::forward<Args>(args)...)));
|
|
1217
855
|
}
|
|
1218
856
|
|
|
1219
|
-
#else
|
|
1220
|
-
|
|
1221
|
-
#if !BOOST_UNORDERED_SUN_WORKAROUNDS1
|
|
1222
|
-
|
|
1223
|
-
// 0 argument emplace requires special treatment in case
|
|
1224
|
-
// the container is instantiated with a value type that
|
|
1225
|
-
// doesn't have a default constructor.
|
|
1226
|
-
|
|
1227
|
-
iterator emplace(boost::unordered::detail::empty_emplace =
|
|
1228
|
-
boost::unordered::detail::empty_emplace(),
|
|
1229
|
-
value_type v = value_type())
|
|
1230
|
-
{
|
|
1231
|
-
return this->emplace(boost::move(v));
|
|
1232
|
-
}
|
|
1233
|
-
|
|
1234
|
-
#endif
|
|
1235
|
-
|
|
1236
|
-
template <typename A0> iterator emplace(BOOST_FWD_REF(A0) a0)
|
|
1237
|
-
{
|
|
1238
|
-
return iterator(table_.emplace_equiv(
|
|
1239
|
-
boost::unordered::detail::func::construct_node_from_args(
|
|
1240
|
-
table_.node_alloc(), boost::unordered::detail::create_emplace_args(
|
|
1241
|
-
boost::forward<A0>(a0)))));
|
|
1242
|
-
}
|
|
1243
|
-
|
|
1244
|
-
template <typename A0, typename A1>
|
|
1245
|
-
iterator emplace(BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
1246
|
-
{
|
|
1247
|
-
return iterator(table_.emplace_equiv(
|
|
1248
|
-
boost::unordered::detail::func::construct_node_from_args(
|
|
1249
|
-
table_.node_alloc(),
|
|
1250
|
-
boost::unordered::detail::create_emplace_args(
|
|
1251
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)))));
|
|
1252
|
-
}
|
|
1253
|
-
|
|
1254
|
-
template <typename A0, typename A1, typename A2>
|
|
1255
|
-
iterator emplace(
|
|
1256
|
-
BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
1257
|
-
{
|
|
1258
|
-
return iterator(table_.emplace_equiv(
|
|
1259
|
-
boost::unordered::detail::func::construct_node_from_args(
|
|
1260
|
-
table_.node_alloc(),
|
|
1261
|
-
boost::unordered::detail::create_emplace_args(
|
|
1262
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1),
|
|
1263
|
-
boost::forward<A2>(a2)))));
|
|
1264
|
-
}
|
|
1265
|
-
|
|
1266
|
-
#endif
|
|
1267
|
-
|
|
1268
|
-
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
1269
|
-
|
|
1270
857
|
template <class... Args>
|
|
1271
|
-
iterator emplace_hint(const_iterator hint,
|
|
1272
|
-
{
|
|
1273
|
-
return iterator(table_.emplace_hint_equiv(
|
|
1274
|
-
hint, boost::unordered::detail::func::construct_node_from_args(
|
|
1275
|
-
table_.node_alloc(), boost::forward<Args>(args)...)));
|
|
1276
|
-
}
|
|
1277
|
-
|
|
1278
|
-
#else
|
|
1279
|
-
|
|
1280
|
-
#if !BOOST_UNORDERED_SUN_WORKAROUNDS1
|
|
1281
|
-
|
|
1282
|
-
iterator emplace_hint(const_iterator hint,
|
|
1283
|
-
boost::unordered::detail::empty_emplace =
|
|
1284
|
-
boost::unordered::detail::empty_emplace(),
|
|
1285
|
-
value_type v = value_type())
|
|
1286
|
-
{
|
|
1287
|
-
return this->emplace_hint(hint, boost::move(v));
|
|
1288
|
-
}
|
|
1289
|
-
|
|
1290
|
-
#endif
|
|
1291
|
-
|
|
1292
|
-
template <typename A0>
|
|
1293
|
-
iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(A0) a0)
|
|
1294
|
-
{
|
|
1295
|
-
return iterator(table_.emplace_hint_equiv(hint,
|
|
1296
|
-
boost::unordered::detail::func::construct_node_from_args(
|
|
1297
|
-
table_.node_alloc(), boost::unordered::detail::create_emplace_args(
|
|
1298
|
-
boost::forward<A0>(a0)))));
|
|
1299
|
-
}
|
|
1300
|
-
|
|
1301
|
-
template <typename A0, typename A1>
|
|
1302
|
-
iterator emplace_hint(
|
|
1303
|
-
const_iterator hint, BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
|
|
1304
|
-
{
|
|
1305
|
-
return iterator(table_.emplace_hint_equiv(
|
|
1306
|
-
hint, boost::unordered::detail::func::construct_node_from_args(
|
|
1307
|
-
table_.node_alloc(),
|
|
1308
|
-
boost::unordered::detail::create_emplace_args(
|
|
1309
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1)))));
|
|
1310
|
-
}
|
|
1311
|
-
|
|
1312
|
-
template <typename A0, typename A1, typename A2>
|
|
1313
|
-
iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(A0) a0,
|
|
1314
|
-
BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
|
|
858
|
+
iterator emplace_hint(const_iterator hint, Args&&... args)
|
|
1315
859
|
{
|
|
1316
860
|
return iterator(table_.emplace_hint_equiv(
|
|
1317
861
|
hint, boost::unordered::detail::func::construct_node_from_args(
|
|
1318
|
-
table_.node_alloc(),
|
|
1319
|
-
boost::unordered::detail::create_emplace_args(
|
|
1320
|
-
boost::forward<A0>(a0), boost::forward<A1>(a1),
|
|
1321
|
-
boost::forward<A2>(a2)))));
|
|
862
|
+
table_.node_alloc(), std::forward<Args>(args)...)));
|
|
1322
863
|
}
|
|
1323
864
|
|
|
1324
|
-
#endif
|
|
1325
|
-
|
|
1326
|
-
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
|
1327
|
-
|
|
1328
|
-
#define BOOST_UNORDERED_EMPLACE(z, n, _) \
|
|
1329
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
1330
|
-
iterator emplace(BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
1331
|
-
{ \
|
|
1332
|
-
return iterator(table_.emplace_equiv( \
|
|
1333
|
-
boost::unordered::detail::func::construct_node_from_args( \
|
|
1334
|
-
table_.node_alloc(), \
|
|
1335
|
-
boost::unordered::detail::create_emplace_args( \
|
|
1336
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))))); \
|
|
1337
|
-
} \
|
|
1338
|
-
\
|
|
1339
|
-
template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
|
|
1340
|
-
iterator emplace_hint( \
|
|
1341
|
-
const_iterator hint, BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
|
|
1342
|
-
{ \
|
|
1343
|
-
return iterator(table_.emplace_hint_equiv( \
|
|
1344
|
-
hint, boost::unordered::detail::func::construct_node_from_args( \
|
|
1345
|
-
table_.node_alloc(), \
|
|
1346
|
-
boost::unordered::detail::create_emplace_args( \
|
|
1347
|
-
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))))); \
|
|
1348
|
-
}
|
|
1349
|
-
|
|
1350
|
-
BOOST_UNORDERED_EMPLACE(1, 4, _)
|
|
1351
|
-
BOOST_UNORDERED_EMPLACE(1, 5, _)
|
|
1352
|
-
BOOST_UNORDERED_EMPLACE(1, 6, _)
|
|
1353
|
-
BOOST_UNORDERED_EMPLACE(1, 7, _)
|
|
1354
|
-
BOOST_UNORDERED_EMPLACE(1, 8, _)
|
|
1355
|
-
BOOST_UNORDERED_EMPLACE(1, 9, _)
|
|
1356
|
-
BOOST_PP_REPEAT_FROM_TO(10, BOOST_PP_INC(BOOST_UNORDERED_EMPLACE_LIMIT),
|
|
1357
|
-
BOOST_UNORDERED_EMPLACE, _)
|
|
1358
|
-
|
|
1359
|
-
#undef BOOST_UNORDERED_EMPLACE
|
|
1360
|
-
|
|
1361
|
-
#endif
|
|
1362
|
-
|
|
1363
865
|
iterator insert(value_type const& x) { return this->emplace(x); }
|
|
1364
866
|
|
|
1365
|
-
iterator insert(
|
|
1366
|
-
{
|
|
1367
|
-
return this->emplace(boost::move(x));
|
|
1368
|
-
}
|
|
867
|
+
iterator insert(value_type&& x) { return this->emplace(std::move(x)); }
|
|
1369
868
|
|
|
1370
869
|
template <class P2>
|
|
1371
|
-
typename boost::enable_if<
|
|
1372
|
-
|
|
1373
|
-
|
|
870
|
+
typename boost::enable_if<std::is_constructible<value_type, P2&&>,
|
|
871
|
+
iterator>::type
|
|
872
|
+
insert(P2&& obj)
|
|
1374
873
|
{
|
|
1375
|
-
return this->emplace(
|
|
874
|
+
return this->emplace(std::forward<P2>(obj));
|
|
1376
875
|
}
|
|
1377
876
|
|
|
1378
877
|
iterator insert(const_iterator hint, value_type const& x)
|
|
@@ -1380,25 +879,22 @@ namespace boost {
|
|
|
1380
879
|
return this->emplace_hint(hint, x);
|
|
1381
880
|
}
|
|
1382
881
|
|
|
1383
|
-
iterator insert(const_iterator hint,
|
|
882
|
+
iterator insert(const_iterator hint, value_type&& x)
|
|
1384
883
|
{
|
|
1385
|
-
return this->emplace_hint(hint,
|
|
884
|
+
return this->emplace_hint(hint, std::move(x));
|
|
1386
885
|
}
|
|
1387
886
|
|
|
1388
887
|
template <class P2>
|
|
1389
|
-
typename boost::enable_if<
|
|
1390
|
-
boost::is_constructible<value_type, BOOST_RV_REF(P2)>,
|
|
888
|
+
typename boost::enable_if<std::is_constructible<value_type, P2&&>,
|
|
1391
889
|
iterator>::type
|
|
1392
|
-
insert(const_iterator hint,
|
|
890
|
+
insert(const_iterator hint, P2&& obj)
|
|
1393
891
|
{
|
|
1394
|
-
return this->emplace_hint(hint,
|
|
892
|
+
return this->emplace_hint(hint, std::forward<P2>(obj));
|
|
1395
893
|
}
|
|
1396
894
|
|
|
1397
895
|
template <class InputIt> void insert(InputIt, InputIt);
|
|
1398
896
|
|
|
1399
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1400
897
|
void insert(std::initializer_list<value_type>);
|
|
1401
|
-
#endif
|
|
1402
898
|
|
|
1403
899
|
// extract
|
|
1404
900
|
|
|
@@ -1422,26 +918,16 @@ namespace boost {
|
|
|
1422
918
|
return node_type(table_.extract_by_key_impl(k), table_.node_alloc());
|
|
1423
919
|
}
|
|
1424
920
|
|
|
1425
|
-
iterator insert(
|
|
921
|
+
iterator insert(node_type&& np)
|
|
1426
922
|
{
|
|
1427
923
|
return table_.move_insert_node_type_equiv(np);
|
|
1428
924
|
}
|
|
1429
925
|
|
|
1430
|
-
iterator insert(const_iterator hint,
|
|
926
|
+
iterator insert(const_iterator hint, node_type&& np)
|
|
1431
927
|
{
|
|
1432
928
|
return table_.move_insert_node_type_with_hint_equiv(hint, np);
|
|
1433
929
|
}
|
|
1434
930
|
|
|
1435
|
-
#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
|
|
1436
|
-
(BOOST_COMP_GNUC && BOOST_COMP_GNUC < BOOST_VERSION_NUMBER(4, 6, 0))
|
|
1437
|
-
private:
|
|
1438
|
-
// Note: Use r-value node_type to insert.
|
|
1439
|
-
iterator insert(node_type&);
|
|
1440
|
-
iterator insert(const_iterator, node_type& np);
|
|
1441
|
-
|
|
1442
|
-
public:
|
|
1443
|
-
#endif
|
|
1444
|
-
|
|
1445
931
|
iterator erase(iterator);
|
|
1446
932
|
iterator erase(const_iterator);
|
|
1447
933
|
size_type erase(const key_type&);
|
|
@@ -1451,9 +937,9 @@ namespace boost {
|
|
|
1451
937
|
typename boost::enable_if_c<
|
|
1452
938
|
detail::transparent_non_iterable<Key, unordered_multimap>::value,
|
|
1453
939
|
size_type>::type
|
|
1454
|
-
erase(
|
|
940
|
+
erase(Key&& k)
|
|
1455
941
|
{
|
|
1456
|
-
return table_.erase_key_equiv_impl(
|
|
942
|
+
return table_.erase_key_equiv_impl(std::forward<Key>(k));
|
|
1457
943
|
}
|
|
1458
944
|
|
|
1459
945
|
BOOST_UNORDERED_DEPRECATED("Use erase instead")
|
|
@@ -1462,26 +948,22 @@ namespace boost {
|
|
|
1462
948
|
void erase_return_void(const_iterator it) { erase(it); }
|
|
1463
949
|
|
|
1464
950
|
void swap(unordered_multimap&)
|
|
1465
|
-
|
|
1466
|
-
boost::is_nothrow_swappable<H>::value&&
|
|
1467
|
-
boost::is_nothrow_swappable<P>::value);
|
|
1468
|
-
void clear()
|
|
951
|
+
noexcept(value_allocator_traits::is_always_equal::value&&
|
|
952
|
+
boost::unordered::detail::is_nothrow_swappable<H>::value&&
|
|
953
|
+
boost::unordered::detail::is_nothrow_swappable<P>::value);
|
|
954
|
+
void clear() noexcept { table_.clear_impl(); }
|
|
1469
955
|
|
|
1470
956
|
template <typename H2, typename P2>
|
|
1471
957
|
void merge(boost::unordered_multimap<K, T, H2, P2, A>& source);
|
|
1472
958
|
|
|
1473
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
1474
959
|
template <typename H2, typename P2>
|
|
1475
960
|
void merge(boost::unordered_multimap<K, T, H2, P2, A>&& source);
|
|
1476
|
-
#endif
|
|
1477
961
|
|
|
1478
962
|
template <typename H2, typename P2>
|
|
1479
963
|
void merge(boost::unordered_map<K, T, H2, P2, A>& source);
|
|
1480
964
|
|
|
1481
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
1482
965
|
template <typename H2, typename P2>
|
|
1483
966
|
void merge(boost::unordered_map<K, T, H2, P2, A>&& source);
|
|
1484
|
-
#endif
|
|
1485
967
|
|
|
1486
968
|
// observers
|
|
1487
969
|
|
|
@@ -1567,12 +1049,9 @@ namespace boost {
|
|
|
1567
1049
|
|
|
1568
1050
|
// bucket interface
|
|
1569
1051
|
|
|
1570
|
-
size_type bucket_count() const
|
|
1571
|
-
{
|
|
1572
|
-
return table_.bucket_count();
|
|
1573
|
-
}
|
|
1052
|
+
size_type bucket_count() const noexcept { return table_.bucket_count(); }
|
|
1574
1053
|
|
|
1575
|
-
size_type max_bucket_count() const
|
|
1054
|
+
size_type max_bucket_count() const noexcept
|
|
1576
1055
|
{
|
|
1577
1056
|
return table_.max_bucket_count();
|
|
1578
1057
|
}
|
|
@@ -1584,6 +1063,14 @@ namespace boost {
|
|
|
1584
1063
|
return table_.hash_to_bucket(table_.hash(k));
|
|
1585
1064
|
}
|
|
1586
1065
|
|
|
1066
|
+
template <class Key>
|
|
1067
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
1068
|
+
size_type>::type
|
|
1069
|
+
bucket(Key&& k) const
|
|
1070
|
+
{
|
|
1071
|
+
return table_.hash_to_bucket(table_.hash(std::forward<Key>(k)));
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1587
1074
|
local_iterator begin(size_type n)
|
|
1588
1075
|
{
|
|
1589
1076
|
return local_iterator(table_.begin(n));
|
|
@@ -1613,9 +1100,9 @@ namespace boost {
|
|
|
1613
1100
|
|
|
1614
1101
|
// hash policy
|
|
1615
1102
|
|
|
1616
|
-
float load_factor() const
|
|
1617
|
-
float max_load_factor() const
|
|
1618
|
-
void max_load_factor(float)
|
|
1103
|
+
float load_factor() const noexcept;
|
|
1104
|
+
float max_load_factor() const noexcept { return table_.mlf_; }
|
|
1105
|
+
void max_load_factor(float) noexcept;
|
|
1619
1106
|
void rehash(size_type);
|
|
1620
1107
|
void reserve(size_type);
|
|
1621
1108
|
|
|
@@ -1627,6 +1114,13 @@ namespace boost {
|
|
|
1627
1114
|
#endif
|
|
1628
1115
|
}; // class template unordered_multimap
|
|
1629
1116
|
|
|
1117
|
+
template <class Archive, class K, class T, class H, class P, class A>
|
|
1118
|
+
void serialize(
|
|
1119
|
+
Archive& ar, unordered_multimap<K, T, H, P, A>& m, unsigned int version)
|
|
1120
|
+
{
|
|
1121
|
+
detail::serialize_fca_container(ar, m, version);
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1630
1124
|
#if BOOST_UNORDERED_TEMPLATE_DEDUCTION_GUIDES
|
|
1631
1125
|
|
|
1632
1126
|
template <class InputIterator,
|
|
@@ -1636,10 +1130,10 @@ namespace boost {
|
|
|
1636
1130
|
std::equal_to<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
1637
1131
|
class Allocator = std::allocator<
|
|
1638
1132
|
boost::unordered::detail::iter_to_alloc_t<InputIterator> >,
|
|
1639
|
-
class =
|
|
1640
|
-
class =
|
|
1641
|
-
class =
|
|
1642
|
-
class =
|
|
1133
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
1134
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
1135
|
+
class = std::enable_if_t<detail::is_pred_v<Pred> >,
|
|
1136
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1643
1137
|
unordered_multimap(InputIterator, InputIterator,
|
|
1644
1138
|
std::size_t = boost::unordered::detail::default_bucket_count,
|
|
1645
1139
|
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
|
|
@@ -1648,21 +1142,20 @@ namespace boost {
|
|
|
1648
1142
|
Allocator>;
|
|
1649
1143
|
|
|
1650
1144
|
template <class Key, class T,
|
|
1651
|
-
class Hash = boost::hash<
|
|
1652
|
-
class Pred = std::equal_to<
|
|
1145
|
+
class Hash = boost::hash<std::remove_const_t<Key> >,
|
|
1146
|
+
class Pred = std::equal_to<std::remove_const_t<Key> >,
|
|
1653
1147
|
class Allocator = std::allocator<std::pair<const Key, T> >,
|
|
1654
|
-
class =
|
|
1655
|
-
class =
|
|
1656
|
-
class =
|
|
1148
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
1149
|
+
class = std::enable_if_t<detail::is_pred_v<Pred> >,
|
|
1150
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1657
1151
|
unordered_multimap(std::initializer_list<std::pair<Key, T> >,
|
|
1658
1152
|
std::size_t = boost::unordered::detail::default_bucket_count,
|
|
1659
1153
|
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
|
|
1660
|
-
-> unordered_multimap<
|
|
1661
|
-
Allocator>;
|
|
1154
|
+
-> unordered_multimap<std::remove_const_t<Key>, T, Hash, Pred, Allocator>;
|
|
1662
1155
|
|
|
1663
1156
|
template <class InputIterator, class Allocator,
|
|
1664
|
-
class =
|
|
1665
|
-
class =
|
|
1157
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
1158
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1666
1159
|
unordered_multimap(InputIterator, InputIterator, std::size_t, Allocator)
|
|
1667
1160
|
-> unordered_multimap<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
1668
1161
|
boost::unordered::detail::iter_val_t<InputIterator>,
|
|
@@ -1671,8 +1164,8 @@ namespace boost {
|
|
|
1671
1164
|
Allocator>;
|
|
1672
1165
|
|
|
1673
1166
|
template <class InputIterator, class Allocator,
|
|
1674
|
-
class =
|
|
1675
|
-
class =
|
|
1167
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
1168
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1676
1169
|
unordered_multimap(InputIterator, InputIterator, Allocator)
|
|
1677
1170
|
-> unordered_multimap<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
1678
1171
|
boost::unordered::detail::iter_val_t<InputIterator>,
|
|
@@ -1681,9 +1174,9 @@ namespace boost {
|
|
|
1681
1174
|
Allocator>;
|
|
1682
1175
|
|
|
1683
1176
|
template <class InputIterator, class Hash, class Allocator,
|
|
1684
|
-
class =
|
|
1685
|
-
class =
|
|
1686
|
-
class =
|
|
1177
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
1178
|
+
class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
|
|
1179
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1687
1180
|
unordered_multimap(
|
|
1688
1181
|
InputIterator, InputIterator, std::size_t, Hash, Allocator)
|
|
1689
1182
|
-> unordered_multimap<boost::unordered::detail::iter_key_t<InputIterator>,
|
|
@@ -1692,25 +1185,25 @@ namespace boost {
|
|
|
1692
1185
|
Allocator>;
|
|
1693
1186
|
|
|
1694
1187
|
template <class Key, class T, class Allocator,
|
|
1695
|
-
class =
|
|
1188
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1696
1189
|
unordered_multimap(std::initializer_list<std::pair<Key, T> >, std::size_t,
|
|
1697
|
-
Allocator) -> unordered_multimap<
|
|
1698
|
-
boost::hash<
|
|
1699
|
-
std::equal_to<
|
|
1190
|
+
Allocator) -> unordered_multimap<std::remove_const_t<Key>, T,
|
|
1191
|
+
boost::hash<std::remove_const_t<Key> >,
|
|
1192
|
+
std::equal_to<std::remove_const_t<Key> >, Allocator>;
|
|
1700
1193
|
|
|
1701
1194
|
template <class Key, class T, class Allocator,
|
|
1702
|
-
class =
|
|
1195
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1703
1196
|
unordered_multimap(std::initializer_list<std::pair<Key, T> >, Allocator)
|
|
1704
|
-
-> unordered_multimap<
|
|
1705
|
-
boost::hash<
|
|
1706
|
-
std::equal_to<
|
|
1197
|
+
-> unordered_multimap<std::remove_const_t<Key>, T,
|
|
1198
|
+
boost::hash<std::remove_const_t<Key> >,
|
|
1199
|
+
std::equal_to<std::remove_const_t<Key> >, Allocator>;
|
|
1707
1200
|
|
|
1708
1201
|
template <class Key, class T, class Hash, class Allocator,
|
|
1709
|
-
class =
|
|
1710
|
-
class =
|
|
1202
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
1203
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
1711
1204
|
unordered_multimap(std::initializer_list<std::pair<Key, T> >, std::size_t,
|
|
1712
|
-
Hash, Allocator) -> unordered_multimap<
|
|
1713
|
-
|
|
1205
|
+
Hash, Allocator) -> unordered_multimap<std::remove_const_t<Key>, T, Hash,
|
|
1206
|
+
std::equal_to<std::remove_const_t<Key> >, Allocator>;
|
|
1714
1207
|
|
|
1715
1208
|
#endif
|
|
1716
1209
|
|
|
@@ -1745,8 +1238,7 @@ namespace boost {
|
|
|
1745
1238
|
select_on_container_copy_construction(other.get_allocator()))
|
|
1746
1239
|
{
|
|
1747
1240
|
if (other.size()) {
|
|
1748
|
-
table_.copy_buckets(
|
|
1749
|
-
other.table_, boost::unordered::detail::true_type());
|
|
1241
|
+
table_.copy_buckets(other.table_, std::true_type());
|
|
1750
1242
|
}
|
|
1751
1243
|
}
|
|
1752
1244
|
|
|
@@ -1763,21 +1255,18 @@ namespace boost {
|
|
|
1763
1255
|
: table_(other.table_, a)
|
|
1764
1256
|
{
|
|
1765
1257
|
if (other.table_.size_) {
|
|
1766
|
-
table_.copy_buckets(
|
|
1767
|
-
other.table_, boost::unordered::detail::true_type());
|
|
1258
|
+
table_.copy_buckets(other.table_, std::true_type());
|
|
1768
1259
|
}
|
|
1769
1260
|
}
|
|
1770
1261
|
|
|
1771
1262
|
template <class K, class T, class H, class P, class A>
|
|
1772
1263
|
unordered_map<K, T, H, P, A>::unordered_map(
|
|
1773
|
-
|
|
1264
|
+
unordered_map&& other, allocator_type const& a)
|
|
1774
1265
|
: table_(other.table_, a, boost::unordered::detail::move_tag())
|
|
1775
1266
|
{
|
|
1776
1267
|
table_.move_construct_buckets(other.table_);
|
|
1777
1268
|
}
|
|
1778
1269
|
|
|
1779
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1780
|
-
|
|
1781
1270
|
template <class K, class T, class H, class P, class A>
|
|
1782
1271
|
unordered_map<K, T, H, P, A>::unordered_map(
|
|
1783
1272
|
std::initializer_list<value_type> list, size_type n, const hasher& hf,
|
|
@@ -1789,8 +1278,6 @@ namespace boost {
|
|
|
1789
1278
|
this->insert(list.begin(), list.end());
|
|
1790
1279
|
}
|
|
1791
1280
|
|
|
1792
|
-
#endif
|
|
1793
|
-
|
|
1794
1281
|
template <class K, class T, class H, class P, class A>
|
|
1795
1282
|
unordered_map<K, T, H, P, A>::unordered_map(
|
|
1796
1283
|
size_type n, const allocator_type& a)
|
|
@@ -1836,8 +1323,6 @@ namespace boost {
|
|
|
1836
1323
|
this->insert(f, l);
|
|
1837
1324
|
}
|
|
1838
1325
|
|
|
1839
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1840
|
-
|
|
1841
1326
|
template <class K, class T, class H, class P, class A>
|
|
1842
1327
|
unordered_map<K, T, H, P, A>::unordered_map(
|
|
1843
1328
|
std::initializer_list<value_type> list, const allocator_type& a)
|
|
@@ -1870,15 +1355,11 @@ namespace boost {
|
|
|
1870
1355
|
this->insert(list.begin(), list.end());
|
|
1871
1356
|
}
|
|
1872
1357
|
|
|
1873
|
-
#endif
|
|
1874
|
-
|
|
1875
1358
|
template <class K, class T, class H, class P, class A>
|
|
1876
|
-
unordered_map<K, T, H, P, A>::~unordered_map()
|
|
1359
|
+
unordered_map<K, T, H, P, A>::~unordered_map() noexcept
|
|
1877
1360
|
{
|
|
1878
1361
|
}
|
|
1879
1362
|
|
|
1880
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1881
|
-
|
|
1882
1363
|
template <class K, class T, class H, class P, class A>
|
|
1883
1364
|
unordered_map<K, T, H, P, A>& unordered_map<K, T, H, P, A>::operator=(
|
|
1884
1365
|
std::initializer_list<value_type> list)
|
|
@@ -1888,12 +1369,10 @@ namespace boost {
|
|
|
1888
1369
|
return *this;
|
|
1889
1370
|
}
|
|
1890
1371
|
|
|
1891
|
-
#endif
|
|
1892
|
-
|
|
1893
1372
|
// size and capacity
|
|
1894
1373
|
|
|
1895
1374
|
template <class K, class T, class H, class P, class A>
|
|
1896
|
-
std::size_t unordered_map<K, T, H, P, A>::max_size() const
|
|
1375
|
+
std::size_t unordered_map<K, T, H, P, A>::max_size() const noexcept
|
|
1897
1376
|
{
|
|
1898
1377
|
using namespace std;
|
|
1899
1378
|
|
|
@@ -1916,14 +1395,12 @@ namespace boost {
|
|
|
1916
1395
|
}
|
|
1917
1396
|
}
|
|
1918
1397
|
|
|
1919
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1920
1398
|
template <class K, class T, class H, class P, class A>
|
|
1921
1399
|
void unordered_map<K, T, H, P, A>::insert(
|
|
1922
1400
|
std::initializer_list<value_type> list)
|
|
1923
1401
|
{
|
|
1924
1402
|
this->insert(list.begin(), list.end());
|
|
1925
1403
|
}
|
|
1926
|
-
#endif
|
|
1927
1404
|
|
|
1928
1405
|
template <class K, class T, class H, class P, class A>
|
|
1929
1406
|
typename unordered_map<K, T, H, P, A>::iterator
|
|
@@ -1956,9 +1433,9 @@ namespace boost {
|
|
|
1956
1433
|
|
|
1957
1434
|
template <class K, class T, class H, class P, class A>
|
|
1958
1435
|
void unordered_map<K, T, H, P, A>::swap(unordered_map& other)
|
|
1959
|
-
|
|
1960
|
-
boost::is_nothrow_swappable<H>::value&&
|
|
1961
|
-
boost::is_nothrow_swappable<P>::value)
|
|
1436
|
+
noexcept(value_allocator_traits::is_always_equal::value&&
|
|
1437
|
+
boost::unordered::detail::is_nothrow_swappable<H>::value&&
|
|
1438
|
+
boost::unordered::detail::is_nothrow_swappable<P>::value)
|
|
1962
1439
|
{
|
|
1963
1440
|
table_.swap(other.table_);
|
|
1964
1441
|
}
|
|
@@ -1971,7 +1448,6 @@ namespace boost {
|
|
|
1971
1448
|
table_.merge_unique(source.table_);
|
|
1972
1449
|
}
|
|
1973
1450
|
|
|
1974
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
1975
1451
|
template <class K, class T, class H, class P, class A>
|
|
1976
1452
|
template <typename H2, typename P2>
|
|
1977
1453
|
void unordered_map<K, T, H, P, A>::merge(
|
|
@@ -1979,7 +1455,6 @@ namespace boost {
|
|
|
1979
1455
|
{
|
|
1980
1456
|
table_.merge_unique(source.table_);
|
|
1981
1457
|
}
|
|
1982
|
-
#endif
|
|
1983
1458
|
|
|
1984
1459
|
template <class K, class T, class H, class P, class A>
|
|
1985
1460
|
template <typename H2, typename P2>
|
|
@@ -1989,7 +1464,6 @@ namespace boost {
|
|
|
1989
1464
|
table_.merge_unique(source.table_);
|
|
1990
1465
|
}
|
|
1991
1466
|
|
|
1992
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
1993
1467
|
template <class K, class T, class H, class P, class A>
|
|
1994
1468
|
template <typename H2, typename P2>
|
|
1995
1469
|
void unordered_map<K, T, H, P, A>::merge(
|
|
@@ -1997,7 +1471,6 @@ namespace boost {
|
|
|
1997
1471
|
{
|
|
1998
1472
|
table_.merge_unique(source.table_);
|
|
1999
1473
|
}
|
|
2000
|
-
#endif
|
|
2001
1474
|
|
|
2002
1475
|
// observers
|
|
2003
1476
|
|
|
@@ -2086,16 +1559,25 @@ namespace boost {
|
|
|
2086
1559
|
|
|
2087
1560
|
template <class K, class T, class H, class P, class A>
|
|
2088
1561
|
typename unordered_map<K, T, H, P, A>::mapped_type&
|
|
2089
|
-
|
|
1562
|
+
unordered_map<K, T, H, P, A>::operator[](const key_type& k)
|
|
2090
1563
|
{
|
|
2091
1564
|
return table_.try_emplace_unique(k).first->second;
|
|
2092
1565
|
}
|
|
2093
1566
|
|
|
2094
1567
|
template <class K, class T, class H, class P, class A>
|
|
2095
1568
|
typename unordered_map<K, T, H, P, A>::mapped_type&
|
|
2096
|
-
|
|
1569
|
+
unordered_map<K, T, H, P, A>::operator[](key_type&& k)
|
|
2097
1570
|
{
|
|
2098
|
-
return table_.try_emplace_unique(
|
|
1571
|
+
return table_.try_emplace_unique(std::move(k)).first->second;
|
|
1572
|
+
}
|
|
1573
|
+
|
|
1574
|
+
template <class K, class T, class H, class P, class A>
|
|
1575
|
+
template <class Key>
|
|
1576
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
1577
|
+
typename unordered_map<K, T, H, P, A>::mapped_type&>::type
|
|
1578
|
+
unordered_map<K, T, H, P, A>::operator[](Key&& k)
|
|
1579
|
+
{
|
|
1580
|
+
return table_.try_emplace_unique(std::forward<Key>(k)).first->second;
|
|
2099
1581
|
}
|
|
2100
1582
|
|
|
2101
1583
|
template <class K, class T, class H, class P, class A>
|
|
@@ -2110,8 +1592,8 @@ namespace boost {
|
|
|
2110
1592
|
return p->value().second;
|
|
2111
1593
|
}
|
|
2112
1594
|
|
|
2113
|
-
boost::
|
|
2114
|
-
|
|
1595
|
+
boost::unordered::detail::throw_out_of_range(
|
|
1596
|
+
"Unable to find key in unordered_map.");
|
|
2115
1597
|
}
|
|
2116
1598
|
|
|
2117
1599
|
template <class K, class T, class H, class P, class A>
|
|
@@ -2126,8 +1608,44 @@ namespace boost {
|
|
|
2126
1608
|
return p->value().second;
|
|
2127
1609
|
}
|
|
2128
1610
|
|
|
2129
|
-
boost::
|
|
2130
|
-
|
|
1611
|
+
boost::unordered::detail::throw_out_of_range(
|
|
1612
|
+
"Unable to find key in unordered_map.");
|
|
1613
|
+
}
|
|
1614
|
+
|
|
1615
|
+
template <class K, class T, class H, class P, class A>
|
|
1616
|
+
template <class Key>
|
|
1617
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
1618
|
+
typename unordered_map<K, T, H, P, A>::mapped_type&>::type
|
|
1619
|
+
unordered_map<K, T, H, P, A>::at(Key&& k)
|
|
1620
|
+
{
|
|
1621
|
+
typedef typename table::node_pointer node_pointer;
|
|
1622
|
+
|
|
1623
|
+
if (table_.size_) {
|
|
1624
|
+
node_pointer p = table_.find_node(std::forward<Key>(k));
|
|
1625
|
+
if (p)
|
|
1626
|
+
return p->value().second;
|
|
1627
|
+
}
|
|
1628
|
+
|
|
1629
|
+
boost::unordered::detail::throw_out_of_range(
|
|
1630
|
+
"Unable to find key in unordered_map.");
|
|
1631
|
+
}
|
|
1632
|
+
|
|
1633
|
+
template <class K, class T, class H, class P, class A>
|
|
1634
|
+
template <class Key>
|
|
1635
|
+
typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
|
|
1636
|
+
typename unordered_map<K, T, H, P, A>::mapped_type const&>::type
|
|
1637
|
+
unordered_map<K, T, H, P, A>::at(Key&& k) const
|
|
1638
|
+
{
|
|
1639
|
+
typedef typename table::node_pointer node_pointer;
|
|
1640
|
+
|
|
1641
|
+
if (table_.size_) {
|
|
1642
|
+
node_pointer p = table_.find_node(std::forward<Key>(k));
|
|
1643
|
+
if (p)
|
|
1644
|
+
return p->value().second;
|
|
1645
|
+
}
|
|
1646
|
+
|
|
1647
|
+
boost::unordered::detail::throw_out_of_range(
|
|
1648
|
+
"Unable to find key in unordered_map.");
|
|
2131
1649
|
}
|
|
2132
1650
|
|
|
2133
1651
|
template <class K, class T, class H, class P, class A>
|
|
@@ -2140,7 +1658,7 @@ namespace boost {
|
|
|
2140
1658
|
// hash policy
|
|
2141
1659
|
|
|
2142
1660
|
template <class K, class T, class H, class P, class A>
|
|
2143
|
-
float unordered_map<K, T, H, P, A>::load_factor() const
|
|
1661
|
+
float unordered_map<K, T, H, P, A>::load_factor() const noexcept
|
|
2144
1662
|
{
|
|
2145
1663
|
if (table_.size_ == 0) {
|
|
2146
1664
|
return 0.0f;
|
|
@@ -2152,7 +1670,7 @@ namespace boost {
|
|
|
2152
1670
|
}
|
|
2153
1671
|
|
|
2154
1672
|
template <class K, class T, class H, class P, class A>
|
|
2155
|
-
void unordered_map<K, T, H, P, A>::max_load_factor(float m)
|
|
1673
|
+
void unordered_map<K, T, H, P, A>::max_load_factor(float m) noexcept
|
|
2156
1674
|
{
|
|
2157
1675
|
table_.max_load_factor(m);
|
|
2158
1676
|
}
|
|
@@ -2196,9 +1714,8 @@ namespace boost {
|
|
|
2196
1714
|
}
|
|
2197
1715
|
|
|
2198
1716
|
template <class K, class T, class H, class P, class A>
|
|
2199
|
-
inline void swap(
|
|
2200
|
-
unordered_map<K, T, H, P, A>& m1
|
|
2201
|
-
BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(m1.swap(m2)))
|
|
1717
|
+
inline void swap(unordered_map<K, T, H, P, A>& m1,
|
|
1718
|
+
unordered_map<K, T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)))
|
|
2202
1719
|
{
|
|
2203
1720
|
#if BOOST_WORKAROUND(BOOST_CODEGEARC, BOOST_TESTED_AT(0x0613))
|
|
2204
1721
|
struct dummy
|
|
@@ -2248,8 +1765,7 @@ namespace boost {
|
|
|
2248
1765
|
select_on_container_copy_construction(other.get_allocator()))
|
|
2249
1766
|
{
|
|
2250
1767
|
if (other.table_.size_) {
|
|
2251
|
-
table_.copy_buckets(
|
|
2252
|
-
other.table_, boost::unordered::detail::false_type());
|
|
1768
|
+
table_.copy_buckets(other.table_, std::false_type());
|
|
2253
1769
|
}
|
|
2254
1770
|
}
|
|
2255
1771
|
|
|
@@ -2267,21 +1783,18 @@ namespace boost {
|
|
|
2267
1783
|
: table_(other.table_, a)
|
|
2268
1784
|
{
|
|
2269
1785
|
if (other.table_.size_) {
|
|
2270
|
-
table_.copy_buckets(
|
|
2271
|
-
other.table_, boost::unordered::detail::false_type());
|
|
1786
|
+
table_.copy_buckets(other.table_, std::false_type());
|
|
2272
1787
|
}
|
|
2273
1788
|
}
|
|
2274
1789
|
|
|
2275
1790
|
template <class K, class T, class H, class P, class A>
|
|
2276
1791
|
unordered_multimap<K, T, H, P, A>::unordered_multimap(
|
|
2277
|
-
|
|
1792
|
+
unordered_multimap&& other, allocator_type const& a)
|
|
2278
1793
|
: table_(other.table_, a, boost::unordered::detail::move_tag())
|
|
2279
1794
|
{
|
|
2280
1795
|
table_.move_construct_buckets(other.table_);
|
|
2281
1796
|
}
|
|
2282
1797
|
|
|
2283
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
2284
|
-
|
|
2285
1798
|
template <class K, class T, class H, class P, class A>
|
|
2286
1799
|
unordered_multimap<K, T, H, P, A>::unordered_multimap(
|
|
2287
1800
|
std::initializer_list<value_type> list, size_type n, const hasher& hf,
|
|
@@ -2293,8 +1806,6 @@ namespace boost {
|
|
|
2293
1806
|
this->insert(list.begin(), list.end());
|
|
2294
1807
|
}
|
|
2295
1808
|
|
|
2296
|
-
#endif
|
|
2297
|
-
|
|
2298
1809
|
template <class K, class T, class H, class P, class A>
|
|
2299
1810
|
unordered_multimap<K, T, H, P, A>::unordered_multimap(
|
|
2300
1811
|
size_type n, const allocator_type& a)
|
|
@@ -2340,8 +1851,6 @@ namespace boost {
|
|
|
2340
1851
|
this->insert(f, l);
|
|
2341
1852
|
}
|
|
2342
1853
|
|
|
2343
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
2344
|
-
|
|
2345
1854
|
template <class K, class T, class H, class P, class A>
|
|
2346
1855
|
unordered_multimap<K, T, H, P, A>::unordered_multimap(
|
|
2347
1856
|
std::initializer_list<value_type> list, const allocator_type& a)
|
|
@@ -2374,31 +1883,25 @@ namespace boost {
|
|
|
2374
1883
|
this->insert(list.begin(), list.end());
|
|
2375
1884
|
}
|
|
2376
1885
|
|
|
2377
|
-
#endif
|
|
2378
|
-
|
|
2379
1886
|
template <class K, class T, class H, class P, class A>
|
|
2380
|
-
unordered_multimap<K, T, H, P, A>::~unordered_multimap()
|
|
1887
|
+
unordered_multimap<K, T, H, P, A>::~unordered_multimap() noexcept
|
|
2381
1888
|
{
|
|
2382
1889
|
}
|
|
2383
1890
|
|
|
2384
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
2385
|
-
|
|
2386
1891
|
template <class K, class T, class H, class P, class A>
|
|
2387
|
-
unordered_multimap<K, T, H, P, A>&
|
|
2388
|
-
operator=(
|
|
1892
|
+
unordered_multimap<K, T, H, P, A>&
|
|
1893
|
+
unordered_multimap<K, T, H, P, A>::operator=(
|
|
1894
|
+
std::initializer_list<value_type> list)
|
|
2389
1895
|
{
|
|
2390
1896
|
this->clear();
|
|
2391
1897
|
this->insert(list.begin(), list.end());
|
|
2392
1898
|
return *this;
|
|
2393
1899
|
}
|
|
2394
1900
|
|
|
2395
|
-
#endif
|
|
2396
|
-
|
|
2397
1901
|
// size and capacity
|
|
2398
1902
|
|
|
2399
1903
|
template <class K, class T, class H, class P, class A>
|
|
2400
|
-
std::size_t
|
|
2401
|
-
unordered_multimap<K, T, H, P, A>::max_size() const BOOST_NOEXCEPT
|
|
1904
|
+
std::size_t unordered_multimap<K, T, H, P, A>::max_size() const noexcept
|
|
2402
1905
|
{
|
|
2403
1906
|
using namespace std;
|
|
2404
1907
|
|
|
@@ -2418,14 +1921,12 @@ namespace boost {
|
|
|
2418
1921
|
table_.insert_range_equiv(first, last);
|
|
2419
1922
|
}
|
|
2420
1923
|
|
|
2421
|
-
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
2422
1924
|
template <class K, class T, class H, class P, class A>
|
|
2423
1925
|
void unordered_multimap<K, T, H, P, A>::insert(
|
|
2424
1926
|
std::initializer_list<value_type> list)
|
|
2425
1927
|
{
|
|
2426
1928
|
this->insert(list.begin(), list.end());
|
|
2427
1929
|
}
|
|
2428
|
-
#endif
|
|
2429
1930
|
|
|
2430
1931
|
template <class K, class T, class H, class P, class A>
|
|
2431
1932
|
typename unordered_multimap<K, T, H, P, A>::iterator
|
|
@@ -2460,9 +1961,9 @@ namespace boost {
|
|
|
2460
1961
|
|
|
2461
1962
|
template <class K, class T, class H, class P, class A>
|
|
2462
1963
|
void unordered_multimap<K, T, H, P, A>::swap(unordered_multimap& other)
|
|
2463
|
-
|
|
2464
|
-
boost::is_nothrow_swappable<H>::value&&
|
|
2465
|
-
boost::is_nothrow_swappable<P>::value)
|
|
1964
|
+
noexcept(value_allocator_traits::is_always_equal::value&&
|
|
1965
|
+
boost::unordered::detail::is_nothrow_swappable<H>::value&&
|
|
1966
|
+
boost::unordered::detail::is_nothrow_swappable<P>::value)
|
|
2466
1967
|
{
|
|
2467
1968
|
table_.swap(other.table_);
|
|
2468
1969
|
}
|
|
@@ -2493,7 +1994,6 @@ namespace boost {
|
|
|
2493
1994
|
}
|
|
2494
1995
|
}
|
|
2495
1996
|
|
|
2496
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
2497
1997
|
template <class K, class T, class H, class P, class A>
|
|
2498
1998
|
template <typename H2, typename P2>
|
|
2499
1999
|
void unordered_multimap<K, T, H, P, A>::merge(
|
|
@@ -2503,7 +2003,6 @@ namespace boost {
|
|
|
2503
2003
|
insert(source.extract(source.begin()));
|
|
2504
2004
|
}
|
|
2505
2005
|
}
|
|
2506
|
-
#endif
|
|
2507
2006
|
|
|
2508
2007
|
template <class K, class T, class H, class P, class A>
|
|
2509
2008
|
template <typename H2, typename P2>
|
|
@@ -2515,7 +2014,6 @@ namespace boost {
|
|
|
2515
2014
|
}
|
|
2516
2015
|
}
|
|
2517
2016
|
|
|
2518
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
|
2519
2017
|
template <class K, class T, class H, class P, class A>
|
|
2520
2018
|
template <typename H2, typename P2>
|
|
2521
2019
|
void unordered_multimap<K, T, H, P, A>::merge(
|
|
@@ -2525,7 +2023,6 @@ namespace boost {
|
|
|
2525
2023
|
insert(source.extract(source.begin()));
|
|
2526
2024
|
}
|
|
2527
2025
|
}
|
|
2528
|
-
#endif
|
|
2529
2026
|
|
|
2530
2027
|
// lookup
|
|
2531
2028
|
|
|
@@ -2560,8 +2057,7 @@ namespace boost {
|
|
|
2560
2057
|
unordered_multimap<K, T, H, P, A>::find(CompatibleKey const& k,
|
|
2561
2058
|
CompatibleHash const& hash, CompatiblePredicate const& eq) const
|
|
2562
2059
|
{
|
|
2563
|
-
return
|
|
2564
|
-
table_.find_node_impl(table::policy::apply_hash(hash, k), k, eq));
|
|
2060
|
+
return table_.transparent_find(k, hash, eq);
|
|
2565
2061
|
}
|
|
2566
2062
|
|
|
2567
2063
|
template <class K, class T, class H, class P, class A>
|
|
@@ -2600,7 +2096,7 @@ namespace boost {
|
|
|
2600
2096
|
// hash policy
|
|
2601
2097
|
|
|
2602
2098
|
template <class K, class T, class H, class P, class A>
|
|
2603
|
-
float unordered_multimap<K, T, H, P, A>::load_factor() const
|
|
2099
|
+
float unordered_multimap<K, T, H, P, A>::load_factor() const noexcept
|
|
2604
2100
|
{
|
|
2605
2101
|
if (table_.size_ == 0) {
|
|
2606
2102
|
return 0.0f;
|
|
@@ -2612,8 +2108,7 @@ namespace boost {
|
|
|
2612
2108
|
}
|
|
2613
2109
|
|
|
2614
2110
|
template <class K, class T, class H, class P, class A>
|
|
2615
|
-
void unordered_multimap<K, T, H, P, A>::max_load_factor(
|
|
2616
|
-
float m) BOOST_NOEXCEPT
|
|
2111
|
+
void unordered_multimap<K, T, H, P, A>::max_load_factor(float m) noexcept
|
|
2617
2112
|
{
|
|
2618
2113
|
table_.max_load_factor(m);
|
|
2619
2114
|
}
|
|
@@ -2658,8 +2153,7 @@ namespace boost {
|
|
|
2658
2153
|
|
|
2659
2154
|
template <class K, class T, class H, class P, class A>
|
|
2660
2155
|
inline void swap(unordered_multimap<K, T, H, P, A>& m1,
|
|
2661
|
-
unordered_multimap<K, T, H, P, A>& m2)
|
|
2662
|
-
BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(m1.swap(m2)))
|
|
2156
|
+
unordered_multimap<K, T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)))
|
|
2663
2157
|
{
|
|
2664
2158
|
#if BOOST_WORKAROUND(BOOST_CODEGEARC, BOOST_TESTED_AT(0x0613))
|
|
2665
2159
|
struct dummy
|
|
@@ -2679,8 +2173,6 @@ namespace boost {
|
|
|
2679
2173
|
|
|
2680
2174
|
template <typename N, class K, class T, class A> class node_handle_map
|
|
2681
2175
|
{
|
|
2682
|
-
BOOST_MOVABLE_BUT_NOT_COPYABLE(node_handle_map)
|
|
2683
|
-
|
|
2684
2176
|
template <typename Types> friend struct ::boost::unordered::detail::table;
|
|
2685
2177
|
template <class K2, class T2, class H2, class P2, class A2>
|
|
2686
2178
|
friend class boost::unordered::unordered_map;
|
|
@@ -2711,7 +2203,9 @@ namespace boost {
|
|
|
2711
2203
|
}
|
|
2712
2204
|
|
|
2713
2205
|
public:
|
|
2714
|
-
|
|
2206
|
+
constexpr node_handle_map() noexcept : ptr_(), alloc_() {}
|
|
2207
|
+
node_handle_map(node_handle_map const&) = delete;
|
|
2208
|
+
node_handle_map& operator=(node_handle_map const&) = delete;
|
|
2715
2209
|
|
|
2716
2210
|
~node_handle_map()
|
|
2717
2211
|
{
|
|
@@ -2722,14 +2216,14 @@ namespace boost {
|
|
|
2722
2216
|
}
|
|
2723
2217
|
}
|
|
2724
2218
|
|
|
2725
|
-
node_handle_map(
|
|
2219
|
+
node_handle_map(node_handle_map&& n) noexcept
|
|
2726
2220
|
: ptr_(n.ptr_),
|
|
2727
|
-
alloc_(
|
|
2221
|
+
alloc_(std::move(n.alloc_))
|
|
2728
2222
|
{
|
|
2729
2223
|
n.ptr_ = node_pointer();
|
|
2730
2224
|
}
|
|
2731
2225
|
|
|
2732
|
-
node_handle_map& operator=(
|
|
2226
|
+
node_handle_map& operator=(node_handle_map&& n)
|
|
2733
2227
|
{
|
|
2734
2228
|
BOOST_ASSERT(!alloc_.has_value() ||
|
|
2735
2229
|
boost::allocator_propagate_on_container_move_assignment<
|
|
@@ -2746,7 +2240,7 @@ namespace boost {
|
|
|
2746
2240
|
if (!alloc_.has_value() ||
|
|
2747
2241
|
boost::allocator_propagate_on_container_move_assignment<
|
|
2748
2242
|
value_allocator>::type::value) {
|
|
2749
|
-
alloc_ =
|
|
2243
|
+
alloc_ = std::move(n.alloc_);
|
|
2750
2244
|
}
|
|
2751
2245
|
ptr_ = n.ptr_;
|
|
2752
2246
|
n.ptr_ = node_pointer();
|
|
@@ -2763,19 +2257,22 @@ namespace boost {
|
|
|
2763
2257
|
|
|
2764
2258
|
allocator_type get_allocator() const { return *alloc_; }
|
|
2765
2259
|
|
|
2766
|
-
|
|
2260
|
+
explicit operator bool() const noexcept
|
|
2261
|
+
{
|
|
2262
|
+
return !this->operator!();
|
|
2263
|
+
}
|
|
2767
2264
|
|
|
2768
|
-
bool operator!() const
|
|
2265
|
+
bool operator!() const noexcept { return ptr_ ? 0 : 1; }
|
|
2769
2266
|
|
|
2770
|
-
BOOST_ATTRIBUTE_NODISCARD bool empty() const
|
|
2267
|
+
BOOST_ATTRIBUTE_NODISCARD bool empty() const noexcept
|
|
2771
2268
|
{
|
|
2772
2269
|
return ptr_ ? 0 : 1;
|
|
2773
2270
|
}
|
|
2774
2271
|
|
|
2775
|
-
void swap(node_handle_map& n)
|
|
2776
|
-
boost::allocator_propagate_on_container_swap<
|
|
2777
|
-
|
|
2778
|
-
|
|
2272
|
+
void swap(node_handle_map& n)
|
|
2273
|
+
noexcept(boost::allocator_propagate_on_container_swap<
|
|
2274
|
+
value_allocator>::type::value ||
|
|
2275
|
+
boost::allocator_is_always_equal<value_allocator>::type::value)
|
|
2779
2276
|
{
|
|
2780
2277
|
|
|
2781
2278
|
BOOST_ASSERT(!alloc_.has_value() || !n.alloc_.has_value() ||
|
|
@@ -2785,47 +2282,42 @@ namespace boost {
|
|
|
2785
2282
|
if (boost::allocator_propagate_on_container_swap<
|
|
2786
2283
|
value_allocator>::type::value ||
|
|
2787
2284
|
!alloc_.has_value() || !n.alloc_.has_value()) {
|
|
2788
|
-
boost::
|
|
2285
|
+
boost::core::invoke_swap(alloc_, n.alloc_);
|
|
2789
2286
|
}
|
|
2790
|
-
boost::
|
|
2287
|
+
boost::core::invoke_swap(ptr_, n.ptr_);
|
|
2791
2288
|
}
|
|
2792
2289
|
};
|
|
2793
2290
|
|
|
2794
2291
|
template <class N, class K, class T, class A>
|
|
2795
2292
|
void swap(node_handle_map<N, K, T, A>& x, node_handle_map<N, K, T, A>& y)
|
|
2796
|
-
|
|
2293
|
+
noexcept(noexcept(x.swap(y)))
|
|
2797
2294
|
{
|
|
2798
2295
|
x.swap(y);
|
|
2799
2296
|
}
|
|
2800
2297
|
|
|
2801
2298
|
template <class Iter, class NodeType> struct insert_return_type_map
|
|
2802
2299
|
{
|
|
2803
|
-
private:
|
|
2804
|
-
BOOST_MOVABLE_BUT_NOT_COPYABLE(insert_return_type_map)
|
|
2805
|
-
|
|
2806
|
-
// typedef typename boost::allocator_rebind<A,
|
|
2807
|
-
// std::pair<K const, T> >::type value_allocator;
|
|
2808
|
-
// typedef N node_;
|
|
2809
|
-
|
|
2810
2300
|
public:
|
|
2811
2301
|
Iter position;
|
|
2812
2302
|
bool inserted;
|
|
2813
2303
|
NodeType node;
|
|
2814
2304
|
|
|
2815
2305
|
insert_return_type_map() : position(), inserted(false), node() {}
|
|
2306
|
+
insert_return_type_map(insert_return_type_map const&) = delete;
|
|
2307
|
+
insert_return_type_map& operator=(insert_return_type_map const&) = delete;
|
|
2816
2308
|
|
|
2817
|
-
insert_return_type_map(
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2309
|
+
insert_return_type_map(insert_return_type_map&& x) noexcept
|
|
2310
|
+
: position(x.position),
|
|
2311
|
+
inserted(x.inserted),
|
|
2312
|
+
node(std::move(x.node))
|
|
2821
2313
|
{
|
|
2822
2314
|
}
|
|
2823
2315
|
|
|
2824
|
-
insert_return_type_map& operator=(
|
|
2316
|
+
insert_return_type_map& operator=(insert_return_type_map&& x)
|
|
2825
2317
|
{
|
|
2826
2318
|
inserted = x.inserted;
|
|
2827
2319
|
position = x.position;
|
|
2828
|
-
node =
|
|
2320
|
+
node = std::move(x.node);
|
|
2829
2321
|
return *this;
|
|
2830
2322
|
}
|
|
2831
2323
|
};
|
|
@@ -2834,11 +2326,26 @@ namespace boost {
|
|
|
2834
2326
|
void swap(insert_return_type_map<Iter, NodeType>& x,
|
|
2835
2327
|
insert_return_type_map<Iter, NodeType>& y)
|
|
2836
2328
|
{
|
|
2837
|
-
boost::
|
|
2838
|
-
boost::
|
|
2839
|
-
boost::
|
|
2329
|
+
boost::core::invoke_swap(x.node, y.node);
|
|
2330
|
+
boost::core::invoke_swap(x.inserted, y.inserted);
|
|
2331
|
+
boost::core::invoke_swap(x.position, y.position);
|
|
2840
2332
|
}
|
|
2841
2333
|
} // namespace unordered
|
|
2334
|
+
|
|
2335
|
+
namespace serialization {
|
|
2336
|
+
template <class K, class T, class H, class P, class A>
|
|
2337
|
+
struct version<boost::unordered_map<K, T, H, P, A> >
|
|
2338
|
+
{
|
|
2339
|
+
BOOST_STATIC_CONSTANT(int, value = 1);
|
|
2340
|
+
};
|
|
2341
|
+
|
|
2342
|
+
template <class K, class T, class H, class P, class A>
|
|
2343
|
+
struct version<boost::unordered_multimap<K, T, H, P, A> >
|
|
2344
|
+
{
|
|
2345
|
+
BOOST_STATIC_CONSTANT(int, value = 1);
|
|
2346
|
+
};
|
|
2347
|
+
} // namespace serialization
|
|
2348
|
+
|
|
2842
2349
|
} // namespace boost
|
|
2843
2350
|
|
|
2844
2351
|
#if defined(BOOST_MSVC)
|