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
|
@@ -32,6 +32,8 @@
|
|
|
32
32
|
#include <boost/intrusive/detail/config_begin.hpp>
|
|
33
33
|
#include <boost/intrusive/intrusive_fwd.hpp>
|
|
34
34
|
|
|
35
|
+
#include <boost/move/detail/meta_utils_core.hpp>
|
|
36
|
+
|
|
35
37
|
//General intrusive utilities
|
|
36
38
|
#include <boost/intrusive/detail/hashtable_node.hpp>
|
|
37
39
|
#include <boost/intrusive/detail/transform_iterator.hpp>
|
|
@@ -57,9 +59,7 @@
|
|
|
57
59
|
#include <boost/intrusive/linear_slist_algorithms.hpp>
|
|
58
60
|
|
|
59
61
|
//boost
|
|
60
|
-
#include <boost/container_hash/hash.hpp>
|
|
61
62
|
#include <boost/intrusive/detail/assert.hpp>
|
|
62
|
-
#include <boost/static_assert.hpp>
|
|
63
63
|
#include <boost/move/utility_core.hpp>
|
|
64
64
|
#include <boost/move/adl_move_swap.hpp>
|
|
65
65
|
#include <boost/move/algo/detail/search.hpp>
|
|
@@ -69,6 +69,9 @@
|
|
|
69
69
|
#include <cstddef> //std::size_t
|
|
70
70
|
#include <boost/cstdint.hpp> //std::uint64_t
|
|
71
71
|
|
|
72
|
+
|
|
73
|
+
#include "detail/hash.hpp"
|
|
74
|
+
|
|
72
75
|
#if defined(BOOST_HAS_PRAGMA_ONCE)
|
|
73
76
|
# pragma once
|
|
74
77
|
#endif
|
|
@@ -79,8 +82,10 @@
|
|
|
79
82
|
|
|
80
83
|
|
|
81
84
|
namespace boost {
|
|
85
|
+
|
|
82
86
|
namespace intrusive {
|
|
83
87
|
|
|
88
|
+
|
|
84
89
|
#if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
|
85
90
|
|
|
86
91
|
/// @cond
|
|
@@ -100,11 +105,11 @@ struct prime_list_holder
|
|
|
100
105
|
private:
|
|
101
106
|
|
|
102
107
|
template <class SizeType> // sizeof(SizeType) < sizeof(std::size_t)
|
|
103
|
-
static
|
|
108
|
+
static inline SizeType truncate_size_type(std::size_t n, detail::true_)
|
|
104
109
|
{ return n < std::size_t(SizeType(-1)) ? static_cast<SizeType>(n) : SizeType(-1); }
|
|
105
110
|
|
|
106
111
|
template <class SizeType> // sizeof(SizeType) == sizeof(std::size_t)
|
|
107
|
-
static
|
|
112
|
+
static inline SizeType truncate_size_type(std::size_t n, detail::false_)
|
|
108
113
|
{ return static_cast<SizeType>(n); }
|
|
109
114
|
|
|
110
115
|
static const std::size_t prime_list[];
|
|
@@ -139,30 +144,30 @@ struct prime_list_holder
|
|
|
139
144
|
public:
|
|
140
145
|
|
|
141
146
|
template <class SizeType>
|
|
142
|
-
static
|
|
147
|
+
static inline SizeType suggested_upper_bucket_count(SizeType n)
|
|
143
148
|
{
|
|
144
149
|
std::size_t const c = suggested_upper_bucket_count_impl(static_cast<std::size_t>(n));
|
|
145
150
|
return truncate_size_type<SizeType>(c, detail::bool_<(sizeof(SizeType) < sizeof(std::size_t))>());
|
|
146
151
|
}
|
|
147
152
|
|
|
148
153
|
template <class SizeType>
|
|
149
|
-
static
|
|
154
|
+
static inline SizeType suggested_lower_bucket_count(SizeType n)
|
|
150
155
|
{
|
|
151
156
|
std::size_t const c = suggested_lower_bucket_count_impl(static_cast<std::size_t>(n));
|
|
152
157
|
return truncate_size_type<SizeType>(c, detail::bool_<(sizeof(SizeType) < sizeof(std::size_t))>());
|
|
153
158
|
}
|
|
154
159
|
|
|
155
|
-
static
|
|
160
|
+
static inline std::size_t suggested_lower_bucket_count_idx(std::size_t n)
|
|
156
161
|
{ return static_cast<std::size_t>(suggested_lower_bucket_count_ptr(n) - &prime_list[0]); }
|
|
157
162
|
|
|
158
|
-
static
|
|
163
|
+
static inline std::size_t suggested_upper_bucket_count_idx(std::size_t n)
|
|
159
164
|
{ return static_cast<std::size_t>(suggested_upper_bucket_count_ptr(n) - &prime_list[0]); }
|
|
160
165
|
|
|
161
|
-
static
|
|
166
|
+
static inline std::size_t size_from_index(std::size_t n)
|
|
162
167
|
{ return prime_list[std::ptrdiff_t(n)]; }
|
|
163
168
|
|
|
164
169
|
template<std::size_t SizeIndex>
|
|
165
|
-
|
|
170
|
+
inline static std::size_t modfunc(std::size_t hash) { return hash % SizeIndex; }
|
|
166
171
|
|
|
167
172
|
static std::size_t(*const positions[])(std::size_t);
|
|
168
173
|
|
|
@@ -171,19 +176,19 @@ struct prime_list_holder
|
|
|
171
176
|
static const std::size_t inv_sizes32_size;
|
|
172
177
|
#endif
|
|
173
178
|
|
|
174
|
-
|
|
179
|
+
inline static std::size_t lower_size_index(std::size_t n)
|
|
175
180
|
{ return prime_list_holder<>::suggested_lower_bucket_count_idx(n); }
|
|
176
181
|
|
|
177
|
-
|
|
182
|
+
inline static std::size_t upper_size_index(std::size_t n)
|
|
178
183
|
{ return prime_list_holder<>::suggested_upper_bucket_count_idx(n); }
|
|
179
184
|
|
|
180
|
-
|
|
185
|
+
inline static std::size_t size(std::size_t size_index)
|
|
181
186
|
{ return prime_list_holder<>::size_from_index(size_index); }
|
|
182
187
|
|
|
183
188
|
#if BOOST_INTRUSIVE_64_BIT_SIZE_T
|
|
184
189
|
// https://github.com/lemire/fastmod
|
|
185
190
|
|
|
186
|
-
|
|
191
|
+
inline static uint64_t mul128_u32(uint64_t lowbits, uint32_t d)
|
|
187
192
|
{
|
|
188
193
|
#if defined(_MSC_VER)
|
|
189
194
|
return __umulh(lowbits, d);
|
|
@@ -197,14 +202,14 @@ struct prime_list_holder
|
|
|
197
202
|
#endif
|
|
198
203
|
}
|
|
199
204
|
|
|
200
|
-
|
|
205
|
+
inline static uint32_t fastmod_u32(uint32_t a, uint64_t M, uint32_t d)
|
|
201
206
|
{
|
|
202
207
|
uint64_t lowbits = M * a;
|
|
203
208
|
return (uint32_t)(mul128_u32(lowbits, d));
|
|
204
209
|
}
|
|
205
210
|
#endif // BOOST_INTRUSIVE_64_BIT_SIZE_T
|
|
206
211
|
|
|
207
|
-
|
|
212
|
+
inline static std::size_t position(std::size_t hash,std::size_t size_index)
|
|
208
213
|
{
|
|
209
214
|
#if BOOST_INTRUSIVE_64_BIT_SIZE_T
|
|
210
215
|
BOOST_CONSTEXPR_OR_CONST std::size_t sizes_under_32bit = sizeof(inv_sizes32)/sizeof(inv_sizes32[0]);
|
|
@@ -453,7 +458,7 @@ class exception_bucket_disposer
|
|
|
453
458
|
: cont_(&cont), disp_(disp), constructed_(constructed)
|
|
454
459
|
{}
|
|
455
460
|
|
|
456
|
-
|
|
461
|
+
inline void release()
|
|
457
462
|
{ cont_ = 0; }
|
|
458
463
|
|
|
459
464
|
~exception_bucket_disposer()
|
|
@@ -502,37 +507,37 @@ public:
|
|
|
502
507
|
|
|
503
508
|
/// @endcond
|
|
504
509
|
|
|
505
|
-
|
|
510
|
+
inline bucket_traits_impl(bucket_ptr buckets, size_type len)
|
|
506
511
|
: buckets_(buckets), buckets_len_(len)
|
|
507
512
|
{}
|
|
508
513
|
|
|
509
|
-
|
|
514
|
+
inline bucket_traits_impl(const bucket_traits_impl& x)
|
|
510
515
|
: buckets_(x.buckets_), buckets_len_(x.buckets_len_)
|
|
511
516
|
{}
|
|
512
517
|
|
|
513
|
-
|
|
518
|
+
inline bucket_traits_impl(BOOST_RV_REF(bucket_traits_impl) x)
|
|
514
519
|
: buckets_(x.buckets_), buckets_len_(x.buckets_len_)
|
|
515
520
|
{
|
|
516
521
|
x.buckets_ = bucket_ptr(); x.buckets_len_ = 0u;
|
|
517
522
|
}
|
|
518
523
|
|
|
519
|
-
|
|
524
|
+
inline bucket_traits_impl& operator=(BOOST_RV_REF(bucket_traits_impl) x)
|
|
520
525
|
{
|
|
521
526
|
buckets_ = x.buckets_; buckets_len_ = x.buckets_len_;
|
|
522
527
|
x.buckets_ = bucket_ptr(); x.buckets_len_ = 0u; return *this;
|
|
523
528
|
}
|
|
524
529
|
|
|
525
|
-
|
|
530
|
+
inline bucket_traits_impl& operator=(BOOST_COPY_ASSIGN_REF(bucket_traits_impl) x)
|
|
526
531
|
{
|
|
527
532
|
buckets_ = x.buckets_; buckets_len_ = x.buckets_len_; return *this;
|
|
528
533
|
}
|
|
529
534
|
|
|
530
|
-
|
|
535
|
+
inline bucket_ptr bucket_begin() const
|
|
531
536
|
{
|
|
532
537
|
return buckets_;
|
|
533
538
|
}
|
|
534
539
|
|
|
535
|
-
|
|
540
|
+
inline size_type bucket_count() const BOOST_NOEXCEPT
|
|
536
541
|
{
|
|
537
542
|
return buckets_len_;
|
|
538
543
|
}
|
|
@@ -563,35 +568,23 @@ struct optimize_multikey_is_true
|
|
|
563
568
|
static const bool value = sizeof(test<T>(0)) > sizeof(detail::yes_type)*2u;
|
|
564
569
|
};
|
|
565
570
|
|
|
566
|
-
template<bool StoreHash>
|
|
567
571
|
struct insert_commit_data_impl
|
|
568
572
|
{
|
|
569
573
|
std::size_t hash;
|
|
570
574
|
std::size_t bucket_idx;
|
|
571
|
-
|
|
575
|
+
inline std::size_t get_hash() const
|
|
572
576
|
{ return hash; }
|
|
573
577
|
|
|
574
|
-
|
|
578
|
+
inline void set_hash(std::size_t h)
|
|
575
579
|
{ hash = h; }
|
|
576
580
|
};
|
|
577
581
|
|
|
578
|
-
template<>
|
|
579
|
-
struct insert_commit_data_impl<false>
|
|
580
|
-
{
|
|
581
|
-
std::size_t bucket_idx;
|
|
582
|
-
BOOST_INTRUSIVE_FORCEINLINE std::size_t get_hash() const
|
|
583
|
-
{ return 0U; }
|
|
584
|
-
|
|
585
|
-
BOOST_INTRUSIVE_FORCEINLINE void set_hash(std::size_t)
|
|
586
|
-
{}
|
|
587
|
-
};
|
|
588
|
-
|
|
589
582
|
template<class Node, class SlistNodePtr>
|
|
590
|
-
|
|
583
|
+
inline typename pointer_traits<SlistNodePtr>::template rebind_pointer<Node>::type
|
|
591
584
|
dcast_bucket_ptr(const SlistNodePtr &p)
|
|
592
585
|
{
|
|
593
586
|
typedef typename pointer_traits<SlistNodePtr>::template rebind_pointer<Node>::type node_ptr;
|
|
594
|
-
return pointer_traits<node_ptr>::
|
|
587
|
+
return pointer_traits<node_ptr>::static_cast_from(p);
|
|
595
588
|
}
|
|
596
589
|
|
|
597
590
|
template<class NodeTraits>
|
|
@@ -689,13 +682,13 @@ struct group_functions
|
|
|
689
682
|
}
|
|
690
683
|
}
|
|
691
684
|
|
|
692
|
-
|
|
685
|
+
inline static void erase_from_group(slist_node_ptr, node_ptr, detail::false_)
|
|
693
686
|
{}
|
|
694
687
|
|
|
695
|
-
|
|
688
|
+
inline static node_ptr get_last_in_group(node_ptr first_in_group, detail::true_)
|
|
696
689
|
{ return group_traits::get_next(first_in_group); }
|
|
697
690
|
|
|
698
|
-
|
|
691
|
+
inline static node_ptr get_last_in_group(node_ptr n, detail::false_)
|
|
699
692
|
{ return n; }
|
|
700
693
|
|
|
701
694
|
static node_ptr get_first_in_group(node_ptr n, detail::true_)
|
|
@@ -707,17 +700,17 @@ struct group_functions
|
|
|
707
700
|
return n;
|
|
708
701
|
}
|
|
709
702
|
|
|
710
|
-
|
|
703
|
+
inline static node_ptr get_first_in_group(node_ptr n, detail::false_)
|
|
711
704
|
{ return n; }
|
|
712
705
|
|
|
713
|
-
|
|
706
|
+
inline static bool is_first_in_group(node_ptr ptr)
|
|
714
707
|
{ return node_traits::get_next(group_traits::get_next(ptr)) != ptr; }
|
|
715
708
|
|
|
716
709
|
|
|
717
|
-
|
|
710
|
+
inline static void insert_in_group(node_ptr first_in_group, node_ptr n, detail::true_)
|
|
718
711
|
{ group_algorithms::link_after(first_in_group, n); }
|
|
719
712
|
|
|
720
|
-
|
|
713
|
+
inline static void insert_in_group(node_ptr, node_ptr, detail::false_)
|
|
721
714
|
{}
|
|
722
715
|
|
|
723
716
|
//Splits a group in two groups, and makes "new_first" the first node in the second group.
|
|
@@ -753,7 +746,7 @@ class incremental_rehash_rollback
|
|
|
753
746
|
, split_traits_(split_tr), released_(false)
|
|
754
747
|
{}
|
|
755
748
|
|
|
756
|
-
|
|
749
|
+
inline void release()
|
|
757
750
|
{ released_ = true; }
|
|
758
751
|
|
|
759
752
|
~incremental_rehash_rollback()
|
|
@@ -776,21 +769,21 @@ class incremental_rehash_rollback
|
|
|
776
769
|
template<class NodeTraits>
|
|
777
770
|
struct node_functions
|
|
778
771
|
{
|
|
779
|
-
|
|
772
|
+
inline static void store_hash(typename NodeTraits::node_ptr p, std::size_t h, detail::true_)
|
|
780
773
|
{ return NodeTraits::set_hash(p, h); }
|
|
781
774
|
|
|
782
|
-
|
|
775
|
+
inline static void store_hash(typename NodeTraits::node_ptr, std::size_t, detail::false_)
|
|
783
776
|
{}
|
|
784
777
|
};
|
|
785
778
|
|
|
786
|
-
|
|
779
|
+
inline std::size_t hash_to_bucket(std::size_t hash_value, std::size_t bucket_cnt, detail::false_)
|
|
787
780
|
{ return hash_value % bucket_cnt; }
|
|
788
781
|
|
|
789
|
-
|
|
782
|
+
inline std::size_t hash_to_bucket(std::size_t hash_value, std::size_t bucket_cnt, detail::true_)
|
|
790
783
|
{ return hash_value & (bucket_cnt - 1); }
|
|
791
784
|
|
|
792
785
|
template<bool Power2Buckets, bool Incremental> //!fastmod_buckets
|
|
793
|
-
|
|
786
|
+
inline std::size_t hash_to_bucket_split(std::size_t hash_value, std::size_t bucket_cnt, std::size_t split, detail::false_)
|
|
794
787
|
{
|
|
795
788
|
std::size_t bucket_number = hash_to_bucket(hash_value, bucket_cnt, detail::bool_<Power2Buckets>());
|
|
796
789
|
BOOST_IF_CONSTEXPR(Incremental)
|
|
@@ -799,7 +792,7 @@ BOOST_INTRUSIVE_FORCEINLINE std::size_t hash_to_bucket_split(std::size_t hash_va
|
|
|
799
792
|
}
|
|
800
793
|
|
|
801
794
|
template<bool Power2Buckets, bool Incremental> //fastmod_buckets
|
|
802
|
-
|
|
795
|
+
inline std::size_t hash_to_bucket_split(std::size_t hash_value, std::size_t , std::size_t split, detail::true_)
|
|
803
796
|
{
|
|
804
797
|
return prime_fmod_size::position(hash_value, split);
|
|
805
798
|
}
|
|
@@ -886,11 +879,11 @@ struct downcast_node_to_value_t
|
|
|
886
879
|
template rebind_pointer
|
|
887
880
|
<const ValueTraits>::type const_value_traits_ptr;
|
|
888
881
|
|
|
889
|
-
|
|
882
|
+
inline downcast_node_to_value_t(const_value_traits_ptr ptr)
|
|
890
883
|
: base_t(ptr)
|
|
891
884
|
{}
|
|
892
885
|
|
|
893
|
-
|
|
886
|
+
inline result_type operator()(first_argument_type arg) const
|
|
894
887
|
{ return this->base_t::operator()(static_cast<intermediate_argument_type>(arg)); }
|
|
895
888
|
};
|
|
896
889
|
|
|
@@ -905,14 +898,14 @@ struct node_cast_adaptor
|
|
|
905
898
|
typedef typename pointer_traits<NodePtr>::element_type node;
|
|
906
899
|
|
|
907
900
|
template<class ConvertibleToF, class RealValuTraits>
|
|
908
|
-
|
|
901
|
+
inline node_cast_adaptor(const ConvertibleToF &c2f, const RealValuTraits *traits)
|
|
909
902
|
: base_t(base_t(c2f, traits))
|
|
910
903
|
{}
|
|
911
904
|
|
|
912
|
-
|
|
905
|
+
inline typename base_t::node_ptr operator()(const slist_node &to_clone)
|
|
913
906
|
{ return base_t::operator()(static_cast<const node &>(to_clone)); }
|
|
914
907
|
|
|
915
|
-
|
|
908
|
+
inline void operator()(SlistNodePtr to_clone)
|
|
916
909
|
{
|
|
917
910
|
base_t::operator()(pointer_traits<NodePtr>::pointer_to(static_cast<node &>(*to_clone)));
|
|
918
911
|
}
|
|
@@ -935,11 +928,11 @@ struct bucket_plus_vtraits
|
|
|
935
928
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(data_type)
|
|
936
929
|
|
|
937
930
|
public:
|
|
938
|
-
|
|
931
|
+
inline data_type(const ValueTraits& val_traits, const BucketTraits& b_traits)
|
|
939
932
|
: ValueTraits(val_traits), BucketTraits(b_traits)
|
|
940
933
|
{}
|
|
941
934
|
|
|
942
|
-
|
|
935
|
+
inline data_type(BOOST_RV_REF(data_type) other)
|
|
943
936
|
: ValueTraits (BOOST_MOVE_BASE(ValueTraits, other))
|
|
944
937
|
, BucketTraits(BOOST_MOVE_BASE(BucketTraits, other))
|
|
945
938
|
{}
|
|
@@ -994,49 +987,49 @@ struct bucket_plus_vtraits
|
|
|
994
987
|
|
|
995
988
|
static const std::size_t bucket_overhead = LinearBuckets ? 1u : 0u;
|
|
996
989
|
|
|
997
|
-
|
|
990
|
+
inline bucket_plus_vtraits(const ValueTraits &val_traits, const bucket_traits &b_traits)
|
|
998
991
|
: m_data(val_traits, b_traits)
|
|
999
992
|
{}
|
|
1000
993
|
|
|
1001
|
-
|
|
994
|
+
inline bucket_plus_vtraits(BOOST_RV_REF(bucket_plus_vtraits) other)
|
|
1002
995
|
: m_data(boost::move(((bucket_plus_vtraits&)other).m_data))
|
|
1003
996
|
{}
|
|
1004
997
|
|
|
1005
|
-
|
|
998
|
+
inline const_value_traits_ptr priv_value_traits_ptr() const
|
|
1006
999
|
{ return pointer_traits<const_value_traits_ptr>::pointer_to(this->priv_value_traits()); }
|
|
1007
1000
|
|
|
1008
1001
|
//bucket_value_traits
|
|
1009
1002
|
//
|
|
1010
|
-
|
|
1003
|
+
inline const bucket_plus_vtraits &get_bucket_value_traits() const
|
|
1011
1004
|
{ return *this; }
|
|
1012
1005
|
|
|
1013
|
-
|
|
1006
|
+
inline bucket_plus_vtraits &get_bucket_value_traits()
|
|
1014
1007
|
{ return *this; }
|
|
1015
1008
|
|
|
1016
|
-
|
|
1009
|
+
inline const_bucket_value_traits_ptr bucket_value_traits_ptr() const
|
|
1017
1010
|
{ return pointer_traits<const_bucket_value_traits_ptr>::pointer_to(this->get_bucket_value_traits()); }
|
|
1018
1011
|
|
|
1019
1012
|
//value traits
|
|
1020
1013
|
//
|
|
1021
|
-
|
|
1014
|
+
inline const value_traits &priv_value_traits() const
|
|
1022
1015
|
{ return static_cast<const value_traits &>(this->m_data); }
|
|
1023
1016
|
|
|
1024
|
-
|
|
1017
|
+
inline value_traits &priv_value_traits()
|
|
1025
1018
|
{ return static_cast<value_traits &>(this->m_data); }
|
|
1026
1019
|
|
|
1027
1020
|
//value traits
|
|
1028
1021
|
//
|
|
1029
|
-
|
|
1022
|
+
inline const bucket_traits &priv_bucket_traits() const
|
|
1030
1023
|
{ return static_cast<const bucket_traits &>(this->m_data); }
|
|
1031
1024
|
|
|
1032
|
-
|
|
1025
|
+
inline bucket_traits& priv_bucket_traits()
|
|
1033
1026
|
{ return static_cast<bucket_traits&>(this->m_data); }
|
|
1034
1027
|
|
|
1035
1028
|
//bucket operations
|
|
1036
|
-
|
|
1029
|
+
inline bucket_ptr priv_bucket_pointer() const BOOST_NOEXCEPT
|
|
1037
1030
|
{ return this->priv_bucket_traits().bucket_begin(); }
|
|
1038
1031
|
|
|
1039
|
-
|
|
1032
|
+
inline std::size_t priv_usable_bucket_count() const BOOST_NOEXCEPT
|
|
1040
1033
|
{
|
|
1041
1034
|
BOOST_IF_CONSTEXPR(bucket_overhead){
|
|
1042
1035
|
const std::size_t n = this->priv_bucket_traits().bucket_count();
|
|
@@ -1047,19 +1040,19 @@ struct bucket_plus_vtraits
|
|
|
1047
1040
|
}
|
|
1048
1041
|
}
|
|
1049
1042
|
|
|
1050
|
-
|
|
1043
|
+
inline bucket_type &priv_bucket(std::size_t n) const BOOST_NOEXCEPT
|
|
1051
1044
|
{
|
|
1052
1045
|
BOOST_INTRUSIVE_INVARIANT_ASSERT(n < this->priv_usable_bucket_count());
|
|
1053
1046
|
return this->priv_bucket_pointer()[std::ptrdiff_t(n)];
|
|
1054
1047
|
}
|
|
1055
1048
|
|
|
1056
|
-
|
|
1049
|
+
inline bucket_ptr priv_bucket_ptr(std::size_t n) const BOOST_NOEXCEPT
|
|
1057
1050
|
{ return pointer_traits<bucket_ptr>::pointer_to(this->priv_bucket(n)); }
|
|
1058
1051
|
|
|
1059
|
-
|
|
1052
|
+
inline bucket_ptr priv_past_usable_bucket_ptr() const
|
|
1060
1053
|
{ return this->priv_bucket_pointer() + std::ptrdiff_t(priv_usable_bucket_count()); }
|
|
1061
1054
|
|
|
1062
|
-
|
|
1055
|
+
inline bucket_ptr priv_invalid_bucket_ptr() const
|
|
1063
1056
|
{
|
|
1064
1057
|
BOOST_IF_CONSTEXPR(LinearBuckets) {
|
|
1065
1058
|
return bucket_ptr();
|
|
@@ -1069,7 +1062,7 @@ struct bucket_plus_vtraits
|
|
|
1069
1062
|
}
|
|
1070
1063
|
}
|
|
1071
1064
|
|
|
1072
|
-
|
|
1065
|
+
inline void priv_set_sentinel_bucket() const
|
|
1073
1066
|
{
|
|
1074
1067
|
BOOST_IF_CONSTEXPR(LinearBuckets) {
|
|
1075
1068
|
BOOST_INTRUSIVE_INVARIANT_ASSERT(this->priv_bucket_traits().bucket_count() > 1);
|
|
@@ -1078,7 +1071,7 @@ struct bucket_plus_vtraits
|
|
|
1078
1071
|
}
|
|
1079
1072
|
}
|
|
1080
1073
|
|
|
1081
|
-
|
|
1074
|
+
inline void priv_unset_sentinel_bucket() const
|
|
1082
1075
|
{
|
|
1083
1076
|
BOOST_IF_CONSTEXPR(LinearBuckets) {
|
|
1084
1077
|
BOOST_INTRUSIVE_INVARIANT_ASSERT(this->priv_bucket_traits().bucket_count() > 1);
|
|
@@ -1087,46 +1080,46 @@ struct bucket_plus_vtraits
|
|
|
1087
1080
|
}
|
|
1088
1081
|
}
|
|
1089
1082
|
|
|
1090
|
-
|
|
1083
|
+
inline siterator priv_end_sit() const
|
|
1091
1084
|
{ return priv_end_sit(linear_buckets_t()); }
|
|
1092
1085
|
|
|
1093
|
-
|
|
1086
|
+
inline siterator priv_end_sit(detail::true_) const
|
|
1094
1087
|
{ return siterator(this->priv_bucket_pointer() + std::ptrdiff_t(this->priv_bucket_traits().bucket_count() - bucket_overhead)); }
|
|
1095
1088
|
|
|
1096
|
-
|
|
1089
|
+
inline siterator priv_end_sit(detail::false_) const
|
|
1097
1090
|
{ return siterator(this->priv_bucket_pointer()->get_node_ptr()); }
|
|
1098
1091
|
|
|
1099
|
-
|
|
1092
|
+
inline siterator priv_bucket_lbegin(std::size_t n) const
|
|
1100
1093
|
{ siterator s(this->priv_bucket_lbbegin(n)); return ++s; }
|
|
1101
1094
|
|
|
1102
|
-
|
|
1095
|
+
inline siterator priv_bucket_lbbegin(std::size_t n) const
|
|
1103
1096
|
{ return this->sit_bbegin(this->priv_bucket(n)); }
|
|
1104
1097
|
|
|
1105
|
-
|
|
1098
|
+
inline siterator priv_bucket_lend(std::size_t n) const
|
|
1106
1099
|
{ return this->sit_end(this->priv_bucket(n)); }
|
|
1107
1100
|
|
|
1108
|
-
|
|
1101
|
+
inline std::size_t priv_bucket_size(std::size_t n) const
|
|
1109
1102
|
{ return slist_node_algorithms::count(this->priv_bucket(n).get_node_ptr())-1u; }
|
|
1110
1103
|
|
|
1111
|
-
|
|
1104
|
+
inline bool priv_bucket_empty(std::size_t n) const
|
|
1112
1105
|
{ return slist_node_algorithms::is_empty(this->priv_bucket(n).get_node_ptr()); }
|
|
1113
1106
|
|
|
1114
|
-
|
|
1107
|
+
inline bool priv_bucket_empty(bucket_ptr p) const
|
|
1115
1108
|
{ return slist_node_algorithms::is_empty(p->get_node_ptr()); }
|
|
1116
1109
|
|
|
1117
|
-
static
|
|
1110
|
+
static inline siterator priv_bucket_lbegin(bucket_type &b)
|
|
1118
1111
|
{ return siterator(slist_node_traits::get_next(b.get_node_ptr())); }
|
|
1119
1112
|
|
|
1120
|
-
static
|
|
1113
|
+
static inline siterator priv_bucket_lbbegin(bucket_type& b)
|
|
1121
1114
|
{ return siterator(b.get_node_ptr()); }
|
|
1122
1115
|
|
|
1123
|
-
static
|
|
1116
|
+
static inline siterator priv_bucket_lend(bucket_type& b)
|
|
1124
1117
|
{ return siterator(slist_node_algorithms::end_node(b.get_node_ptr())); }
|
|
1125
1118
|
|
|
1126
|
-
static
|
|
1119
|
+
static inline std::size_t priv_bucket_size(const bucket_type& b)
|
|
1127
1120
|
{ return slist_node_algorithms::count(b.get_node_ptr())-1u; }
|
|
1128
1121
|
|
|
1129
|
-
static
|
|
1122
|
+
static inline bool priv_bucket_empty(const bucket_type& b)
|
|
1130
1123
|
{ return slist_node_algorithms::is_empty(b.get_node_ptr()); }
|
|
1131
1124
|
|
|
1132
1125
|
template<class NodeDisposer>
|
|
@@ -1206,7 +1199,7 @@ struct bucket_plus_vtraits
|
|
|
1206
1199
|
}
|
|
1207
1200
|
|
|
1208
1201
|
template<class NodeDisposer>
|
|
1209
|
-
|
|
1202
|
+
inline static void priv_erase_node(bucket_type &b, siterator i, NodeDisposer node_disposer, detail::false_) //!optimize multikey
|
|
1210
1203
|
{
|
|
1211
1204
|
slist_node_ptr bi = slist_node_algorithms::get_previous_node(b.get_node_ptr(), i.pointed_node());
|
|
1212
1205
|
slist_node_algorithms::unlink_after_and_dispose(bi, node_disposer);
|
|
@@ -1252,14 +1245,14 @@ struct bucket_plus_vtraits
|
|
|
1252
1245
|
return siterator(last_node_group);
|
|
1253
1246
|
}
|
|
1254
1247
|
|
|
1255
|
-
|
|
1248
|
+
inline static siterator priv_get_last(bucket_type &b, detail::false_) //NOT optimize multikey
|
|
1256
1249
|
{
|
|
1257
1250
|
slist_node_ptr p = b.get_node_ptr();
|
|
1258
1251
|
return siterator(slist_node_algorithms::get_previous_node(p, slist_node_algorithms::end_node(p)));
|
|
1259
1252
|
}
|
|
1260
1253
|
|
|
1261
1254
|
template<class NodeDisposer>
|
|
1262
|
-
static
|
|
1255
|
+
static inline std::size_t priv_erase_whole_bucket(bucket_type &b, NodeDisposer node_disposer)
|
|
1263
1256
|
{ return slist_node_algorithms::detach_and_dispose(b.get_node_ptr(), node_disposer); }
|
|
1264
1257
|
|
|
1265
1258
|
static siterator priv_get_previous(bucket_type &b, siterator i, detail::true_) //optimize multikey
|
|
@@ -1274,7 +1267,7 @@ struct bucket_plus_vtraits
|
|
|
1274
1267
|
return siterator(n);
|
|
1275
1268
|
}
|
|
1276
1269
|
|
|
1277
|
-
|
|
1270
|
+
inline static siterator priv_get_previous(bucket_type &b, siterator i, detail::false_) //NOT optimize multikey
|
|
1278
1271
|
{ return siterator(slist_node_algorithms::get_previous_node(b.get_node_ptr(), i.pointed_node())); }
|
|
1279
1272
|
|
|
1280
1273
|
template<class Disposer>
|
|
@@ -1286,47 +1279,47 @@ struct bucket_plus_vtraits
|
|
|
1286
1279
|
};
|
|
1287
1280
|
|
|
1288
1281
|
template<class Disposer>
|
|
1289
|
-
|
|
1282
|
+
inline typename typeof_node_disposer<Disposer>::type
|
|
1290
1283
|
make_node_disposer(const Disposer &disposer) const
|
|
1291
1284
|
{
|
|
1292
1285
|
typedef typename typeof_node_disposer<Disposer>::type return_t;
|
|
1293
1286
|
return return_t(disposer, &this->priv_value_traits());
|
|
1294
1287
|
}
|
|
1295
1288
|
|
|
1296
|
-
static
|
|
1289
|
+
static inline bucket_ptr to_ptr(bucket_type &b)
|
|
1297
1290
|
{ return pointer_traits<bucket_ptr>::pointer_to(b); }
|
|
1298
1291
|
|
|
1299
|
-
static
|
|
1292
|
+
static inline siterator sit_bbegin(bucket_type& b)
|
|
1300
1293
|
{ return siterator(b.get_node_ptr()); }
|
|
1301
1294
|
|
|
1302
|
-
static
|
|
1295
|
+
static inline siterator sit_begin(bucket_type& b)
|
|
1303
1296
|
{ return siterator(b.begin_ptr()); }
|
|
1304
1297
|
|
|
1305
|
-
static
|
|
1298
|
+
static inline siterator sit_end(bucket_type& b)
|
|
1306
1299
|
{ return siterator(slist_node_algorithms::end_node(b.get_node_ptr())); }
|
|
1307
1300
|
|
|
1308
|
-
|
|
1301
|
+
inline static std::size_t priv_stored_hash(siterator s, detail::true_) //store_hash
|
|
1309
1302
|
{ return node_traits::get_hash(dcast_bucket_ptr<node>(s.pointed_node())); }
|
|
1310
1303
|
|
|
1311
|
-
|
|
1304
|
+
inline static std::size_t priv_stored_hash(siterator, detail::false_) //NO store_hash
|
|
1312
1305
|
{ return std::size_t(-1); }
|
|
1313
1306
|
|
|
1314
|
-
|
|
1307
|
+
inline node &priv_value_to_node(reference v)
|
|
1315
1308
|
{ return *this->priv_value_traits().to_node_ptr(v); }
|
|
1316
1309
|
|
|
1317
|
-
|
|
1310
|
+
inline const node &priv_value_to_node(const_reference v) const
|
|
1318
1311
|
{ return *this->priv_value_traits().to_node_ptr(v); }
|
|
1319
1312
|
|
|
1320
|
-
|
|
1313
|
+
inline node_ptr priv_value_to_node_ptr(reference v)
|
|
1321
1314
|
{ return this->priv_value_traits().to_node_ptr(v); }
|
|
1322
1315
|
|
|
1323
|
-
|
|
1316
|
+
inline const_node_ptr priv_value_to_node_ptr(const_reference v) const
|
|
1324
1317
|
{ return this->priv_value_traits().to_node_ptr(v); }
|
|
1325
1318
|
|
|
1326
|
-
|
|
1319
|
+
inline reference priv_value_from_siterator(siterator s)
|
|
1327
1320
|
{ return *this->priv_value_traits().to_value_ptr(dcast_bucket_ptr<node>(s.pointed_node())); }
|
|
1328
1321
|
|
|
1329
|
-
|
|
1322
|
+
inline const_reference priv_value_from_siterator(siterator s) const
|
|
1330
1323
|
{ return *this->priv_value_traits().to_value_ptr(dcast_bucket_ptr<node>(s.pointed_node())); }
|
|
1331
1324
|
|
|
1332
1325
|
static void priv_init_buckets(const bucket_ptr buckets_ptr, const std::size_t bucket_cnt)
|
|
@@ -1351,37 +1344,37 @@ struct bucket_plus_vtraits
|
|
|
1351
1344
|
}
|
|
1352
1345
|
}
|
|
1353
1346
|
|
|
1354
|
-
|
|
1347
|
+
inline std::size_t priv_stored_or_compute_hash(const value_type &v, detail::true_) const //For store_hash == true
|
|
1355
1348
|
{ return node_traits::get_hash(this->priv_value_traits().to_node_ptr(v)); }
|
|
1356
1349
|
|
|
1357
1350
|
typedef hashtable_iterator<bucket_plus_vtraits, LinearBuckets, false> iterator;
|
|
1358
1351
|
typedef hashtable_iterator<bucket_plus_vtraits, LinearBuckets, true> const_iterator;
|
|
1359
1352
|
|
|
1360
|
-
|
|
1353
|
+
inline iterator end() BOOST_NOEXCEPT
|
|
1361
1354
|
{ return this->build_iterator(this->priv_end_sit(), bucket_ptr()); }
|
|
1362
1355
|
|
|
1363
|
-
|
|
1356
|
+
inline const_iterator end() const BOOST_NOEXCEPT
|
|
1364
1357
|
{ return this->cend(); }
|
|
1365
1358
|
|
|
1366
|
-
|
|
1359
|
+
inline const_iterator cend() const BOOST_NOEXCEPT
|
|
1367
1360
|
{ return this->build_const_iterator(this->priv_end_sit(), bucket_ptr()); }
|
|
1368
1361
|
|
|
1369
|
-
|
|
1362
|
+
inline iterator build_iterator(siterator s, bucket_ptr p)
|
|
1370
1363
|
{ return this->build_iterator(s, p, linear_buckets_t()); }
|
|
1371
1364
|
|
|
1372
|
-
|
|
1365
|
+
inline iterator build_iterator(siterator s, bucket_ptr p, detail::true_) //linear buckets
|
|
1373
1366
|
{ return iterator(s, p, this->priv_value_traits_ptr()); }
|
|
1374
1367
|
|
|
1375
|
-
|
|
1368
|
+
inline iterator build_iterator(siterator s, bucket_ptr, detail::false_) //!linear buckets
|
|
1376
1369
|
{ return iterator(s, &this->get_bucket_value_traits()); }
|
|
1377
1370
|
|
|
1378
|
-
|
|
1371
|
+
inline const_iterator build_const_iterator(siterator s, bucket_ptr p) const
|
|
1379
1372
|
{ return this->build_const_iterator(s, p, linear_buckets_t()); }
|
|
1380
1373
|
|
|
1381
|
-
|
|
1374
|
+
inline const_iterator build_const_iterator(siterator s, bucket_ptr p, detail::true_) const //linear buckets
|
|
1382
1375
|
{ return const_iterator(s, p, this->priv_value_traits_ptr()); }
|
|
1383
1376
|
|
|
1384
|
-
|
|
1377
|
+
inline const_iterator build_const_iterator(siterator s, bucket_ptr, detail::false_) const //!linear buckets
|
|
1385
1378
|
{ return const_iterator(s, &this->get_bucket_value_traits()); }
|
|
1386
1379
|
};
|
|
1387
1380
|
|
|
@@ -1394,7 +1387,7 @@ struct get_hash
|
|
|
1394
1387
|
template<class T>
|
|
1395
1388
|
struct get_hash<void, T>
|
|
1396
1389
|
{
|
|
1397
|
-
typedef ::
|
|
1390
|
+
typedef detail::internal_hash_functor<T> type;
|
|
1398
1391
|
};
|
|
1399
1392
|
|
|
1400
1393
|
template<class EqualTo, class>
|
|
@@ -1477,29 +1470,29 @@ struct bucket_hash_t
|
|
|
1477
1470
|
typedef bucket_plus_vtraits<ValueTraits, BucketTraits, LinearBuckets> bucket_plus_vtraits_t;
|
|
1478
1471
|
typedef detail::ebo_functor_holder<hasher> base_t;
|
|
1479
1472
|
|
|
1480
|
-
|
|
1473
|
+
inline bucket_hash_t(const ValueTraits &val_traits, const bucket_traits &b_traits, const hasher & h)
|
|
1481
1474
|
: base_t(h)
|
|
1482
1475
|
, bucket_plus_vtraits_t(val_traits, b_traits)
|
|
1483
1476
|
{}
|
|
1484
1477
|
|
|
1485
|
-
|
|
1478
|
+
inline bucket_hash_t(BOOST_RV_REF(bucket_hash_t) other)
|
|
1486
1479
|
: base_t(BOOST_MOVE_BASE(base_t, other))
|
|
1487
1480
|
, bucket_plus_vtraits_t(BOOST_MOVE_BASE(bucket_plus_vtraits_t, other))
|
|
1488
1481
|
{}
|
|
1489
1482
|
|
|
1490
1483
|
template<class K>
|
|
1491
|
-
|
|
1484
|
+
inline std::size_t priv_hash(const K &k) const
|
|
1492
1485
|
{ return this->base_t::operator()(k); }
|
|
1493
1486
|
|
|
1494
|
-
|
|
1487
|
+
inline const hasher &priv_hasher() const
|
|
1495
1488
|
{ return this->base_t::get(); }
|
|
1496
1489
|
|
|
1497
|
-
|
|
1490
|
+
inline hasher &priv_hasher()
|
|
1498
1491
|
{ return this->base_t::get(); }
|
|
1499
1492
|
|
|
1500
1493
|
using bucket_plus_vtraits_t::priv_stored_or_compute_hash; //For store_hash == true
|
|
1501
1494
|
|
|
1502
|
-
|
|
1495
|
+
inline std::size_t priv_stored_or_compute_hash(const value_type &v, detail::false_) const //For store_hash == false
|
|
1503
1496
|
{ return this->priv_hasher()(key_of_value()(v)); }
|
|
1504
1497
|
};
|
|
1505
1498
|
|
|
@@ -1553,27 +1546,27 @@ struct bucket_hash_equal_t
|
|
|
1553
1546
|
, equal_holder_t(e)
|
|
1554
1547
|
{}
|
|
1555
1548
|
|
|
1556
|
-
|
|
1549
|
+
inline bucket_hash_equal_t(BOOST_RV_REF(bucket_hash_equal_t) other)
|
|
1557
1550
|
: bucket_hash_type(BOOST_MOVE_BASE(bucket_hash_type, other))
|
|
1558
1551
|
, equal_holder_t(BOOST_MOVE_BASE(equal_holder_t, other))
|
|
1559
1552
|
{}
|
|
1560
1553
|
|
|
1561
|
-
|
|
1554
|
+
inline bucket_ptr priv_get_cache()
|
|
1562
1555
|
{ return this->priv_bucket_pointer(); }
|
|
1563
1556
|
|
|
1564
|
-
|
|
1557
|
+
inline void priv_set_cache(bucket_ptr)
|
|
1565
1558
|
{}
|
|
1566
1559
|
|
|
1567
|
-
|
|
1560
|
+
inline void priv_set_cache_bucket_num(std::size_t)
|
|
1568
1561
|
{}
|
|
1569
1562
|
|
|
1570
|
-
|
|
1563
|
+
inline std::size_t priv_get_cache_bucket_num()
|
|
1571
1564
|
{ return 0u; }
|
|
1572
1565
|
|
|
1573
|
-
|
|
1566
|
+
inline void priv_init_cache()
|
|
1574
1567
|
{}
|
|
1575
1568
|
|
|
1576
|
-
|
|
1569
|
+
inline void priv_swap_cache(bucket_hash_equal_t &)
|
|
1577
1570
|
{}
|
|
1578
1571
|
|
|
1579
1572
|
siterator priv_begin(bucket_ptr &pbucketptr) const
|
|
@@ -1591,22 +1584,22 @@ struct bucket_hash_equal_t
|
|
|
1591
1584
|
return this->priv_end_sit();
|
|
1592
1585
|
}
|
|
1593
1586
|
|
|
1594
|
-
|
|
1587
|
+
inline void priv_insertion_update_cache(std::size_t)
|
|
1595
1588
|
{}
|
|
1596
1589
|
|
|
1597
|
-
|
|
1590
|
+
inline void priv_erasure_update_cache_range(std::size_t, std::size_t)
|
|
1598
1591
|
{}
|
|
1599
1592
|
|
|
1600
|
-
|
|
1593
|
+
inline void priv_erasure_update_cache(bucket_ptr)
|
|
1601
1594
|
{}
|
|
1602
1595
|
|
|
1603
|
-
|
|
1596
|
+
inline void priv_erasure_update_cache()
|
|
1604
1597
|
{}
|
|
1605
1598
|
|
|
1606
|
-
|
|
1599
|
+
inline const key_equal &priv_equal() const
|
|
1607
1600
|
{ return this->equal_holder_t::get(); }
|
|
1608
1601
|
|
|
1609
|
-
|
|
1602
|
+
inline key_equal &priv_equal()
|
|
1610
1603
|
{ return this->equal_holder_t::get(); }
|
|
1611
1604
|
};
|
|
1612
1605
|
|
|
@@ -1645,7 +1638,7 @@ struct bucket_hash_equal_t<ValueTraits, VoidOrKeyOfValue, VoidOrKeyHash, VoidOrK
|
|
|
1645
1638
|
, equal_holder_t(e)
|
|
1646
1639
|
{}
|
|
1647
1640
|
|
|
1648
|
-
|
|
1641
|
+
inline bucket_hash_equal_t(BOOST_RV_REF(bucket_hash_equal_t) other)
|
|
1649
1642
|
: bucket_hash_type(BOOST_MOVE_BASE(bucket_hash_type, other))
|
|
1650
1643
|
, equal_holder_t(BOOST_MOVE_BASE(equal_holder_t, other))
|
|
1651
1644
|
{}
|
|
@@ -1653,25 +1646,25 @@ struct bucket_hash_equal_t<ValueTraits, VoidOrKeyOfValue, VoidOrKeyHash, VoidOrK
|
|
|
1653
1646
|
typedef typename unordered_bucket_ptr_impl
|
|
1654
1647
|
<typename bucket_hash_type::value_traits>::type bucket_ptr;
|
|
1655
1648
|
|
|
1656
|
-
|
|
1649
|
+
inline bucket_ptr priv_get_cache() const
|
|
1657
1650
|
{ return cached_begin_; }
|
|
1658
1651
|
|
|
1659
|
-
|
|
1652
|
+
inline void priv_set_cache(bucket_ptr p)
|
|
1660
1653
|
{ cached_begin_ = p; }
|
|
1661
1654
|
|
|
1662
|
-
|
|
1655
|
+
inline void priv_set_cache_bucket_num(std::size_t insertion_bucket)
|
|
1663
1656
|
{
|
|
1664
1657
|
BOOST_INTRUSIVE_INVARIANT_ASSERT(insertion_bucket <= this->priv_usable_bucket_count());
|
|
1665
1658
|
this->cached_begin_ = this->priv_bucket_pointer() + std::ptrdiff_t(insertion_bucket);
|
|
1666
1659
|
}
|
|
1667
1660
|
|
|
1668
|
-
|
|
1661
|
+
inline std::size_t priv_get_cache_bucket_num()
|
|
1669
1662
|
{ return std::size_t(this->cached_begin_ - this->priv_bucket_pointer()); }
|
|
1670
1663
|
|
|
1671
|
-
|
|
1664
|
+
inline void priv_init_cache()
|
|
1672
1665
|
{ this->cached_begin_ = this->priv_past_usable_bucket_ptr(); }
|
|
1673
1666
|
|
|
1674
|
-
|
|
1667
|
+
inline void priv_swap_cache(bucket_hash_equal_t &other)
|
|
1675
1668
|
{ ::boost::adl_move_swap(this->cached_begin_, other.cached_begin_); }
|
|
1676
1669
|
|
|
1677
1670
|
siterator priv_begin(bucket_ptr& pbucketptr) const
|
|
@@ -1694,10 +1687,10 @@ struct bucket_hash_equal_t<ValueTraits, VoidOrKeyOfValue, VoidOrKeyHash, VoidOrK
|
|
|
1694
1687
|
}
|
|
1695
1688
|
}
|
|
1696
1689
|
|
|
1697
|
-
|
|
1690
|
+
inline const key_equal &priv_equal() const
|
|
1698
1691
|
{ return this->equal_holder_t::get(); }
|
|
1699
1692
|
|
|
1700
|
-
|
|
1693
|
+
inline key_equal &priv_equal()
|
|
1701
1694
|
{ return this->equal_holder_t::get(); }
|
|
1702
1695
|
|
|
1703
1696
|
void priv_erasure_update_cache_range(std::size_t first_bucket_num, std::size_t last_bucket_num)
|
|
@@ -1756,7 +1749,7 @@ struct hashtable_size_wrapper
|
|
|
1756
1749
|
{}
|
|
1757
1750
|
typedef detail::size_holder < true, SizeType> size_traits;//size_traits
|
|
1758
1751
|
|
|
1759
|
-
|
|
1752
|
+
inline hashtable_size_wrapper(BOOST_RV_REF(hashtable_size_wrapper) other)
|
|
1760
1753
|
: DeriveFrom(BOOST_MOVE_BASE(DeriveFrom, other))
|
|
1761
1754
|
{}
|
|
1762
1755
|
|
|
@@ -1765,19 +1758,19 @@ struct hashtable_size_wrapper
|
|
|
1765
1758
|
typedef const size_traits & size_traits_const_t;
|
|
1766
1759
|
typedef size_traits & size_traits_t;
|
|
1767
1760
|
|
|
1768
|
-
|
|
1761
|
+
inline SizeType get_hashtable_size_wrapper_size() const
|
|
1769
1762
|
{ return size_traits_.get_size(); }
|
|
1770
1763
|
|
|
1771
|
-
|
|
1764
|
+
inline void set_hashtable_size_wrapper_size(SizeType s)
|
|
1772
1765
|
{ size_traits_.set_size(s); }
|
|
1773
1766
|
|
|
1774
|
-
|
|
1767
|
+
inline void inc_hashtable_size_wrapper_size()
|
|
1775
1768
|
{ size_traits_.increment(); }
|
|
1776
1769
|
|
|
1777
|
-
|
|
1770
|
+
inline void dec_hashtable_size_wrapper_size()
|
|
1778
1771
|
{ size_traits_.decrement(); }
|
|
1779
1772
|
|
|
1780
|
-
|
|
1773
|
+
inline size_traits_t priv_size_traits()
|
|
1781
1774
|
{ return size_traits_; }
|
|
1782
1775
|
};
|
|
1783
1776
|
|
|
@@ -1798,7 +1791,7 @@ struct hashtable_size_wrapper<DeriveFrom, SizeType, false>
|
|
|
1798
1791
|
, ::boost::forward<Arg2>(arg2))
|
|
1799
1792
|
{}
|
|
1800
1793
|
|
|
1801
|
-
|
|
1794
|
+
inline hashtable_size_wrapper(BOOST_RV_REF(hashtable_size_wrapper) other)
|
|
1802
1795
|
: DeriveFrom(BOOST_MOVE_BASE(DeriveFrom, other))
|
|
1803
1796
|
{}
|
|
1804
1797
|
|
|
@@ -1807,19 +1800,19 @@ struct hashtable_size_wrapper<DeriveFrom, SizeType, false>
|
|
|
1807
1800
|
typedef size_traits size_traits_const_t;
|
|
1808
1801
|
typedef size_traits size_traits_t;
|
|
1809
1802
|
|
|
1810
|
-
|
|
1803
|
+
inline SizeType get_hashtable_size_wrapper_size() const
|
|
1811
1804
|
{ return 0u; }
|
|
1812
1805
|
|
|
1813
|
-
|
|
1806
|
+
inline void set_hashtable_size_wrapper_size(SizeType)
|
|
1814
1807
|
{}
|
|
1815
1808
|
|
|
1816
|
-
|
|
1809
|
+
inline void inc_hashtable_size_wrapper_size()
|
|
1817
1810
|
{}
|
|
1818
1811
|
|
|
1819
|
-
|
|
1812
|
+
inline void dec_hashtable_size_wrapper_size()
|
|
1820
1813
|
{}
|
|
1821
1814
|
|
|
1822
|
-
|
|
1815
|
+
inline size_traits priv_size_traits()
|
|
1823
1816
|
{ return size_traits(); }
|
|
1824
1817
|
};
|
|
1825
1818
|
|
|
@@ -1908,11 +1901,11 @@ struct hashdata_internal
|
|
|
1908
1901
|
: split_bucket_hash_equal_t(val_traits, b_traits, h, e)
|
|
1909
1902
|
{}
|
|
1910
1903
|
|
|
1911
|
-
|
|
1904
|
+
inline hashdata_internal(BOOST_RV_REF(hashdata_internal) other)
|
|
1912
1905
|
: split_bucket_hash_equal_t(BOOST_MOVE_BASE(split_bucket_hash_equal_t, other))
|
|
1913
1906
|
{}
|
|
1914
1907
|
|
|
1915
|
-
|
|
1908
|
+
inline typename split_bucket_hash_equal_t::size_traits_t priv_split_traits()
|
|
1916
1909
|
{ return this->priv_size_traits(); }
|
|
1917
1910
|
|
|
1918
1911
|
~hashdata_internal()
|
|
@@ -1942,20 +1935,20 @@ struct hashdata_internal
|
|
|
1942
1935
|
typedef typename bucket_plus_vtraits_t::const_iterator const_iterator;
|
|
1943
1936
|
|
|
1944
1937
|
//public functions
|
|
1945
|
-
|
|
1938
|
+
inline SizeType split_count() const BOOST_NOEXCEPT
|
|
1946
1939
|
{ return this->split_bucket_hash_equal_t::get_hashtable_size_wrapper_size(); }
|
|
1947
1940
|
|
|
1948
|
-
|
|
1941
|
+
inline void split_count(SizeType s) BOOST_NOEXCEPT
|
|
1949
1942
|
{ this->split_bucket_hash_equal_t::set_hashtable_size_wrapper_size(s); }
|
|
1950
1943
|
|
|
1951
1944
|
//public functions
|
|
1952
|
-
|
|
1945
|
+
inline void inc_split_count() BOOST_NOEXCEPT
|
|
1953
1946
|
{ this->split_bucket_hash_equal_t::inc_hashtable_size_wrapper_size(); }
|
|
1954
1947
|
|
|
1955
|
-
|
|
1948
|
+
inline void dec_split_count() BOOST_NOEXCEPT
|
|
1956
1949
|
{ this->split_bucket_hash_equal_t::dec_hashtable_size_wrapper_size(); }
|
|
1957
1950
|
|
|
1958
|
-
|
|
1951
|
+
inline static SizeType initial_split_from_bucket_count(SizeType bc) BOOST_NOEXCEPT
|
|
1959
1952
|
{
|
|
1960
1953
|
BOOST_IF_CONSTEXPR(fastmod_buckets) {
|
|
1961
1954
|
size_type split;
|
|
@@ -1975,7 +1968,7 @@ struct hashdata_internal
|
|
|
1975
1968
|
}
|
|
1976
1969
|
}
|
|
1977
1970
|
|
|
1978
|
-
|
|
1971
|
+
inline static SizeType rehash_split_from_bucket_count(SizeType bc) BOOST_NOEXCEPT
|
|
1979
1972
|
{
|
|
1980
1973
|
BOOST_IF_CONSTEXPR(fastmod_buckets) {
|
|
1981
1974
|
return (initial_split_from_bucket_count)(bc);
|
|
@@ -1991,7 +1984,7 @@ struct hashdata_internal
|
|
|
1991
1984
|
}
|
|
1992
1985
|
}
|
|
1993
1986
|
|
|
1994
|
-
|
|
1987
|
+
inline iterator iterator_to(reference value) BOOST_NOEXCEPT_IF(!linear_buckets)
|
|
1995
1988
|
{ return iterator_to(value, linear_buckets_t()); }
|
|
1996
1989
|
|
|
1997
1990
|
const_iterator iterator_to(const_reference value) const BOOST_NOEXCEPT_IF(!linear_buckets)
|
|
@@ -2019,25 +2012,25 @@ struct hashdata_internal
|
|
|
2019
2012
|
|
|
2020
2013
|
typedef detail::bool_<fastmod_buckets> fastmod_buckets_t;
|
|
2021
2014
|
|
|
2022
|
-
|
|
2015
|
+
inline bucket_type &priv_hash_to_bucket(std::size_t hash_value) const
|
|
2023
2016
|
{ return this->priv_bucket(this->priv_hash_to_nbucket(hash_value)); }
|
|
2024
2017
|
|
|
2025
|
-
|
|
2018
|
+
inline bucket_ptr priv_hash_to_bucket_ptr(std::size_t hash_value) const
|
|
2026
2019
|
{ return this->priv_bucket_ptr(this->priv_hash_to_nbucket(hash_value)); }
|
|
2027
2020
|
|
|
2028
|
-
|
|
2021
|
+
inline size_type priv_hash_to_nbucket(std::size_t hash_value) const
|
|
2029
2022
|
{ return (priv_hash_to_nbucket)(hash_value, fastmod_buckets_t()); }
|
|
2030
2023
|
|
|
2031
|
-
|
|
2024
|
+
inline size_type priv_hash_to_nbucket(std::size_t hash_value, detail::true_) const //fastmod_buckets_t
|
|
2032
2025
|
{ return static_cast<size_type>(prime_fmod_size::position(hash_value, this->split_count())); }
|
|
2033
2026
|
|
|
2034
|
-
|
|
2027
|
+
inline size_type priv_hash_to_nbucket(std::size_t hash_value, detail::false_) const //!fastmod_buckets_t
|
|
2035
2028
|
{
|
|
2036
2029
|
return static_cast<size_type>(hash_to_bucket_split<power_2_buckets, incremental>
|
|
2037
2030
|
(hash_value, this->priv_usable_bucket_count(), this->split_count(), detail::false_()));
|
|
2038
2031
|
}
|
|
2039
2032
|
|
|
2040
|
-
|
|
2033
|
+
inline iterator iterator_to(reference value, detail::false_) BOOST_NOEXCEPT
|
|
2041
2034
|
{
|
|
2042
2035
|
return iterator( siterator(this->priv_value_to_node_ptr(value))
|
|
2043
2036
|
, &this->get_bucket_value_traits());
|
|
@@ -2053,14 +2046,14 @@ struct hashdata_internal
|
|
|
2053
2046
|
|
|
2054
2047
|
static local_iterator s_local_iterator_to(reference value) BOOST_NOEXCEPT
|
|
2055
2048
|
{
|
|
2056
|
-
|
|
2049
|
+
BOOST_INTRUSIVE_STATIC_ASSERT((!stateful_value_traits));
|
|
2057
2050
|
siterator sit(value_traits::to_node_ptr(value));
|
|
2058
2051
|
return local_iterator(sit, const_value_traits_ptr());
|
|
2059
2052
|
}
|
|
2060
2053
|
|
|
2061
2054
|
static const_local_iterator s_local_iterator_to(const_reference value) BOOST_NOEXCEPT
|
|
2062
2055
|
{
|
|
2063
|
-
|
|
2056
|
+
BOOST_INTRUSIVE_STATIC_ASSERT((!stateful_value_traits));
|
|
2064
2057
|
siterator const sit = siterator
|
|
2065
2058
|
( pointer_traits<node_ptr>::const_cast_from
|
|
2066
2059
|
(value_traits::to_node_ptr(value))
|
|
@@ -2081,22 +2074,22 @@ struct hashdata_internal
|
|
|
2081
2074
|
return const_local_iterator(sit, this->priv_value_traits_ptr());
|
|
2082
2075
|
}
|
|
2083
2076
|
|
|
2084
|
-
|
|
2077
|
+
inline size_type bucket_count() const BOOST_NOEXCEPT
|
|
2085
2078
|
{ return size_type(this->priv_usable_bucket_count()); }
|
|
2086
2079
|
|
|
2087
|
-
|
|
2080
|
+
inline size_type bucket_size(size_type n) const BOOST_NOEXCEPT
|
|
2088
2081
|
{ return (size_type)this->priv_bucket_size(n); }
|
|
2089
2082
|
|
|
2090
|
-
|
|
2083
|
+
inline bucket_ptr bucket_pointer() const BOOST_NOEXCEPT
|
|
2091
2084
|
{ return this->priv_bucket_pointer(); }
|
|
2092
2085
|
|
|
2093
|
-
|
|
2086
|
+
inline local_iterator begin(size_type n) BOOST_NOEXCEPT
|
|
2094
2087
|
{ return local_iterator(this->priv_bucket_lbegin(n), this->priv_value_traits_ptr()); }
|
|
2095
2088
|
|
|
2096
|
-
|
|
2089
|
+
inline const_local_iterator begin(size_type n) const BOOST_NOEXCEPT
|
|
2097
2090
|
{ return this->cbegin(n); }
|
|
2098
2091
|
|
|
2099
|
-
static
|
|
2092
|
+
static inline size_type suggested_upper_bucket_count(size_type n) BOOST_NOEXCEPT
|
|
2100
2093
|
{
|
|
2101
2094
|
BOOST_IF_CONSTEXPR(fastmod_buckets){
|
|
2102
2095
|
std::size_t s = prime_fmod_size::upper_size_index(n);
|
|
@@ -2107,7 +2100,7 @@ struct hashdata_internal
|
|
|
2107
2100
|
}
|
|
2108
2101
|
}
|
|
2109
2102
|
|
|
2110
|
-
static
|
|
2103
|
+
static inline size_type suggested_lower_bucket_count(size_type n) BOOST_NOEXCEPT
|
|
2111
2104
|
{
|
|
2112
2105
|
BOOST_IF_CONSTEXPR(fastmod_buckets){
|
|
2113
2106
|
std::size_t s = prime_fmod_size::lower_size_index(n);
|
|
@@ -2131,7 +2124,7 @@ struct hashdata_internal
|
|
|
2131
2124
|
local_iterator end(size_type n) BOOST_NOEXCEPT
|
|
2132
2125
|
{ return local_iterator(this->priv_bucket_lend(n), this->priv_value_traits_ptr()); }
|
|
2133
2126
|
|
|
2134
|
-
|
|
2127
|
+
inline const_local_iterator end(size_type n) const BOOST_NOEXCEPT
|
|
2135
2128
|
{ return this->cend(n); }
|
|
2136
2129
|
|
|
2137
2130
|
const_local_iterator cend(size_type n) const BOOST_NOEXCEPT
|
|
@@ -2143,27 +2136,27 @@ struct hashdata_internal
|
|
|
2143
2136
|
|
|
2144
2137
|
//Public functions for hashtable_impl
|
|
2145
2138
|
|
|
2146
|
-
|
|
2139
|
+
inline iterator begin() BOOST_NOEXCEPT
|
|
2147
2140
|
{
|
|
2148
2141
|
bucket_ptr p;
|
|
2149
2142
|
siterator s = this->priv_begin(p);
|
|
2150
2143
|
return this->build_iterator(s, p);
|
|
2151
2144
|
}
|
|
2152
2145
|
|
|
2153
|
-
|
|
2146
|
+
inline const_iterator begin() const BOOST_NOEXCEPT
|
|
2154
2147
|
{ return this->cbegin(); }
|
|
2155
2148
|
|
|
2156
|
-
|
|
2149
|
+
inline const_iterator cbegin() const BOOST_NOEXCEPT
|
|
2157
2150
|
{
|
|
2158
2151
|
bucket_ptr p;
|
|
2159
2152
|
siterator s = this->priv_begin(p);
|
|
2160
2153
|
return this->build_const_iterator(s, p);
|
|
2161
2154
|
}
|
|
2162
2155
|
|
|
2163
|
-
|
|
2156
|
+
inline hasher hash_function() const
|
|
2164
2157
|
{ return this->priv_hasher(); }
|
|
2165
2158
|
|
|
2166
|
-
|
|
2159
|
+
inline key_equal key_eq() const
|
|
2167
2160
|
{ return this->priv_equal(); }
|
|
2168
2161
|
};
|
|
2169
2162
|
|
|
@@ -2323,11 +2316,11 @@ class hashtable_impl
|
|
|
2323
2316
|
|
|
2324
2317
|
//Configuration error: compare_hash<> can't be specified without store_hash<>
|
|
2325
2318
|
//See documentation for more explanations
|
|
2326
|
-
|
|
2319
|
+
BOOST_INTRUSIVE_STATIC_ASSERT((!compare_hash || store_hash));
|
|
2327
2320
|
|
|
2328
2321
|
//Configuration error: fasmod_buckets<> can't be specified with incremental<> or power_2_buckets<>
|
|
2329
2322
|
//See documentation for more explanations
|
|
2330
|
-
|
|
2323
|
+
BOOST_INTRUSIVE_STATIC_ASSERT(!(fastmod_buckets && power_2_buckets));
|
|
2331
2324
|
|
|
2332
2325
|
typedef typename internal_type::slist_node_ptr slist_node_ptr;
|
|
2333
2326
|
typedef typename pointer_traits
|
|
@@ -2354,15 +2347,15 @@ class hashtable_impl
|
|
|
2354
2347
|
static const bool safemode_or_autounlink = internal_type::safemode_or_autounlink;
|
|
2355
2348
|
|
|
2356
2349
|
//Constant-time size is incompatible with auto-unlink hooks!
|
|
2357
|
-
|
|
2350
|
+
BOOST_INTRUSIVE_STATIC_ASSERT(!(constant_time_size && ((int)value_traits::link_mode == (int)auto_unlink)));
|
|
2358
2351
|
//Cache begin is incompatible with auto-unlink hooks!
|
|
2359
|
-
|
|
2352
|
+
BOOST_INTRUSIVE_STATIC_ASSERT(!(cache_begin && ((int)value_traits::link_mode == (int)auto_unlink)));
|
|
2360
2353
|
|
|
2361
2354
|
|
|
2362
2355
|
/// @endcond
|
|
2363
2356
|
|
|
2364
2357
|
public:
|
|
2365
|
-
typedef insert_commit_data_impl
|
|
2358
|
+
typedef insert_commit_data_impl insert_commit_data;
|
|
2366
2359
|
|
|
2367
2360
|
private:
|
|
2368
2361
|
void default_init_actions()
|
|
@@ -2378,16 +2371,16 @@ class hashtable_impl
|
|
|
2378
2371
|
this->split_count(this->initial_split_from_bucket_count(bucket_sz));
|
|
2379
2372
|
}
|
|
2380
2373
|
|
|
2381
|
-
|
|
2374
|
+
inline SizeType priv_size_count() const BOOST_NOEXCEPT
|
|
2382
2375
|
{ return this->internal_type::get_hashtable_size_wrapper_size(); }
|
|
2383
2376
|
|
|
2384
|
-
|
|
2377
|
+
inline void priv_size_count(SizeType s) BOOST_NOEXCEPT
|
|
2385
2378
|
{ this->internal_type::set_hashtable_size_wrapper_size(s); }
|
|
2386
2379
|
|
|
2387
|
-
|
|
2380
|
+
inline void priv_size_inc() BOOST_NOEXCEPT
|
|
2388
2381
|
{ this->internal_type::inc_hashtable_size_wrapper_size(); }
|
|
2389
2382
|
|
|
2390
|
-
|
|
2383
|
+
inline void priv_size_dec() BOOST_NOEXCEPT
|
|
2391
2384
|
{ this->internal_type::dec_hashtable_size_wrapper_size(); }
|
|
2392
2385
|
|
|
2393
2386
|
public:
|
|
@@ -2635,7 +2628,7 @@ class hashtable_impl
|
|
|
2635
2628
|
//! <b>Throws</b>: If cloner or hasher throw or hash or equality predicate copying
|
|
2636
2629
|
//! throws. Basic guarantee.
|
|
2637
2630
|
template <class Cloner, class Disposer>
|
|
2638
|
-
|
|
2631
|
+
inline void clone_from(const hashtable_impl &src, Cloner cloner, Disposer disposer)
|
|
2639
2632
|
{ this->priv_clone_from(src, cloner, disposer); }
|
|
2640
2633
|
|
|
2641
2634
|
//! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw
|
|
@@ -2658,7 +2651,7 @@ class hashtable_impl
|
|
|
2658
2651
|
//! <b>Throws</b>: If cloner or hasher throw or hash or equality predicate copying
|
|
2659
2652
|
//! throws. Basic guarantee.
|
|
2660
2653
|
template <class Cloner, class Disposer>
|
|
2661
|
-
|
|
2654
|
+
inline void clone_from(BOOST_RV_REF(hashtable_impl) src, Cloner cloner, Disposer disposer)
|
|
2662
2655
|
{ this->priv_clone_from(static_cast<hashtable_impl&>(src), cloner, disposer); }
|
|
2663
2656
|
|
|
2664
2657
|
//! <b>Requires</b>: value must be an lvalue
|
|
@@ -2724,7 +2717,7 @@ class hashtable_impl
|
|
|
2724
2717
|
insert_commit_data commit_data;
|
|
2725
2718
|
std::pair<iterator, bool> ret = this->insert_unique_check(key_of_value()(value), commit_data);
|
|
2726
2719
|
if(ret.second){
|
|
2727
|
-
ret.first = this->
|
|
2720
|
+
ret.first = this->insert_unique_fast_commit(value, commit_data);
|
|
2728
2721
|
}
|
|
2729
2722
|
return ret;
|
|
2730
2723
|
}
|
|
@@ -2828,7 +2821,7 @@ class hashtable_impl
|
|
|
2828
2821
|
//! objects are inserted or erased from the unordered_set.
|
|
2829
2822
|
//!
|
|
2830
2823
|
//! After a successful rehashing insert_commit_data remains valid.
|
|
2831
|
-
|
|
2824
|
+
inline std::pair<iterator, bool> insert_unique_check
|
|
2832
2825
|
( const key_type &key, insert_commit_data &commit_data)
|
|
2833
2826
|
{ return this->insert_unique_check(key, this->priv_hasher(), this->priv_equal(), commit_data); }
|
|
2834
2827
|
|
|
@@ -2851,7 +2844,43 @@ class hashtable_impl
|
|
|
2851
2844
|
//! erased between the "insert_check" and "insert_commit" calls.
|
|
2852
2845
|
//!
|
|
2853
2846
|
//! After a successful rehashing insert_commit_data remains valid.
|
|
2854
|
-
iterator insert_unique_commit(reference value, const insert_commit_data
|
|
2847
|
+
iterator insert_unique_commit(reference value, const insert_commit_data& commit_data) BOOST_NOEXCEPT
|
|
2848
|
+
{
|
|
2849
|
+
size_type bucket_num = this->priv_hash_to_nbucket(commit_data.get_hash());
|
|
2850
|
+
bucket_type& b = this->priv_bucket(bucket_num);
|
|
2851
|
+
this->priv_size_traits().increment();
|
|
2852
|
+
node_ptr const n = pointer_traits<node_ptr>::pointer_to(this->priv_value_to_node(value));
|
|
2853
|
+
BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || slist_node_algorithms::unique(n));
|
|
2854
|
+
node_functions_t::store_hash(n, commit_data.get_hash(), store_hash_t());
|
|
2855
|
+
this->priv_insertion_update_cache(bucket_num);
|
|
2856
|
+
group_functions_t::insert_in_group(n, n, optimize_multikey_t());
|
|
2857
|
+
slist_node_algorithms::link_after(b.get_node_ptr(), n);
|
|
2858
|
+
return this->build_iterator(siterator(n), this->to_ptr(b));
|
|
2859
|
+
}
|
|
2860
|
+
|
|
2861
|
+
//! <b>Requires</b>: value must be an lvalue of type value_type. commit_data
|
|
2862
|
+
//! must have been obtained from a previous call to "insert_check".
|
|
2863
|
+
//! No objects should have been inserted or erased from the unordered_set between
|
|
2864
|
+
//! the "insert_check" that filled "commit_data" and the call to "insert_commit".
|
|
2865
|
+
//!
|
|
2866
|
+
//! No rehashing shall be performed between `insert_check` and `insert_fast_commit`.
|
|
2867
|
+
//!
|
|
2868
|
+
//! <b>Effects</b>: Inserts the value in the unordered_set using the information obtained
|
|
2869
|
+
//! from the "commit_data" that a previous "insert_check" filled.
|
|
2870
|
+
//!
|
|
2871
|
+
//! <b>Returns</b>: An iterator to the newly inserted object.
|
|
2872
|
+
//!
|
|
2873
|
+
//! <b>Complexity</b>: Constant time.
|
|
2874
|
+
//!
|
|
2875
|
+
//! <b>Throws</b>: Nothing.
|
|
2876
|
+
//!
|
|
2877
|
+
//! <b>Notes</b>: This function has only sense if a "insert_check" has been
|
|
2878
|
+
//! previously executed to fill "commit_data". No value should be inserted or
|
|
2879
|
+
//! erased between the "insert_check" and "insert_commit" calls.
|
|
2880
|
+
//!
|
|
2881
|
+
//! Since this commit operation does not support rehashing between the check
|
|
2882
|
+
//! and the commit, it's faster than `insert_commit`.
|
|
2883
|
+
iterator insert_unique_fast_commit(reference value, const insert_commit_data &commit_data) BOOST_NOEXCEPT
|
|
2855
2884
|
{
|
|
2856
2885
|
this->priv_size_inc();
|
|
2857
2886
|
node_ptr const n = this->priv_value_to_node_ptr(value);
|
|
@@ -2872,7 +2901,7 @@ class hashtable_impl
|
|
|
2872
2901
|
//!
|
|
2873
2902
|
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
|
2874
2903
|
//! to the erased element. No destructors are called.
|
|
2875
|
-
|
|
2904
|
+
inline void erase(const_iterator i) BOOST_NOEXCEPT
|
|
2876
2905
|
{ this->erase_and_dispose(i, detail::null_disposer()); }
|
|
2877
2906
|
|
|
2878
2907
|
//! <b>Effects</b>: Erases the range pointed to by b end e.
|
|
@@ -2884,7 +2913,7 @@ class hashtable_impl
|
|
|
2884
2913
|
//!
|
|
2885
2914
|
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
|
2886
2915
|
//! to the erased elements. No destructors are called.
|
|
2887
|
-
|
|
2916
|
+
inline void erase(const_iterator b, const_iterator e) BOOST_NOEXCEPT
|
|
2888
2917
|
{ this->erase_and_dispose(b, e, detail::null_disposer()); }
|
|
2889
2918
|
|
|
2890
2919
|
//! <b>Effects</b>: Erases all the elements with the given value.
|
|
@@ -2899,7 +2928,7 @@ class hashtable_impl
|
|
|
2899
2928
|
//!
|
|
2900
2929
|
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
|
2901
2930
|
//! to the erased elements. No destructors are called.
|
|
2902
|
-
|
|
2931
|
+
inline size_type erase(const key_type &key)
|
|
2903
2932
|
{ return this->erase(key, this->priv_hasher(), this->priv_equal()); }
|
|
2904
2933
|
|
|
2905
2934
|
//! <b>Requires</b>: "hash_func" must be a hash function that induces
|
|
@@ -2923,7 +2952,7 @@ class hashtable_impl
|
|
|
2923
2952
|
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
|
2924
2953
|
//! to the erased elements. No destructors are called.
|
|
2925
2954
|
template<class KeyType, class KeyHasher, class KeyEqual>
|
|
2926
|
-
|
|
2955
|
+
inline size_type erase(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func)
|
|
2927
2956
|
{ return this->erase_and_dispose(key, hash_func, equal_func, detail::null_disposer()); }
|
|
2928
2957
|
|
|
2929
2958
|
//! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
|
|
@@ -3007,7 +3036,7 @@ class hashtable_impl
|
|
|
3007
3036
|
//! <b>Note</b>: Invalidates the iterators (but not the references)
|
|
3008
3037
|
//! to the erased elements. No destructors are called.
|
|
3009
3038
|
template<class Disposer>
|
|
3010
|
-
|
|
3039
|
+
inline size_type erase_and_dispose(const key_type &key, Disposer disposer)
|
|
3011
3040
|
{ return this->erase_and_dispose(key, this->priv_hasher(), this->priv_equal(), disposer); }
|
|
3012
3041
|
|
|
3013
3042
|
//! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
|
|
@@ -3110,7 +3139,7 @@ class hashtable_impl
|
|
|
3110
3139
|
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
|
3111
3140
|
//!
|
|
3112
3141
|
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
|
3113
|
-
|
|
3142
|
+
inline size_type count(const key_type &key) const
|
|
3114
3143
|
{ return this->count(key, this->priv_hasher(), this->priv_equal()); }
|
|
3115
3144
|
|
|
3116
3145
|
//! <b>Requires</b>: "hash_func" must be a hash function that induces
|
|
@@ -3141,7 +3170,7 @@ class hashtable_impl
|
|
|
3141
3170
|
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
|
3142
3171
|
//!
|
|
3143
3172
|
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
|
3144
|
-
|
|
3173
|
+
inline iterator find(const key_type &key)
|
|
3145
3174
|
{ return this->find(key, this->priv_hasher(), this->priv_equal()); }
|
|
3146
3175
|
|
|
3147
3176
|
//! <b>Requires</b>: "hash_func" must be a hash function that induces
|
|
@@ -3178,7 +3207,7 @@ class hashtable_impl
|
|
|
3178
3207
|
//! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
|
|
3179
3208
|
//!
|
|
3180
3209
|
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
|
3181
|
-
|
|
3210
|
+
inline const_iterator find(const key_type &key) const
|
|
3182
3211
|
{ return this->find(key, this->priv_hasher(), this->priv_equal()); }
|
|
3183
3212
|
|
|
3184
3213
|
//! <b>Requires</b>: "hash_func" must be a hash function that induces
|
|
@@ -3217,7 +3246,7 @@ class hashtable_impl
|
|
|
3217
3246
|
//! <b>Complexity</b>: Average case O(this->count(value)). Worst case O(this->size()).
|
|
3218
3247
|
//!
|
|
3219
3248
|
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
|
3220
|
-
|
|
3249
|
+
inline std::pair<iterator,iterator> equal_range(const key_type &key)
|
|
3221
3250
|
{ return this->equal_range(key, this->priv_hasher(), this->priv_equal()); }
|
|
3222
3251
|
|
|
3223
3252
|
//! <b>Requires</b>: "hash_func" must be a hash function that induces
|
|
@@ -3258,7 +3287,7 @@ class hashtable_impl
|
|
|
3258
3287
|
//! <b>Complexity</b>: Average case O(this->count(value)). Worst case O(this->size()).
|
|
3259
3288
|
//!
|
|
3260
3289
|
//! <b>Throws</b>: If the internal hasher or the equality functor throws.
|
|
3261
|
-
|
|
3290
|
+
inline std::pair<const_iterator, const_iterator>
|
|
3262
3291
|
equal_range(const key_type &key) const
|
|
3263
3292
|
{ return this->equal_range(key, this->priv_hasher(), this->priv_equal()); }
|
|
3264
3293
|
|
|
@@ -3393,7 +3422,7 @@ class hashtable_impl
|
|
|
3393
3422
|
//! <b>Throws</b>: If the hash functor throws.
|
|
3394
3423
|
//!
|
|
3395
3424
|
//! <b>Note</b>: the return value is in the range [0, this->bucket_count()).
|
|
3396
|
-
|
|
3425
|
+
inline size_type bucket(const key_type& k) const
|
|
3397
3426
|
{ return this->priv_hash_to_nbucket(this->priv_hash(k)); }
|
|
3398
3427
|
|
|
3399
3428
|
//! <b>Requires</b>: "hash_func" must be a hash function that induces
|
|
@@ -3409,7 +3438,7 @@ class hashtable_impl
|
|
|
3409
3438
|
//!
|
|
3410
3439
|
//! <b>Note</b>: the return value is in the range [0, this->bucket_count()).
|
|
3411
3440
|
template<class KeyType, class KeyHasher>
|
|
3412
|
-
|
|
3441
|
+
inline size_type bucket(const KeyType& k, KeyHasher hash_func) const
|
|
3413
3442
|
{ return this->priv_hash_to_nbucket(hash_func(k)); }
|
|
3414
3443
|
|
|
3415
3444
|
#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
|
|
@@ -3527,7 +3556,7 @@ class hashtable_impl
|
|
|
3527
3556
|
//! <b>Complexity</b>: Average case linear in this->size(), worst case quadratic.
|
|
3528
3557
|
//!
|
|
3529
3558
|
//! <b>Throws</b>: If the hasher functor throws. Basic guarantee.
|
|
3530
|
-
|
|
3559
|
+
inline void rehash(const bucket_traits &new_bucket_traits)
|
|
3531
3560
|
{ this->priv_rehash_impl(new_bucket_traits, false); }
|
|
3532
3561
|
|
|
3533
3562
|
//! <b>Note</b>: This function is used when keys from inserted elements are changed
|
|
@@ -3550,7 +3579,7 @@ class hashtable_impl
|
|
|
3550
3579
|
//! <b>Complexity</b>: Average case linear in this->size(), worst case quadratic.
|
|
3551
3580
|
//!
|
|
3552
3581
|
//! <b>Throws</b>: If the hasher functor throws. Basic guarantee.
|
|
3553
|
-
|
|
3582
|
+
inline void full_rehash()
|
|
3554
3583
|
{ this->priv_rehash_impl(this->priv_bucket_traits(), true); }
|
|
3555
3584
|
|
|
3556
3585
|
//! <b>Requires</b>:
|
|
@@ -3565,7 +3594,7 @@ class hashtable_impl
|
|
|
3565
3594
|
bool incremental_rehash(bool grow = true)
|
|
3566
3595
|
{
|
|
3567
3596
|
//This function is only available for containers with incremental hashing
|
|
3568
|
-
|
|
3597
|
+
BOOST_INTRUSIVE_STATIC_ASSERT(( incremental && power_2_buckets ));
|
|
3569
3598
|
const std::size_t split_idx = this->split_count();
|
|
3570
3599
|
const std::size_t bucket_cnt = this->bucket_count();
|
|
3571
3600
|
bool ret = false;
|
|
@@ -3630,7 +3659,7 @@ class hashtable_impl
|
|
|
3630
3659
|
bool incremental_rehash(const bucket_traits &new_bucket_traits) BOOST_NOEXCEPT
|
|
3631
3660
|
{
|
|
3632
3661
|
//This function is only available for containers with incremental hashing
|
|
3633
|
-
|
|
3662
|
+
BOOST_INTRUSIVE_STATIC_ASSERT(( incremental && power_2_buckets ));
|
|
3634
3663
|
const bucket_ptr new_buckets = new_bucket_traits.bucket_begin();
|
|
3635
3664
|
const size_type new_bucket_count_stdszt = static_cast<SizeType>(new_bucket_traits.bucket_count() - bucket_overhead);
|
|
3636
3665
|
BOOST_INTRUSIVE_INVARIANT_ASSERT(sizeof(size_type) >= sizeof(std::size_t) || new_bucket_count_stdszt <= size_type(-1));
|
|
@@ -3748,7 +3777,7 @@ class hashtable_impl
|
|
|
3748
3777
|
{ return !(x < y); }
|
|
3749
3778
|
|
|
3750
3779
|
/// @cond
|
|
3751
|
-
|
|
3780
|
+
inline void check() const {}
|
|
3752
3781
|
private:
|
|
3753
3782
|
|
|
3754
3783
|
static void priv_initialize_new_buckets
|
|
@@ -4050,17 +4079,17 @@ class hashtable_impl
|
|
|
4050
4079
|
}
|
|
4051
4080
|
|
|
4052
4081
|
template<class KeyType, class KeyEqual>
|
|
4053
|
-
|
|
4082
|
+
inline bool priv_is_value_equal_to_key
|
|
4054
4083
|
(const value_type &v, const std::size_t h, const KeyType &key, KeyEqual equal_func, detail::true_) const //compare_hash
|
|
4055
4084
|
{ return this->priv_stored_or_compute_hash(v, store_hash_t()) == h && equal_func(key, key_of_value()(v)); }
|
|
4056
4085
|
|
|
4057
4086
|
template<class KeyType, class KeyEqual>
|
|
4058
|
-
|
|
4087
|
+
inline bool priv_is_value_equal_to_key
|
|
4059
4088
|
(const value_type& v, const std::size_t , const KeyType& key, KeyEqual equal_func, detail::false_) const //compare_hash
|
|
4060
4089
|
{ return equal_func(key, key_of_value()(v)); }
|
|
4061
4090
|
|
|
4062
4091
|
//return previous iterator to the next equal range group in case
|
|
4063
|
-
|
|
4092
|
+
inline static void priv_go_to_last_in_group
|
|
4064
4093
|
(siterator &it_first_in_group, detail::true_) BOOST_NOEXCEPT //optimize_multikey
|
|
4065
4094
|
{
|
|
4066
4095
|
it_first_in_group =
|
|
@@ -4069,7 +4098,7 @@ class hashtable_impl
|
|
|
4069
4098
|
}
|
|
4070
4099
|
|
|
4071
4100
|
//return previous iterator to the next equal range group in case
|
|
4072
|
-
|
|
4101
|
+
inline static void priv_go_to_last_in_group //!optimize_multikey
|
|
4073
4102
|
(siterator /*&it_first_in_group*/, detail::false_) BOOST_NOEXCEPT
|
|
4074
4103
|
{ }
|
|
4075
4104
|
|
|
@@ -4171,16 +4200,16 @@ class hashtable_impl
|
|
|
4171
4200
|
return r;
|
|
4172
4201
|
}
|
|
4173
4202
|
|
|
4174
|
-
|
|
4203
|
+
inline size_type priv_get_bucket_num(const_iterator it) BOOST_NOEXCEPT
|
|
4175
4204
|
{ return this->priv_get_bucket_num(it, linear_buckets_t()); }
|
|
4176
4205
|
|
|
4177
|
-
|
|
4206
|
+
inline size_type priv_get_bucket_num(const_iterator it, detail::true_) BOOST_NOEXCEPT //linear
|
|
4178
4207
|
{ return size_type(it.get_bucket_ptr() - this->priv_bucket_pointer()); }
|
|
4179
4208
|
|
|
4180
|
-
|
|
4209
|
+
inline size_type priv_get_bucket_num(const_iterator it, detail::false_) BOOST_NOEXCEPT //!linear
|
|
4181
4210
|
{ return this->priv_get_bucket_num_hash_dispatch(it.slist_it(), store_hash_t()); }
|
|
4182
4211
|
|
|
4183
|
-
|
|
4212
|
+
inline size_type priv_get_bucket_num_hash_dispatch(siterator it, detail::true_) BOOST_NOEXCEPT //store_hash
|
|
4184
4213
|
{ return (size_type)this->priv_hash_to_nbucket(this->priv_stored_hash(it, store_hash_t())); }
|
|
4185
4214
|
|
|
4186
4215
|
size_type priv_get_bucket_num_hash_dispatch(siterator it, detail::false_) BOOST_NOEXCEPT //NO store_hash
|
|
@@ -4199,13 +4228,13 @@ class hashtable_impl
|
|
|
4199
4228
|
}
|
|
4200
4229
|
|
|
4201
4230
|
|
|
4202
|
-
|
|
4231
|
+
inline bucket_ptr priv_get_bucket_ptr(const_iterator it) BOOST_NOEXCEPT
|
|
4203
4232
|
{ return this->priv_get_bucket_ptr(it, linear_buckets_t()); }
|
|
4204
4233
|
|
|
4205
|
-
|
|
4234
|
+
inline bucket_ptr priv_get_bucket_ptr(const_iterator it, detail::true_) BOOST_NOEXCEPT //linear
|
|
4206
4235
|
{ return it.get_bucket_ptr(); }
|
|
4207
4236
|
|
|
4208
|
-
|
|
4237
|
+
inline bucket_ptr priv_get_bucket_ptr(const_iterator it, detail::false_) BOOST_NOEXCEPT //!linear
|
|
4209
4238
|
{ return this->priv_bucket_ptr(this->priv_get_bucket_num_hash_dispatch(it.slist_it(), store_hash_t())); }
|
|
4210
4239
|
|
|
4211
4240
|
/// @endcond
|
|
@@ -4328,28 +4357,28 @@ class hashtable
|
|
|
4328
4357
|
typedef typename Base::key_equal key_equal;
|
|
4329
4358
|
|
|
4330
4359
|
//Assert if passed value traits are compatible with the type
|
|
4331
|
-
|
|
4360
|
+
BOOST_INTRUSIVE_STATIC_ASSERT((detail::is_same<typename value_traits::value_type, T>::value));
|
|
4332
4361
|
|
|
4333
|
-
|
|
4362
|
+
inline explicit hashtable ( const bucket_traits &b_traits
|
|
4334
4363
|
, const hasher & hash_func = hasher()
|
|
4335
4364
|
, const key_equal &equal_func = key_equal()
|
|
4336
4365
|
, const value_traits &v_traits = value_traits())
|
|
4337
4366
|
: Base(b_traits, hash_func, equal_func, v_traits)
|
|
4338
4367
|
{}
|
|
4339
4368
|
|
|
4340
|
-
|
|
4369
|
+
inline hashtable(BOOST_RV_REF(hashtable) x)
|
|
4341
4370
|
: Base(BOOST_MOVE_BASE(Base, x))
|
|
4342
4371
|
{}
|
|
4343
4372
|
|
|
4344
|
-
|
|
4373
|
+
inline hashtable& operator=(BOOST_RV_REF(hashtable) x)
|
|
4345
4374
|
{ return static_cast<hashtable&>(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); }
|
|
4346
4375
|
|
|
4347
4376
|
template <class Cloner, class Disposer>
|
|
4348
|
-
|
|
4377
|
+
inline void clone_from(const hashtable &src, Cloner cloner, Disposer disposer)
|
|
4349
4378
|
{ Base::clone_from(src, cloner, disposer); }
|
|
4350
4379
|
|
|
4351
4380
|
template <class Cloner, class Disposer>
|
|
4352
|
-
|
|
4381
|
+
inline void clone_from(BOOST_RV_REF(hashtable) src, Cloner cloner, Disposer disposer)
|
|
4353
4382
|
{ Base::clone_from(BOOST_MOVE_BASE(Base, src), cloner, disposer); }
|
|
4354
4383
|
};
|
|
4355
4384
|
|