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
|
@@ -43,8 +43,6 @@
|
|
|
43
43
|
// intrusive
|
|
44
44
|
#include <boost/intrusive/detail/minimal_pair_header.hpp> //pair
|
|
45
45
|
#include <boost/intrusive/detail/minimal_less_equal_header.hpp>//less, equal
|
|
46
|
-
//others
|
|
47
|
-
#include <boost/core/no_exceptions_support.hpp>
|
|
48
46
|
|
|
49
47
|
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
50
48
|
#include <initializer_list>
|
|
@@ -156,10 +154,10 @@ class flat_map
|
|
|
156
154
|
typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type;
|
|
157
155
|
typedef typename impl_tree_t::sequence_type impl_sequence_type;
|
|
158
156
|
|
|
159
|
-
|
|
157
|
+
inline impl_tree_t &tree()
|
|
160
158
|
{ return m_flat_tree; }
|
|
161
159
|
|
|
162
|
-
|
|
160
|
+
inline const impl_tree_t &tree() const
|
|
163
161
|
{ return m_flat_tree; }
|
|
164
162
|
|
|
165
163
|
private:
|
|
@@ -200,7 +198,7 @@ class flat_map
|
|
|
200
198
|
typedef BOOST_CONTAINER_IMPDEF(impl_value_type) movable_value_type;
|
|
201
199
|
|
|
202
200
|
//AllocatorOrContainer::value_type must be std::pair<Key, T>
|
|
203
|
-
|
|
201
|
+
BOOST_CONTAINER_STATIC_ASSERT((dtl::is_same<std::pair<Key, T>, value_type>::value));
|
|
204
202
|
|
|
205
203
|
//////////////////////////////////////////////
|
|
206
204
|
//
|
|
@@ -211,7 +209,7 @@ class flat_map
|
|
|
211
209
|
//! <b>Effects</b>: Default constructs an empty flat_map.
|
|
212
210
|
//!
|
|
213
211
|
//! <b>Complexity</b>: Constant.
|
|
214
|
-
|
|
212
|
+
inline flat_map() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<AllocatorOrContainer>::value &&
|
|
215
213
|
dtl::is_nothrow_default_constructible<Compare>::value)
|
|
216
214
|
: m_flat_tree()
|
|
217
215
|
{}
|
|
@@ -219,7 +217,7 @@ class flat_map
|
|
|
219
217
|
//! <b>Effects</b>: Constructs an empty flat_map using the specified allocator.
|
|
220
218
|
//!
|
|
221
219
|
//! <b>Complexity</b>: Constant.
|
|
222
|
-
|
|
220
|
+
inline explicit flat_map(const allocator_type& a)
|
|
223
221
|
: m_flat_tree(dtl::force<const impl_allocator_type>(a))
|
|
224
222
|
{}
|
|
225
223
|
|
|
@@ -227,7 +225,7 @@ class flat_map
|
|
|
227
225
|
//! comparison object.
|
|
228
226
|
//!
|
|
229
227
|
//! <b>Complexity</b>: Constant.
|
|
230
|
-
|
|
228
|
+
inline explicit flat_map(const Compare& comp)
|
|
231
229
|
: m_flat_tree(comp)
|
|
232
230
|
{}
|
|
233
231
|
|
|
@@ -235,7 +233,7 @@ class flat_map
|
|
|
235
233
|
//! comparison object and allocator.
|
|
236
234
|
//!
|
|
237
235
|
//! <b>Complexity</b>: Constant.
|
|
238
|
-
|
|
236
|
+
inline flat_map(const Compare& comp, const allocator_type& a)
|
|
239
237
|
: m_flat_tree(comp, dtl::force<const impl_allocator_type>(a))
|
|
240
238
|
{}
|
|
241
239
|
|
|
@@ -245,7 +243,7 @@ class flat_map
|
|
|
245
243
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
246
244
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
247
245
|
template <class InputIterator>
|
|
248
|
-
|
|
246
|
+
inline flat_map(InputIterator first, InputIterator last)
|
|
249
247
|
: m_flat_tree(true, first, last)
|
|
250
248
|
{}
|
|
251
249
|
|
|
@@ -255,7 +253,7 @@ class flat_map
|
|
|
255
253
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
256
254
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
257
255
|
template <class InputIterator>
|
|
258
|
-
|
|
256
|
+
inline flat_map(InputIterator first, InputIterator last, const allocator_type& a)
|
|
259
257
|
: m_flat_tree(true, first, last, dtl::force<const impl_allocator_type>(a))
|
|
260
258
|
{}
|
|
261
259
|
|
|
@@ -265,7 +263,7 @@ class flat_map
|
|
|
265
263
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
266
264
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
267
265
|
template <class InputIterator>
|
|
268
|
-
|
|
266
|
+
inline flat_map(InputIterator first, InputIterator last, const Compare& comp)
|
|
269
267
|
: m_flat_tree(true, first, last, comp)
|
|
270
268
|
{}
|
|
271
269
|
|
|
@@ -275,7 +273,7 @@ class flat_map
|
|
|
275
273
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
276
274
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
277
275
|
template <class InputIterator>
|
|
278
|
-
|
|
276
|
+
inline flat_map(InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
|
|
279
277
|
: m_flat_tree(true, first, last, comp, dtl::force<const impl_allocator_type>(a))
|
|
280
278
|
{}
|
|
281
279
|
|
|
@@ -289,7 +287,7 @@ class flat_map
|
|
|
289
287
|
//!
|
|
290
288
|
//! <b>Note</b>: Non-standard extension.
|
|
291
289
|
template <class InputIterator>
|
|
292
|
-
|
|
290
|
+
inline
|
|
293
291
|
flat_map(ordered_unique_range_t, InputIterator first, InputIterator last)
|
|
294
292
|
: m_flat_tree(ordered_range, first, last)
|
|
295
293
|
{}
|
|
@@ -304,7 +302,7 @@ class flat_map
|
|
|
304
302
|
//!
|
|
305
303
|
//! <b>Note</b>: Non-standard extension.
|
|
306
304
|
template <class InputIterator>
|
|
307
|
-
|
|
305
|
+
inline
|
|
308
306
|
flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp)
|
|
309
307
|
: m_flat_tree(ordered_range, first, last, comp)
|
|
310
308
|
{}
|
|
@@ -319,7 +317,7 @@ class flat_map
|
|
|
319
317
|
//!
|
|
320
318
|
//! <b>Note</b>: Non-standard extension.
|
|
321
319
|
template <class InputIterator>
|
|
322
|
-
|
|
320
|
+
inline
|
|
323
321
|
flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
|
|
324
322
|
: m_flat_tree(ordered_range, first, last, comp, dtl::force<const impl_allocator_type>(a))
|
|
325
323
|
{}
|
|
@@ -334,7 +332,7 @@ class flat_map
|
|
|
334
332
|
//!
|
|
335
333
|
//! <b>Note</b>: Non-standard extension.
|
|
336
334
|
template <class InputIterator>
|
|
337
|
-
|
|
335
|
+
inline
|
|
338
336
|
flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const allocator_type& a)
|
|
339
337
|
: m_flat_tree(ordered_range, first, last, Compare(), a)
|
|
340
338
|
{}
|
|
@@ -345,7 +343,7 @@ class flat_map
|
|
|
345
343
|
//!
|
|
346
344
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
347
345
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
348
|
-
|
|
346
|
+
inline flat_map(std::initializer_list<value_type> il)
|
|
349
347
|
: m_flat_tree( true
|
|
350
348
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
351
349
|
, dtl::force<impl_initializer_list>(il).end())
|
|
@@ -356,7 +354,7 @@ class flat_map
|
|
|
356
354
|
//!
|
|
357
355
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
358
356
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
359
|
-
|
|
357
|
+
inline flat_map(std::initializer_list<value_type> il, const allocator_type& a)
|
|
360
358
|
: m_flat_tree( true
|
|
361
359
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
362
360
|
, dtl::force<impl_initializer_list>(il).end()
|
|
@@ -368,7 +366,7 @@ class flat_map
|
|
|
368
366
|
//!
|
|
369
367
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
370
368
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
371
|
-
|
|
369
|
+
inline flat_map(std::initializer_list<value_type> il, const Compare& comp)
|
|
372
370
|
: m_flat_tree(true
|
|
373
371
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
374
372
|
, dtl::force<impl_initializer_list>(il).end()
|
|
@@ -380,7 +378,7 @@ class flat_map
|
|
|
380
378
|
//!
|
|
381
379
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
382
380
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
383
|
-
|
|
381
|
+
inline flat_map(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
|
|
384
382
|
: m_flat_tree(true
|
|
385
383
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
386
384
|
, dtl::force<impl_initializer_list>(il).end()
|
|
@@ -398,7 +396,7 @@ class flat_map
|
|
|
398
396
|
//! <b>Complexity</b>: Linear in N.
|
|
399
397
|
//!
|
|
400
398
|
//! <b>Note</b>: Non-standard extension.
|
|
401
|
-
|
|
399
|
+
inline flat_map(ordered_unique_range_t, std::initializer_list<value_type> il)
|
|
402
400
|
: m_flat_tree(ordered_unique_range
|
|
403
401
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
404
402
|
, dtl::force<impl_initializer_list>(il).end())
|
|
@@ -414,7 +412,7 @@ class flat_map
|
|
|
414
412
|
//! <b>Complexity</b>: Linear in N.
|
|
415
413
|
//!
|
|
416
414
|
//! <b>Note</b>: Non-standard extension.
|
|
417
|
-
|
|
415
|
+
inline flat_map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp)
|
|
418
416
|
: m_flat_tree(ordered_unique_range
|
|
419
417
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
420
418
|
, dtl::force<impl_initializer_list>(il).end()
|
|
@@ -431,7 +429,7 @@ class flat_map
|
|
|
431
429
|
//! <b>Complexity</b>: Linear in N.
|
|
432
430
|
//!
|
|
433
431
|
//! <b>Note</b>: Non-standard extension.
|
|
434
|
-
|
|
432
|
+
inline flat_map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
|
|
435
433
|
: m_flat_tree( ordered_unique_range
|
|
436
434
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
437
435
|
, dtl::force<impl_initializer_list>(il).end()
|
|
@@ -443,7 +441,7 @@ class flat_map
|
|
|
443
441
|
//! <b>Effects</b>: Copy constructs a flat_map.
|
|
444
442
|
//!
|
|
445
443
|
//! <b>Complexity</b>: Linear in x.size().
|
|
446
|
-
|
|
444
|
+
inline flat_map(const flat_map& x)
|
|
447
445
|
: m_flat_tree(x.m_flat_tree)
|
|
448
446
|
{}
|
|
449
447
|
|
|
@@ -453,7 +451,7 @@ class flat_map
|
|
|
453
451
|
//! <b>Complexity</b>: Constant.
|
|
454
452
|
//!
|
|
455
453
|
//! <b>Postcondition</b>: x is emptied.
|
|
456
|
-
|
|
454
|
+
inline flat_map(BOOST_RV_REF(flat_map) x)
|
|
457
455
|
BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
|
|
458
456
|
: m_flat_tree(boost::move(x.m_flat_tree))
|
|
459
457
|
{}
|
|
@@ -461,7 +459,7 @@ class flat_map
|
|
|
461
459
|
//! <b>Effects</b>: Copy constructs a flat_map using the specified allocator.
|
|
462
460
|
//!
|
|
463
461
|
//! <b>Complexity</b>: Linear in x.size().
|
|
464
|
-
|
|
462
|
+
inline flat_map(const flat_map& x, const allocator_type &a)
|
|
465
463
|
: m_flat_tree(x.m_flat_tree, dtl::force<const impl_allocator_type>(a))
|
|
466
464
|
{}
|
|
467
465
|
|
|
@@ -469,14 +467,14 @@ class flat_map
|
|
|
469
467
|
//! Constructs *this using x's resources.
|
|
470
468
|
//!
|
|
471
469
|
//! <b>Complexity</b>: Constant if x.get_allocator() == a, linear otherwise.
|
|
472
|
-
|
|
470
|
+
inline flat_map(BOOST_RV_REF(flat_map) x, const allocator_type &a)
|
|
473
471
|
: m_flat_tree(boost::move(x.m_flat_tree), dtl::force<const impl_allocator_type>(a))
|
|
474
472
|
{}
|
|
475
473
|
|
|
476
474
|
//! <b>Effects</b>: Makes *this a copy of x.
|
|
477
475
|
//!
|
|
478
476
|
//! <b>Complexity</b>: Linear in x.size().
|
|
479
|
-
|
|
477
|
+
inline flat_map& operator=(BOOST_COPY_ASSIGN_REF(flat_map) x)
|
|
480
478
|
{ m_flat_tree = x.m_flat_tree; return *this; }
|
|
481
479
|
|
|
482
480
|
//! <b>Effects</b>: Move constructs a flat_map.
|
|
@@ -488,7 +486,7 @@ class flat_map
|
|
|
488
486
|
//! <b>Complexity</b>: Constant if allocator_traits_type::
|
|
489
487
|
//! propagate_on_container_move_assignment is true or
|
|
490
488
|
//! this->get>allocator() == x.get_allocator(). Linear otherwise.
|
|
491
|
-
|
|
489
|
+
inline flat_map& operator=(BOOST_RV_REF(flat_map) x)
|
|
492
490
|
BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
|
|
493
491
|
allocator_traits_type::is_always_equal::value) &&
|
|
494
492
|
boost::container::dtl::is_nothrow_move_assignable<Compare>::value)
|
|
@@ -508,7 +506,7 @@ class flat_map
|
|
|
508
506
|
//! was passed to the object's constructor.
|
|
509
507
|
//!
|
|
510
508
|
//! <b>Complexity</b>: Constant.
|
|
511
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
509
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
512
510
|
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
513
511
|
{ return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
|
|
514
512
|
|
|
@@ -519,7 +517,7 @@ class flat_map
|
|
|
519
517
|
//! <b>Complexity</b>: Constant.
|
|
520
518
|
//!
|
|
521
519
|
//! <b>Note</b>: Non-standard extension.
|
|
522
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
520
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
523
521
|
get_stored_allocator_noconst_return_t get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
524
522
|
{
|
|
525
523
|
impl_get_stored_allocator_noconst_return_t r = m_flat_tree.get_stored_allocator();
|
|
@@ -533,7 +531,7 @@ class flat_map
|
|
|
533
531
|
//! <b>Complexity</b>: Constant.
|
|
534
532
|
//!
|
|
535
533
|
//! <b>Note</b>: Non-standard extension.
|
|
536
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
534
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
537
535
|
get_stored_allocator_const_return_t get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
538
536
|
{
|
|
539
537
|
impl_get_stored_allocator_const_return_t r = m_flat_tree.get_stored_allocator();
|
|
@@ -551,7 +549,7 @@ class flat_map
|
|
|
551
549
|
//! <b>Throws</b>: Nothing.
|
|
552
550
|
//!
|
|
553
551
|
//! <b>Complexity</b>: Constant.
|
|
554
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
552
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
555
553
|
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
556
554
|
{ return dtl::force_copy<iterator>(m_flat_tree.begin()); }
|
|
557
555
|
|
|
@@ -560,7 +558,7 @@ class flat_map
|
|
|
560
558
|
//! <b>Throws</b>: Nothing.
|
|
561
559
|
//!
|
|
562
560
|
//! <b>Complexity</b>: Constant.
|
|
563
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
561
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
564
562
|
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
565
563
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
|
|
566
564
|
|
|
@@ -569,7 +567,7 @@ class flat_map
|
|
|
569
567
|
//! <b>Throws</b>: Nothing.
|
|
570
568
|
//!
|
|
571
569
|
//! <b>Complexity</b>: Constant.
|
|
572
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
570
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
573
571
|
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
|
574
572
|
{ return dtl::force_copy<iterator>(m_flat_tree.end()); }
|
|
575
573
|
|
|
@@ -578,7 +576,7 @@ class flat_map
|
|
|
578
576
|
//! <b>Throws</b>: Nothing.
|
|
579
577
|
//!
|
|
580
578
|
//! <b>Complexity</b>: Constant.
|
|
581
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
579
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
582
580
|
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
583
581
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
|
|
584
582
|
|
|
@@ -588,7 +586,7 @@ class flat_map
|
|
|
588
586
|
//! <b>Throws</b>: Nothing.
|
|
589
587
|
//!
|
|
590
588
|
//! <b>Complexity</b>: Constant.
|
|
591
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
589
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
592
590
|
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
593
591
|
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
|
|
594
592
|
|
|
@@ -598,7 +596,7 @@ class flat_map
|
|
|
598
596
|
//! <b>Throws</b>: Nothing.
|
|
599
597
|
//!
|
|
600
598
|
//! <b>Complexity</b>: Constant.
|
|
601
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
599
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
602
600
|
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
603
601
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
|
|
604
602
|
|
|
@@ -608,7 +606,7 @@ class flat_map
|
|
|
608
606
|
//! <b>Throws</b>: Nothing.
|
|
609
607
|
//!
|
|
610
608
|
//! <b>Complexity</b>: Constant.
|
|
611
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
609
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
612
610
|
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
|
613
611
|
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
|
|
614
612
|
|
|
@@ -618,7 +616,7 @@ class flat_map
|
|
|
618
616
|
//! <b>Throws</b>: Nothing.
|
|
619
617
|
//!
|
|
620
618
|
//! <b>Complexity</b>: Constant.
|
|
621
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
619
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
622
620
|
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
623
621
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
|
|
624
622
|
|
|
@@ -627,7 +625,7 @@ class flat_map
|
|
|
627
625
|
//! <b>Throws</b>: Nothing.
|
|
628
626
|
//!
|
|
629
627
|
//! <b>Complexity</b>: Constant.
|
|
630
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
628
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
631
629
|
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
632
630
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
|
|
633
631
|
|
|
@@ -636,7 +634,7 @@ class flat_map
|
|
|
636
634
|
//! <b>Throws</b>: Nothing.
|
|
637
635
|
//!
|
|
638
636
|
//! <b>Complexity</b>: Constant.
|
|
639
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
637
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
640
638
|
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
641
639
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
|
|
642
640
|
|
|
@@ -646,7 +644,7 @@ class flat_map
|
|
|
646
644
|
//! <b>Throws</b>: Nothing.
|
|
647
645
|
//!
|
|
648
646
|
//! <b>Complexity</b>: Constant.
|
|
649
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
647
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
650
648
|
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
651
649
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
|
|
652
650
|
|
|
@@ -656,7 +654,7 @@ class flat_map
|
|
|
656
654
|
//! <b>Throws</b>: Nothing.
|
|
657
655
|
//!
|
|
658
656
|
//! <b>Complexity</b>: Constant.
|
|
659
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
657
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
660
658
|
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
661
659
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
|
|
662
660
|
|
|
@@ -671,7 +669,7 @@ class flat_map
|
|
|
671
669
|
//! <b>Throws</b>: Nothing.
|
|
672
670
|
//!
|
|
673
671
|
//! <b>Complexity</b>: Constant.
|
|
674
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
672
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
675
673
|
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
676
674
|
{ return m_flat_tree.empty(); }
|
|
677
675
|
|
|
@@ -680,7 +678,7 @@ class flat_map
|
|
|
680
678
|
//! <b>Throws</b>: Nothing.
|
|
681
679
|
//!
|
|
682
680
|
//! <b>Complexity</b>: Constant.
|
|
683
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
681
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
684
682
|
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
685
683
|
{ return m_flat_tree.size(); }
|
|
686
684
|
|
|
@@ -689,7 +687,7 @@ class flat_map
|
|
|
689
687
|
//! <b>Throws</b>: Nothing.
|
|
690
688
|
//!
|
|
691
689
|
//! <b>Complexity</b>: Constant.
|
|
692
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
690
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
693
691
|
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
694
692
|
{ return m_flat_tree.max_size(); }
|
|
695
693
|
|
|
@@ -699,7 +697,7 @@ class flat_map
|
|
|
699
697
|
//! <b>Throws</b>: Nothing.
|
|
700
698
|
//!
|
|
701
699
|
//! <b>Complexity</b>: Constant.
|
|
702
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
700
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
703
701
|
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
704
702
|
{ return m_flat_tree.capacity(); }
|
|
705
703
|
|
|
@@ -713,7 +711,7 @@ class flat_map
|
|
|
713
711
|
//!
|
|
714
712
|
//! <b>Note</b>: If capacity() is less than "cnt", iterators and references to
|
|
715
713
|
//! to values might be invalidated.
|
|
716
|
-
|
|
714
|
+
inline void reserve(size_type cnt)
|
|
717
715
|
{ m_flat_tree.reserve(cnt); }
|
|
718
716
|
|
|
719
717
|
//! <b>Effects</b>: Tries to deallocate the excess of memory created
|
|
@@ -722,7 +720,7 @@ class flat_map
|
|
|
722
720
|
//! <b>Throws</b>: If memory allocation throws, or T's copy constructor throws.
|
|
723
721
|
//!
|
|
724
722
|
//! <b>Complexity</b>: Linear to size().
|
|
725
|
-
|
|
723
|
+
inline void shrink_to_fit()
|
|
726
724
|
{ m_flat_tree.shrink_to_fit(); }
|
|
727
725
|
|
|
728
726
|
//////////////////////////////////////////////
|
|
@@ -749,8 +747,8 @@ class flat_map
|
|
|
749
747
|
mapped_type &operator[](key_type &&k);
|
|
750
748
|
#elif defined(BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN)
|
|
751
749
|
//in compilers like GCC 3.4, we can't catch temporaries
|
|
752
|
-
|
|
753
|
-
|
|
750
|
+
inline mapped_type& operator[](const key_type &k) { return this->priv_subscript(k); }
|
|
751
|
+
inline mapped_type& operator[](BOOST_RV_REF(key_type) k) { return this->priv_subscript(::boost::move(k)); }
|
|
754
752
|
#else
|
|
755
753
|
BOOST_MOVE_CONVERSION_AWARE_CATCH( operator[] , key_type, mapped_type&, this->priv_subscript)
|
|
756
754
|
#endif
|
|
@@ -768,7 +766,7 @@ class flat_map
|
|
|
768
766
|
//!
|
|
769
767
|
//! Complexity: Logarithmic search time plus linear insertion time in case no equivalent key is present.
|
|
770
768
|
template <class M>
|
|
771
|
-
|
|
769
|
+
inline std::pair<iterator, bool> insert_or_assign(const key_type& k, BOOST_FWD_REF(M) obj)
|
|
772
770
|
{
|
|
773
771
|
return dtl::force_copy< std::pair<iterator, bool> >
|
|
774
772
|
(this->m_flat_tree.insert_or_assign
|
|
@@ -789,7 +787,7 @@ class flat_map
|
|
|
789
787
|
//!
|
|
790
788
|
//! Complexity: Logarithmic in the size of the container.
|
|
791
789
|
template <class M>
|
|
792
|
-
|
|
790
|
+
inline std::pair<iterator, bool> insert_or_assign(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
|
|
793
791
|
{
|
|
794
792
|
return dtl::force_copy< std::pair<iterator, bool> >
|
|
795
793
|
(this->m_flat_tree.insert_or_assign
|
|
@@ -812,7 +810,7 @@ class flat_map
|
|
|
812
810
|
//! Complexity: Logarithmic in the size of the container in general, but amortized constant if
|
|
813
811
|
//! the new element is inserted just before hint.
|
|
814
812
|
template <class M>
|
|
815
|
-
|
|
813
|
+
inline iterator insert_or_assign(const_iterator hint, const key_type& k, BOOST_FWD_REF(M) obj)
|
|
816
814
|
{
|
|
817
815
|
return dtl::force_copy<iterator>
|
|
818
816
|
(this->m_flat_tree.insert_or_assign
|
|
@@ -836,7 +834,7 @@ class flat_map
|
|
|
836
834
|
//! Complexity: Logarithmic in the size of the container in general, but amortized constant if
|
|
837
835
|
//! the new element is inserted just before hint.
|
|
838
836
|
template <class M>
|
|
839
|
-
|
|
837
|
+
inline iterator insert_or_assign(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
|
|
840
838
|
{
|
|
841
839
|
return dtl::force_copy<iterator>
|
|
842
840
|
(this->m_flat_tree.insert_or_assign
|
|
@@ -846,22 +844,22 @@ class flat_map
|
|
|
846
844
|
}
|
|
847
845
|
|
|
848
846
|
//! @copydoc ::boost::container::flat_set::nth(size_type)
|
|
849
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
847
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
850
848
|
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
851
849
|
{ return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
|
|
852
850
|
|
|
853
851
|
//! @copydoc ::boost::container::flat_set::nth(size_type) const
|
|
854
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
852
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
855
853
|
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
856
854
|
{ return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
|
|
857
855
|
|
|
858
856
|
//! @copydoc ::boost::container::flat_set::index_of(iterator)
|
|
859
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
857
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
860
858
|
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
|
861
859
|
{ return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
|
|
862
860
|
|
|
863
861
|
//! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
|
|
864
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
862
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
865
863
|
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
866
864
|
{ return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
|
|
867
865
|
|
|
@@ -914,7 +912,7 @@ class flat_map
|
|
|
914
912
|
//!
|
|
915
913
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
916
914
|
template <class... Args>
|
|
917
|
-
|
|
915
|
+
inline std::pair<iterator,bool> emplace(BOOST_FWD_REF(Args)... args)
|
|
918
916
|
{ return dtl::force_copy< std::pair<iterator, bool> >(m_flat_tree.emplace_unique(boost::forward<Args>(args)...)); }
|
|
919
917
|
|
|
920
918
|
//! <b>Effects</b>: Inserts an object of type T constructed with
|
|
@@ -930,7 +928,7 @@ class flat_map
|
|
|
930
928
|
//!
|
|
931
929
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
932
930
|
template <class... Args>
|
|
933
|
-
|
|
931
|
+
inline iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
|
|
934
932
|
{
|
|
935
933
|
return dtl::force_copy<iterator>
|
|
936
934
|
(m_flat_tree.emplace_hint_unique( dtl::force_copy<impl_const_iterator>(hint)
|
|
@@ -949,7 +947,7 @@ class flat_map
|
|
|
949
947
|
//!
|
|
950
948
|
//! <b>Complexity</b>: Logarithmic.
|
|
951
949
|
template <class... Args>
|
|
952
|
-
|
|
950
|
+
inline std::pair<iterator, bool> try_emplace(const key_type& k, BOOST_FWD_REF(Args)... args)
|
|
953
951
|
{
|
|
954
952
|
return dtl::force_copy< std::pair<iterator, bool> >(
|
|
955
953
|
m_flat_tree.try_emplace(impl_const_iterator(), k, boost::forward<Args>(args)...));
|
|
@@ -967,7 +965,7 @@ class flat_map
|
|
|
967
965
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if value
|
|
968
966
|
//! is inserted right before p.
|
|
969
967
|
template <class... Args>
|
|
970
|
-
|
|
968
|
+
inline iterator try_emplace(const_iterator hint, const key_type &k, BOOST_FWD_REF(Args)... args)
|
|
971
969
|
{
|
|
972
970
|
return dtl::force_copy<iterator>(m_flat_tree.try_emplace
|
|
973
971
|
(dtl::force_copy<impl_const_iterator>(hint), k, boost::forward<Args>(args)...).first);
|
|
@@ -985,7 +983,7 @@ class flat_map
|
|
|
985
983
|
//!
|
|
986
984
|
//! <b>Complexity</b>: Logarithmic search time plus linear insertion time in case the key is not present.
|
|
987
985
|
template <class... Args>
|
|
988
|
-
|
|
986
|
+
inline std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
|
|
989
987
|
{
|
|
990
988
|
return dtl::force_copy< std::pair<iterator, bool> >
|
|
991
989
|
(m_flat_tree.try_emplace(impl_const_iterator(), boost::move(k), boost::forward<Args>(args)...));
|
|
@@ -1003,7 +1001,7 @@ class flat_map
|
|
|
1003
1001
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if value
|
|
1004
1002
|
//! is inserted right before p. Linear insertion time in case no equivalent key is present.
|
|
1005
1003
|
template <class... Args>
|
|
1006
|
-
|
|
1004
|
+
inline iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
|
|
1007
1005
|
{
|
|
1008
1006
|
return dtl::force_copy<iterator>
|
|
1009
1007
|
(m_flat_tree.try_emplace(dtl::force_copy
|
|
@@ -1014,39 +1012,39 @@ class flat_map
|
|
|
1014
1012
|
|
|
1015
1013
|
#define BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE(N) \
|
|
1016
1014
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1017
|
-
|
|
1015
|
+
inline std::pair<iterator,bool> emplace(BOOST_MOVE_UREF##N)\
|
|
1018
1016
|
{\
|
|
1019
1017
|
return dtl::force_copy< std::pair<iterator, bool> >\
|
|
1020
1018
|
(m_flat_tree.emplace_unique(BOOST_MOVE_FWD##N));\
|
|
1021
1019
|
}\
|
|
1022
1020
|
\
|
|
1023
1021
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1024
|
-
|
|
1022
|
+
inline iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1025
1023
|
{\
|
|
1026
1024
|
return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_unique\
|
|
1027
1025
|
(dtl::force_copy<impl_const_iterator>(hint) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
|
|
1028
1026
|
}\
|
|
1029
1027
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1030
|
-
|
|
1028
|
+
inline std::pair<iterator, bool> try_emplace(const key_type& k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1031
1029
|
{\
|
|
1032
1030
|
return dtl::force_copy< std::pair<iterator, bool> >\
|
|
1033
1031
|
(m_flat_tree.try_emplace(impl_const_iterator(), k BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
|
|
1034
1032
|
}\
|
|
1035
1033
|
\
|
|
1036
1034
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1037
|
-
|
|
1035
|
+
inline iterator try_emplace(const_iterator hint, const key_type &k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1038
1036
|
{ return dtl::force_copy<iterator>(m_flat_tree.try_emplace\
|
|
1039
1037
|
(dtl::force_copy<impl_const_iterator>(hint), k BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first); }\
|
|
1040
1038
|
\
|
|
1041
1039
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1042
|
-
|
|
1040
|
+
inline std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1043
1041
|
{\
|
|
1044
1042
|
return dtl::force_copy< std::pair<iterator, bool> >\
|
|
1045
1043
|
(m_flat_tree.try_emplace(impl_const_iterator(), boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
|
|
1046
1044
|
}\
|
|
1047
1045
|
\
|
|
1048
1046
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1049
|
-
|
|
1047
|
+
inline iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1050
1048
|
{ return dtl::force_copy<iterator>(m_flat_tree.try_emplace\
|
|
1051
1049
|
(dtl::force_copy<impl_const_iterator>(hint), boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first); }\
|
|
1052
1050
|
//
|
|
@@ -1066,7 +1064,7 @@ class flat_map
|
|
|
1066
1064
|
//! to the elements with bigger keys than x.
|
|
1067
1065
|
//!
|
|
1068
1066
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1069
|
-
|
|
1067
|
+
inline std::pair<iterator,bool> insert(const value_type& x)
|
|
1070
1068
|
{ return dtl::force_copy<std::pair<iterator,bool> >(
|
|
1071
1069
|
m_flat_tree.insert_unique(dtl::force<const impl_value_type>(x))); }
|
|
1072
1070
|
|
|
@@ -1081,7 +1079,7 @@ class flat_map
|
|
|
1081
1079
|
//! to the elements with bigger keys than x.
|
|
1082
1080
|
//!
|
|
1083
1081
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1084
|
-
|
|
1082
|
+
inline std::pair<iterator,bool> insert(BOOST_RV_REF(value_type) x)
|
|
1085
1083
|
{
|
|
1086
1084
|
return dtl::force_copy<std::pair<iterator,bool> >(
|
|
1087
1085
|
m_flat_tree.insert_unique(boost::move(dtl::force<impl_value_type>(x))));
|
|
@@ -1099,7 +1097,7 @@ class flat_map
|
|
|
1099
1097
|
//!
|
|
1100
1098
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1101
1099
|
template <class Pair>
|
|
1102
|
-
|
|
1100
|
+
inline BOOST_CONTAINER_DOC1ST
|
|
1103
1101
|
( std::pair<iterator BOOST_MOVE_I bool>
|
|
1104
1102
|
, typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
|
|
1105
1103
|
BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool> >::type)
|
|
@@ -1120,7 +1118,7 @@ class flat_map
|
|
|
1120
1118
|
//! right before p) plus insertion linear to the elements with bigger keys than x.
|
|
1121
1119
|
//!
|
|
1122
1120
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1123
|
-
|
|
1121
|
+
inline iterator insert(const_iterator p, const value_type& x)
|
|
1124
1122
|
{
|
|
1125
1123
|
return dtl::force_copy<iterator>(
|
|
1126
1124
|
m_flat_tree.insert_unique( dtl::force_copy<impl_const_iterator>(p)
|
|
@@ -1136,7 +1134,7 @@ class flat_map
|
|
|
1136
1134
|
//! right before p) plus insertion linear to the elements with bigger keys than x.
|
|
1137
1135
|
//!
|
|
1138
1136
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1139
|
-
|
|
1137
|
+
inline iterator insert(const_iterator p, BOOST_RV_REF(value_type) x)
|
|
1140
1138
|
{
|
|
1141
1139
|
return dtl::force_copy<iterator>
|
|
1142
1140
|
(m_flat_tree.insert_unique( dtl::force_copy<impl_const_iterator>(p)
|
|
@@ -1153,7 +1151,7 @@ class flat_map
|
|
|
1153
1151
|
//!
|
|
1154
1152
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1155
1153
|
template <class Pair>
|
|
1156
|
-
|
|
1154
|
+
inline BOOST_CONTAINER_DOC1ST
|
|
1157
1155
|
( iterator
|
|
1158
1156
|
, typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
|
|
1159
1157
|
BOOST_MOVE_I iterator>::type)
|
|
@@ -1172,7 +1170,7 @@ class flat_map
|
|
|
1172
1170
|
//!
|
|
1173
1171
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1174
1172
|
template <class InputIterator>
|
|
1175
|
-
|
|
1173
|
+
inline void insert(InputIterator first, InputIterator last)
|
|
1176
1174
|
{ m_flat_tree.insert_unique(first, last); }
|
|
1177
1175
|
|
|
1178
1176
|
//! <b>Requires</b>: first, last are not iterators into *this.
|
|
@@ -1190,7 +1188,7 @@ class flat_map
|
|
|
1190
1188
|
//!
|
|
1191
1189
|
//! <b>Note</b>: Non-standard extension.
|
|
1192
1190
|
template <class InputIterator>
|
|
1193
|
-
|
|
1191
|
+
inline void insert(ordered_unique_range_t, InputIterator first, InputIterator last)
|
|
1194
1192
|
{ m_flat_tree.insert_unique(ordered_unique_range, first, last); }
|
|
1195
1193
|
|
|
1196
1194
|
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
@@ -1200,7 +1198,7 @@ class flat_map
|
|
|
1200
1198
|
//! <b>Complexity</b>: N log(N).
|
|
1201
1199
|
//!
|
|
1202
1200
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1203
|
-
|
|
1201
|
+
inline void insert(std::initializer_list<value_type> il)
|
|
1204
1202
|
{
|
|
1205
1203
|
m_flat_tree.insert_unique( dtl::force<impl_initializer_list>(il).begin()
|
|
1206
1204
|
, dtl::force<impl_initializer_list>(il).end());
|
|
@@ -1218,7 +1216,7 @@ class flat_map
|
|
|
1218
1216
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1219
1217
|
//!
|
|
1220
1218
|
//! <b>Note</b>: Non-standard extension.
|
|
1221
|
-
|
|
1219
|
+
inline void insert(ordered_unique_range_t, std::initializer_list<value_type> il)
|
|
1222
1220
|
{
|
|
1223
1221
|
m_flat_tree.insert_unique(ordered_unique_range
|
|
1224
1222
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -1236,22 +1234,22 @@ class flat_map
|
|
|
1236
1234
|
//!
|
|
1237
1235
|
//! <b>Note</b>: Invalidates all iterators and references.
|
|
1238
1236
|
template<class C2>
|
|
1239
|
-
|
|
1237
|
+
inline void merge(flat_map<Key, T, C2, AllocatorOrContainer>& source)
|
|
1240
1238
|
{ m_flat_tree.merge_unique(source.tree()); }
|
|
1241
1239
|
|
|
1242
1240
|
//! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
|
|
1243
1241
|
template<class C2>
|
|
1244
|
-
|
|
1242
|
+
inline void merge(BOOST_RV_REF_BEG flat_map<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
|
|
1245
1243
|
{ return this->merge(static_cast<flat_map<Key, T, C2, AllocatorOrContainer>&>(source)); }
|
|
1246
1244
|
|
|
1247
1245
|
//! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
|
|
1248
1246
|
template<class C2>
|
|
1249
|
-
|
|
1247
|
+
inline void merge(flat_multimap<Key, T, C2, AllocatorOrContainer>& source)
|
|
1250
1248
|
{ m_flat_tree.merge_unique(source.tree()); }
|
|
1251
1249
|
|
|
1252
1250
|
//! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
|
|
1253
1251
|
template<class C2>
|
|
1254
|
-
|
|
1252
|
+
inline void merge(BOOST_RV_REF_BEG flat_multimap<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
|
|
1255
1253
|
{ return this->merge(static_cast<flat_multimap<Key, T, C2, AllocatorOrContainer>&>(source)); }
|
|
1256
1254
|
|
|
1257
1255
|
//! <b>Effects</b>: Erases the element pointed to by p.
|
|
@@ -1264,7 +1262,7 @@ class flat_map
|
|
|
1264
1262
|
//!
|
|
1265
1263
|
//! <b>Note</b>: Invalidates elements with keys
|
|
1266
1264
|
//! not less than the erased element.
|
|
1267
|
-
|
|
1265
|
+
inline iterator erase(const_iterator p)
|
|
1268
1266
|
{
|
|
1269
1267
|
return dtl::force_copy<iterator>
|
|
1270
1268
|
(m_flat_tree.erase(dtl::force_copy<impl_const_iterator>(p)));
|
|
@@ -1276,7 +1274,7 @@ class flat_map
|
|
|
1276
1274
|
//!
|
|
1277
1275
|
//! <b>Complexity</b>: Logarithmic search time plus erasure time
|
|
1278
1276
|
//! linear to the elements with bigger keys.
|
|
1279
|
-
|
|
1277
|
+
inline size_type erase(const key_type& x)
|
|
1280
1278
|
{ return m_flat_tree.erase_unique(x); }
|
|
1281
1279
|
|
|
1282
1280
|
//! <b>Effects</b>: Erases all the elements in the range [first, last).
|
|
@@ -1287,7 +1285,7 @@ class flat_map
|
|
|
1287
1285
|
//!
|
|
1288
1286
|
//! <b>Complexity</b>: Logarithmic search time plus erasure time
|
|
1289
1287
|
//! linear to the elements with bigger keys.
|
|
1290
|
-
|
|
1288
|
+
inline iterator erase(const_iterator first, const_iterator last)
|
|
1291
1289
|
{
|
|
1292
1290
|
return dtl::force_copy<iterator>(
|
|
1293
1291
|
m_flat_tree.erase( dtl::force_copy<impl_const_iterator>(first)
|
|
@@ -1299,7 +1297,7 @@ class flat_map
|
|
|
1299
1297
|
//! <b>Throws</b>: Nothing.
|
|
1300
1298
|
//!
|
|
1301
1299
|
//! <b>Complexity</b>: Constant.
|
|
1302
|
-
|
|
1300
|
+
inline void swap(flat_map& x)
|
|
1303
1301
|
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
|
1304
1302
|
&& boost::container::dtl::is_nothrow_swappable<Compare>::value )
|
|
1305
1303
|
{ m_flat_tree.swap(x.m_flat_tree); }
|
|
@@ -1309,7 +1307,7 @@ class flat_map
|
|
|
1309
1307
|
//! <b>Postcondition</b>: size() == 0.
|
|
1310
1308
|
//!
|
|
1311
1309
|
//! <b>Complexity</b>: linear in size().
|
|
1312
|
-
|
|
1310
|
+
inline void clear() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1313
1311
|
{ m_flat_tree.clear(); }
|
|
1314
1312
|
|
|
1315
1313
|
//////////////////////////////////////////////
|
|
@@ -1322,7 +1320,7 @@ class flat_map
|
|
|
1322
1320
|
//! of which a was constructed.
|
|
1323
1321
|
//!
|
|
1324
1322
|
//! <b>Complexity</b>: Constant.
|
|
1325
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1323
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1326
1324
|
key_compare key_comp() const
|
|
1327
1325
|
{ return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
|
|
1328
1326
|
|
|
@@ -1330,7 +1328,7 @@ class flat_map
|
|
|
1330
1328
|
//! of the comparison object.
|
|
1331
1329
|
//!
|
|
1332
1330
|
//! <b>Complexity</b>: Constant.
|
|
1333
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1331
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1334
1332
|
value_compare value_comp() const
|
|
1335
1333
|
{ return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
|
|
1336
1334
|
|
|
@@ -1344,7 +1342,7 @@ class flat_map
|
|
|
1344
1342
|
//! equivalent to x, or end() if such an element is not found.
|
|
1345
1343
|
//!
|
|
1346
1344
|
//! <b>Complexity</b>: Logarithmic.
|
|
1347
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1345
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1348
1346
|
iterator find(const key_type& x)
|
|
1349
1347
|
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
|
1350
1348
|
|
|
@@ -1352,7 +1350,7 @@ class flat_map
|
|
|
1352
1350
|
//! equivalent to x, or end() if such an element is not found.
|
|
1353
1351
|
//!
|
|
1354
1352
|
//! <b>Complexity</b>: Logarithmic.
|
|
1355
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1353
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1356
1354
|
const_iterator find(const key_type& x) const
|
|
1357
1355
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
|
1358
1356
|
|
|
@@ -1364,7 +1362,7 @@ class flat_map
|
|
|
1364
1362
|
//!
|
|
1365
1363
|
//! <b>Complexity</b>: Logarithmic.
|
|
1366
1364
|
template<class K>
|
|
1367
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1365
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1368
1366
|
iterator find(const K& x)
|
|
1369
1367
|
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
|
1370
1368
|
|
|
@@ -1376,14 +1374,14 @@ class flat_map
|
|
|
1376
1374
|
//!
|
|
1377
1375
|
//! <b>Complexity</b>: Logarithmic.
|
|
1378
1376
|
template<class K>
|
|
1379
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1377
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1380
1378
|
const_iterator find(const K& x) const
|
|
1381
1379
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
|
1382
1380
|
|
|
1383
1381
|
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
|
1384
1382
|
//!
|
|
1385
1383
|
//! <b>Complexity</b>: log(size())+count(k)
|
|
1386
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1384
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1387
1385
|
size_type count(const key_type& x) const
|
|
1388
1386
|
{ return static_cast<size_type>(m_flat_tree.find(x) != m_flat_tree.end()); }
|
|
1389
1387
|
|
|
@@ -1394,7 +1392,7 @@ class flat_map
|
|
|
1394
1392
|
//!
|
|
1395
1393
|
//! <b>Complexity</b>: log(size())+count(k)
|
|
1396
1394
|
template<class K>
|
|
1397
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1395
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1398
1396
|
size_type count(const K& x) const
|
|
1399
1397
|
//Don't use find() != end optimization here as transparent comparators with key K might
|
|
1400
1398
|
//return a different range than key_type (which can only return a single element range)
|
|
@@ -1404,7 +1402,7 @@ class flat_map
|
|
|
1404
1402
|
//! equivalent to key in the container, otherwise false.
|
|
1405
1403
|
//!
|
|
1406
1404
|
//! <b>Complexity</b>: log(size()).
|
|
1407
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1405
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1408
1406
|
bool contains(const key_type& x) const
|
|
1409
1407
|
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
|
1410
1408
|
|
|
@@ -1416,7 +1414,7 @@ class flat_map
|
|
|
1416
1414
|
//!
|
|
1417
1415
|
//! <b>Complexity</b>: log(size()).
|
|
1418
1416
|
template<typename K>
|
|
1419
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1417
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1420
1418
|
bool contains(const K& x) const
|
|
1421
1419
|
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
|
1422
1420
|
|
|
@@ -1424,7 +1422,7 @@ class flat_map
|
|
|
1424
1422
|
//! than x, or end() if such an element is not found.
|
|
1425
1423
|
//!
|
|
1426
1424
|
//! <b>Complexity</b>: Logarithmic.
|
|
1427
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1425
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1428
1426
|
iterator lower_bound(const key_type& x)
|
|
1429
1427
|
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
|
1430
1428
|
|
|
@@ -1432,7 +1430,7 @@ class flat_map
|
|
|
1432
1430
|
//! less than x, or end() if such an element is not found.
|
|
1433
1431
|
//!
|
|
1434
1432
|
//! <b>Complexity</b>: Logarithmic.
|
|
1435
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1433
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1436
1434
|
const_iterator lower_bound(const key_type& x) const
|
|
1437
1435
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
|
1438
1436
|
|
|
@@ -1444,7 +1442,7 @@ class flat_map
|
|
|
1444
1442
|
//!
|
|
1445
1443
|
//! <b>Complexity</b>: Logarithmic.
|
|
1446
1444
|
template<class K>
|
|
1447
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1445
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1448
1446
|
iterator lower_bound(const K& x)
|
|
1449
1447
|
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
|
1450
1448
|
|
|
@@ -1456,7 +1454,7 @@ class flat_map
|
|
|
1456
1454
|
//!
|
|
1457
1455
|
//! <b>Complexity</b>: Logarithmic.
|
|
1458
1456
|
template<class K>
|
|
1459
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1457
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1460
1458
|
const_iterator lower_bound(const K& x) const
|
|
1461
1459
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
|
1462
1460
|
|
|
@@ -1464,7 +1462,7 @@ class flat_map
|
|
|
1464
1462
|
//! than x, or end() if such an element is not found.
|
|
1465
1463
|
//!
|
|
1466
1464
|
//! <b>Complexity</b>: Logarithmic.
|
|
1467
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1465
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1468
1466
|
iterator upper_bound(const key_type& x)
|
|
1469
1467
|
{ return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
|
1470
1468
|
|
|
@@ -1472,7 +1470,7 @@ class flat_map
|
|
|
1472
1470
|
//! greater than x, or end() if such an element is not found.
|
|
1473
1471
|
//!
|
|
1474
1472
|
//! <b>Complexity</b>: Logarithmic.
|
|
1475
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1473
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1476
1474
|
const_iterator upper_bound(const key_type& x) const
|
|
1477
1475
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
|
1478
1476
|
|
|
@@ -1484,7 +1482,7 @@ class flat_map
|
|
|
1484
1482
|
//!
|
|
1485
1483
|
//! <b>Complexity</b>: Logarithmic.
|
|
1486
1484
|
template<class K>
|
|
1487
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1485
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1488
1486
|
iterator upper_bound(const K& x)
|
|
1489
1487
|
{ return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
|
1490
1488
|
|
|
@@ -1496,21 +1494,21 @@ class flat_map
|
|
|
1496
1494
|
//!
|
|
1497
1495
|
//! <b>Complexity</b>: Logarithmic.
|
|
1498
1496
|
template<class K>
|
|
1499
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1497
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1500
1498
|
const_iterator upper_bound(const K& x) const
|
|
1501
1499
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
|
1502
1500
|
|
|
1503
1501
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
|
1504
1502
|
//!
|
|
1505
1503
|
//! <b>Complexity</b>: Logarithmic.
|
|
1506
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1504
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1507
1505
|
std::pair<iterator,iterator> equal_range(const key_type& x)
|
|
1508
1506
|
{ return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.lower_bound_range(x)); }
|
|
1509
1507
|
|
|
1510
1508
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
|
1511
1509
|
//!
|
|
1512
1510
|
//! <b>Complexity</b>: Logarithmic.
|
|
1513
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1511
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1514
1512
|
std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
|
|
1515
1513
|
{ return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.lower_bound_range(x)); }
|
|
1516
1514
|
|
|
@@ -1521,7 +1519,7 @@ class flat_map
|
|
|
1521
1519
|
//!
|
|
1522
1520
|
//! <b>Complexity</b>: Logarithmic.
|
|
1523
1521
|
template<class K>
|
|
1524
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1522
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1525
1523
|
std::pair<iterator,iterator> equal_range(const K& x)
|
|
1526
1524
|
//Don't use lower_bound_range optimization here as transparent comparators with key K might
|
|
1527
1525
|
//return a different range than key_type (which can only return a single element range)
|
|
@@ -1534,7 +1532,7 @@ class flat_map
|
|
|
1534
1532
|
//!
|
|
1535
1533
|
//! <b>Complexity</b>: Logarithmic.
|
|
1536
1534
|
template<class K>
|
|
1537
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1535
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1538
1536
|
std::pair<const_iterator, const_iterator> equal_range(const K& x) const
|
|
1539
1537
|
//Don't use lower_bound_range optimization here as transparent comparators with key K might
|
|
1540
1538
|
//return a different range than key_type (which can only return a single element range)
|
|
@@ -1547,7 +1545,7 @@ class flat_map
|
|
|
1547
1545
|
//! <b>Postcondition</b>: this->empty()
|
|
1548
1546
|
//!
|
|
1549
1547
|
//! <b>Throws</b>: If secuence_type's move constructor throws
|
|
1550
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1548
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline sequence_type extract_sequence()
|
|
1551
1549
|
{
|
|
1552
1550
|
return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref()));
|
|
1553
1551
|
}
|
|
@@ -1558,7 +1556,7 @@ class flat_map
|
|
|
1558
1556
|
//! <b>Complexity</b>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()
|
|
1559
1557
|
//!
|
|
1560
1558
|
//! <b>Throws</b>: If the comparison or the move constructor throws
|
|
1561
|
-
|
|
1559
|
+
inline void adopt_sequence(BOOST_RV_REF(sequence_type) seq)
|
|
1562
1560
|
{ this->m_flat_tree.adopt_sequence_unique(boost::move(dtl::force<impl_sequence_type>(seq))); }
|
|
1563
1561
|
|
|
1564
1562
|
//! <b>Requires</b>: seq shall be ordered according to this->compare()
|
|
@@ -1570,7 +1568,7 @@ class flat_map
|
|
|
1570
1568
|
//! <b>Complexity</b>: Assuming O(1) move assignment, O(1)
|
|
1571
1569
|
//!
|
|
1572
1570
|
//! <b>Throws</b>: If the move assignment throws
|
|
1573
|
-
|
|
1571
|
+
inline void adopt_sequence(ordered_unique_range_t, BOOST_RV_REF(sequence_type) seq)
|
|
1574
1572
|
{ this->m_flat_tree.adopt_sequence_unique(ordered_unique_range_t(), boost::move(dtl::force<impl_sequence_type>(seq))); }
|
|
1575
1573
|
|
|
1576
1574
|
//! <b>Effects</b>: Returns a const view of the underlying sequence.
|
|
@@ -1578,55 +1576,55 @@ class flat_map
|
|
|
1578
1576
|
//! <b>Complexity</b>: Constant
|
|
1579
1577
|
//!
|
|
1580
1578
|
//! <b>Throws</b>: Nothing
|
|
1581
|
-
|
|
1579
|
+
inline const sequence_type & sequence() const BOOST_NOEXCEPT
|
|
1582
1580
|
{ return dtl::force<sequence_type>(m_flat_tree.get_sequence_cref()); }
|
|
1583
1581
|
|
|
1584
1582
|
//! <b>Effects</b>: Returns true if x and y are equal
|
|
1585
1583
|
//!
|
|
1586
1584
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1587
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1585
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1588
1586
|
friend bool operator==(const flat_map& x, const flat_map& y)
|
|
1589
1587
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
|
1590
1588
|
|
|
1591
1589
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
|
1592
1590
|
//!
|
|
1593
1591
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1594
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1592
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1595
1593
|
friend bool operator!=(const flat_map& x, const flat_map& y)
|
|
1596
1594
|
{ return !(x == y); }
|
|
1597
1595
|
|
|
1598
1596
|
//! <b>Effects</b>: Returns true if x is less than y
|
|
1599
1597
|
//!
|
|
1600
1598
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1601
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1599
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1602
1600
|
friend bool operator<(const flat_map& x, const flat_map& y)
|
|
1603
1601
|
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
|
1604
1602
|
|
|
1605
1603
|
//! <b>Effects</b>: Returns true if x is greater than y
|
|
1606
1604
|
//!
|
|
1607
1605
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1608
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1606
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1609
1607
|
friend bool operator>(const flat_map& x, const flat_map& y)
|
|
1610
1608
|
{ return y < x; }
|
|
1611
1609
|
|
|
1612
1610
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
|
1613
1611
|
//!
|
|
1614
1612
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1615
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1613
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1616
1614
|
friend bool operator<=(const flat_map& x, const flat_map& y)
|
|
1617
1615
|
{ return !(y < x); }
|
|
1618
1616
|
|
|
1619
1617
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
|
1620
1618
|
//!
|
|
1621
1619
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1622
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1620
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1623
1621
|
friend bool operator>=(const flat_map& x, const flat_map& y)
|
|
1624
1622
|
{ return !(x < y); }
|
|
1625
1623
|
|
|
1626
1624
|
//! <b>Effects</b>: x.swap(y)
|
|
1627
1625
|
//!
|
|
1628
1626
|
//! <b>Complexity</b>: Constant.
|
|
1629
|
-
|
|
1627
|
+
inline friend void swap(flat_map& x, flat_map& y)
|
|
1630
1628
|
BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
|
|
1631
1629
|
{ x.swap(y); }
|
|
1632
1630
|
|
|
@@ -1814,10 +1812,10 @@ class flat_multimap
|
|
|
1814
1812
|
typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type;
|
|
1815
1813
|
typedef typename impl_tree_t::sequence_type impl_sequence_type;
|
|
1816
1814
|
|
|
1817
|
-
|
|
1815
|
+
inline impl_tree_t &tree()
|
|
1818
1816
|
{ return m_flat_tree; }
|
|
1819
1817
|
|
|
1820
|
-
|
|
1818
|
+
inline const impl_tree_t &tree() const
|
|
1821
1819
|
{ return m_flat_tree; }
|
|
1822
1820
|
|
|
1823
1821
|
private:
|
|
@@ -1853,7 +1851,7 @@ class flat_multimap
|
|
|
1853
1851
|
typedef BOOST_CONTAINER_IMPDEF(impl_value_type) movable_value_type;
|
|
1854
1852
|
|
|
1855
1853
|
//AllocatorOrContainer::value_type must be std::pair<Key, T>
|
|
1856
|
-
|
|
1854
|
+
BOOST_CONTAINER_STATIC_ASSERT((dtl::is_same<std::pair<Key, T>, value_type>::value));
|
|
1857
1855
|
|
|
1858
1856
|
//////////////////////////////////////////////
|
|
1859
1857
|
//
|
|
@@ -1864,7 +1862,7 @@ class flat_multimap
|
|
|
1864
1862
|
//! <b>Effects</b>: Default constructs an empty flat_map.
|
|
1865
1863
|
//!
|
|
1866
1864
|
//! <b>Complexity</b>: Constant.
|
|
1867
|
-
|
|
1865
|
+
inline flat_multimap()
|
|
1868
1866
|
BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<AllocatorOrContainer>::value &&
|
|
1869
1867
|
dtl::is_nothrow_default_constructible<Compare>::value)
|
|
1870
1868
|
: m_flat_tree()
|
|
@@ -1873,7 +1871,7 @@ class flat_multimap
|
|
|
1873
1871
|
//! <b>Effects</b>: Constructs an empty flat_multimap using the specified allocator.
|
|
1874
1872
|
//!
|
|
1875
1873
|
//! <b>Complexity</b>: Constant.
|
|
1876
|
-
|
|
1874
|
+
inline explicit flat_multimap(const allocator_type& a)
|
|
1877
1875
|
: m_flat_tree(dtl::force<const impl_allocator_type>(a))
|
|
1878
1876
|
{}
|
|
1879
1877
|
|
|
@@ -1881,7 +1879,7 @@ class flat_multimap
|
|
|
1881
1879
|
//! object .
|
|
1882
1880
|
//!
|
|
1883
1881
|
//! <b>Complexity</b>: Constant.
|
|
1884
|
-
|
|
1882
|
+
inline explicit flat_multimap(const Compare& comp)
|
|
1885
1883
|
: m_flat_tree(comp)
|
|
1886
1884
|
{}
|
|
1887
1885
|
|
|
@@ -1889,7 +1887,7 @@ class flat_multimap
|
|
|
1889
1887
|
//! object and allocator.
|
|
1890
1888
|
//!
|
|
1891
1889
|
//! <b>Complexity</b>: Constant.
|
|
1892
|
-
|
|
1890
|
+
inline
|
|
1893
1891
|
flat_multimap(const Compare& comp, const allocator_type& a)
|
|
1894
1892
|
: m_flat_tree(comp, dtl::force<const impl_allocator_type>(a))
|
|
1895
1893
|
{}
|
|
@@ -1900,7 +1898,7 @@ class flat_multimap
|
|
|
1900
1898
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1901
1899
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
1902
1900
|
template <class InputIterator>
|
|
1903
|
-
|
|
1901
|
+
inline
|
|
1904
1902
|
flat_multimap(InputIterator first, InputIterator last)
|
|
1905
1903
|
: m_flat_tree(false, first, last)
|
|
1906
1904
|
{}
|
|
@@ -1911,7 +1909,7 @@ class flat_multimap
|
|
|
1911
1909
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1912
1910
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
1913
1911
|
template <class InputIterator>
|
|
1914
|
-
|
|
1912
|
+
inline
|
|
1915
1913
|
flat_multimap(InputIterator first, InputIterator last, const allocator_type& a)
|
|
1916
1914
|
: m_flat_tree(false, first, last, dtl::force<const impl_allocator_type>(a))
|
|
1917
1915
|
{}
|
|
@@ -1922,7 +1920,7 @@ class flat_multimap
|
|
|
1922
1920
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1923
1921
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
1924
1922
|
template <class InputIterator>
|
|
1925
|
-
|
|
1923
|
+
inline
|
|
1926
1924
|
flat_multimap(InputIterator first, InputIterator last, const Compare& comp)
|
|
1927
1925
|
: m_flat_tree(false, first, last, comp)
|
|
1928
1926
|
{}
|
|
@@ -1933,7 +1931,7 @@ class flat_multimap
|
|
|
1933
1931
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1934
1932
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
1935
1933
|
template <class InputIterator>
|
|
1936
|
-
|
|
1934
|
+
inline
|
|
1937
1935
|
flat_multimap(InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
|
|
1938
1936
|
: m_flat_tree(false, first, last, comp, dtl::force<const impl_allocator_type>(a))
|
|
1939
1937
|
{}
|
|
@@ -1948,7 +1946,7 @@ class flat_multimap
|
|
|
1948
1946
|
//!
|
|
1949
1947
|
//! <b>Note</b>: Non-standard extension.
|
|
1950
1948
|
template <class InputIterator>
|
|
1951
|
-
|
|
1949
|
+
inline
|
|
1952
1950
|
flat_multimap(ordered_range_t, InputIterator first, InputIterator last)
|
|
1953
1951
|
: m_flat_tree(ordered_range, first, last)
|
|
1954
1952
|
{}
|
|
@@ -1963,7 +1961,7 @@ class flat_multimap
|
|
|
1963
1961
|
//!
|
|
1964
1962
|
//! <b>Note</b>: Non-standard extension.
|
|
1965
1963
|
template <class InputIterator>
|
|
1966
|
-
|
|
1964
|
+
inline
|
|
1967
1965
|
flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp)
|
|
1968
1966
|
: m_flat_tree(ordered_range, first, last, comp)
|
|
1969
1967
|
{}
|
|
@@ -1978,7 +1976,7 @@ class flat_multimap
|
|
|
1978
1976
|
//!
|
|
1979
1977
|
//! <b>Note</b>: Non-standard extension.
|
|
1980
1978
|
template <class InputIterator>
|
|
1981
|
-
|
|
1979
|
+
inline
|
|
1982
1980
|
flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
|
|
1983
1981
|
: m_flat_tree(ordered_range, first, last, comp, a)
|
|
1984
1982
|
{}
|
|
@@ -1993,7 +1991,7 @@ class flat_multimap
|
|
|
1993
1991
|
//!
|
|
1994
1992
|
//! <b>Note</b>: Non-standard extension.
|
|
1995
1993
|
template <class InputIterator>
|
|
1996
|
-
|
|
1994
|
+
inline
|
|
1997
1995
|
flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const allocator_type &a)
|
|
1998
1996
|
: m_flat_tree(ordered_range, first, last, Compare(), a)
|
|
1999
1997
|
{}
|
|
@@ -2004,7 +2002,7 @@ class flat_multimap
|
|
|
2004
2002
|
//!
|
|
2005
2003
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
2006
2004
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
2007
|
-
|
|
2005
|
+
inline
|
|
2008
2006
|
flat_multimap(std::initializer_list<value_type> il)
|
|
2009
2007
|
: m_flat_tree( false
|
|
2010
2008
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2016,7 +2014,7 @@ class flat_multimap
|
|
|
2016
2014
|
//!
|
|
2017
2015
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
2018
2016
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
2019
|
-
|
|
2017
|
+
inline
|
|
2020
2018
|
flat_multimap(std::initializer_list<value_type> il, const allocator_type& a)
|
|
2021
2019
|
: m_flat_tree(false
|
|
2022
2020
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2029,7 +2027,7 @@ class flat_multimap
|
|
|
2029
2027
|
//!
|
|
2030
2028
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
2031
2029
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
2032
|
-
|
|
2030
|
+
inline
|
|
2033
2031
|
flat_multimap(std::initializer_list<value_type> il, const Compare& comp)
|
|
2034
2032
|
: m_flat_tree(false
|
|
2035
2033
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2041,7 +2039,7 @@ class flat_multimap
|
|
|
2041
2039
|
//!
|
|
2042
2040
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
2043
2041
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
2044
|
-
|
|
2042
|
+
inline
|
|
2045
2043
|
flat_multimap(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
|
|
2046
2044
|
: m_flat_tree( false
|
|
2047
2045
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2058,7 +2056,7 @@ class flat_multimap
|
|
|
2058
2056
|
//! <b>Complexity</b>: Linear in N.
|
|
2059
2057
|
//!
|
|
2060
2058
|
//! <b>Note</b>: Non-standard extension.
|
|
2061
|
-
|
|
2059
|
+
inline
|
|
2062
2060
|
flat_multimap(ordered_range_t, std::initializer_list<value_type> il)
|
|
2063
2061
|
: m_flat_tree( ordered_range
|
|
2064
2062
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2074,7 +2072,7 @@ class flat_multimap
|
|
|
2074
2072
|
//! <b>Complexity</b>: Linear in N.
|
|
2075
2073
|
//!
|
|
2076
2074
|
//! <b>Note</b>: Non-standard extension.
|
|
2077
|
-
|
|
2075
|
+
inline
|
|
2078
2076
|
flat_multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp)
|
|
2079
2077
|
: m_flat_tree( ordered_range
|
|
2080
2078
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2090,7 +2088,7 @@ class flat_multimap
|
|
|
2090
2088
|
//! <b>Complexity</b>: Linear in N.
|
|
2091
2089
|
//!
|
|
2092
2090
|
//! <b>Note</b>: Non-standard extension.
|
|
2093
|
-
|
|
2091
|
+
inline
|
|
2094
2092
|
flat_multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
|
|
2095
2093
|
: m_flat_tree( ordered_range
|
|
2096
2094
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2102,7 +2100,7 @@ class flat_multimap
|
|
|
2102
2100
|
//! <b>Effects</b>: Copy constructs a flat_multimap.
|
|
2103
2101
|
//!
|
|
2104
2102
|
//! <b>Complexity</b>: Linear in x.size().
|
|
2105
|
-
|
|
2103
|
+
inline
|
|
2106
2104
|
flat_multimap(const flat_multimap& x)
|
|
2107
2105
|
: m_flat_tree(x.m_flat_tree)
|
|
2108
2106
|
{}
|
|
@@ -2112,7 +2110,7 @@ class flat_multimap
|
|
|
2112
2110
|
//! <b>Complexity</b>: Constant.
|
|
2113
2111
|
//!
|
|
2114
2112
|
//! <b>Postcondition</b>: x is emptied.
|
|
2115
|
-
|
|
2113
|
+
inline
|
|
2116
2114
|
flat_multimap(BOOST_RV_REF(flat_multimap) x)
|
|
2117
2115
|
BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
|
|
2118
2116
|
: m_flat_tree(boost::move(x.m_flat_tree))
|
|
@@ -2121,7 +2119,7 @@ class flat_multimap
|
|
|
2121
2119
|
//! <b>Effects</b>: Copy constructs a flat_multimap using the specified allocator.
|
|
2122
2120
|
//!
|
|
2123
2121
|
//! <b>Complexity</b>: Linear in x.size().
|
|
2124
|
-
|
|
2122
|
+
inline
|
|
2125
2123
|
flat_multimap(const flat_multimap& x, const allocator_type &a)
|
|
2126
2124
|
: m_flat_tree(x.m_flat_tree, dtl::force<const impl_allocator_type>(a))
|
|
2127
2125
|
{}
|
|
@@ -2130,7 +2128,7 @@ class flat_multimap
|
|
|
2130
2128
|
//! Constructs *this using x's resources.
|
|
2131
2129
|
//!
|
|
2132
2130
|
//! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
|
|
2133
|
-
|
|
2131
|
+
inline
|
|
2134
2132
|
flat_multimap(BOOST_RV_REF(flat_multimap) x, const allocator_type &a)
|
|
2135
2133
|
: m_flat_tree(boost::move(x.m_flat_tree), dtl::force<const impl_allocator_type>(a))
|
|
2136
2134
|
{}
|
|
@@ -2138,14 +2136,14 @@ class flat_multimap
|
|
|
2138
2136
|
//! <b>Effects</b>: Makes *this a copy of x.
|
|
2139
2137
|
//!
|
|
2140
2138
|
//! <b>Complexity</b>: Linear in x.size().
|
|
2141
|
-
|
|
2139
|
+
inline
|
|
2142
2140
|
flat_multimap& operator=(BOOST_COPY_ASSIGN_REF(flat_multimap) x)
|
|
2143
2141
|
{ m_flat_tree = x.m_flat_tree; return *this; }
|
|
2144
2142
|
|
|
2145
2143
|
//! <b>Effects</b>: this->swap(x.get()).
|
|
2146
2144
|
//!
|
|
2147
2145
|
//! <b>Complexity</b>: Constant.
|
|
2148
|
-
|
|
2146
|
+
inline
|
|
2149
2147
|
flat_multimap& operator=(BOOST_RV_REF(flat_multimap) x)
|
|
2150
2148
|
BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
|
|
2151
2149
|
allocator_traits_type::is_always_equal::value) &&
|
|
@@ -2156,7 +2154,7 @@ class flat_multimap
|
|
|
2156
2154
|
//! <b>Effects</b>: Assign content of il to *this
|
|
2157
2155
|
//!
|
|
2158
2156
|
//! <b>Complexity</b>: Linear in il.size().
|
|
2159
|
-
|
|
2157
|
+
inline
|
|
2160
2158
|
flat_multimap& operator=(std::initializer_list<value_type> il)
|
|
2161
2159
|
{
|
|
2162
2160
|
this->clear();
|
|
@@ -2169,7 +2167,7 @@ class flat_multimap
|
|
|
2169
2167
|
//! was passed to the object's constructor.
|
|
2170
2168
|
//!
|
|
2171
2169
|
//! <b>Complexity</b>: Constant.
|
|
2172
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2170
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2173
2171
|
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2174
2172
|
{ return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
|
|
2175
2173
|
|
|
@@ -2180,7 +2178,7 @@ class flat_multimap
|
|
|
2180
2178
|
//! <b>Complexity</b>: Constant.
|
|
2181
2179
|
//!
|
|
2182
2180
|
//! <b>Note</b>: Non-standard extension.
|
|
2183
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2181
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2184
2182
|
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2185
2183
|
{ return dtl::force<stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
|
|
2186
2184
|
|
|
@@ -2191,7 +2189,7 @@ class flat_multimap
|
|
|
2191
2189
|
//! <b>Complexity</b>: Constant.
|
|
2192
2190
|
//!
|
|
2193
2191
|
//! <b>Note</b>: Non-standard extension.
|
|
2194
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2192
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2195
2193
|
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2196
2194
|
{ return dtl::force<const stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
|
|
2197
2195
|
|
|
@@ -2206,7 +2204,7 @@ class flat_multimap
|
|
|
2206
2204
|
//! <b>Throws</b>: Nothing.
|
|
2207
2205
|
//!
|
|
2208
2206
|
//! <b>Complexity</b>: Constant.
|
|
2209
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2207
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2210
2208
|
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2211
2209
|
{ return dtl::force_copy<iterator>(m_flat_tree.begin()); }
|
|
2212
2210
|
|
|
@@ -2215,7 +2213,7 @@ class flat_multimap
|
|
|
2215
2213
|
//! <b>Throws</b>: Nothing.
|
|
2216
2214
|
//!
|
|
2217
2215
|
//! <b>Complexity</b>: Constant.
|
|
2218
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2216
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2219
2217
|
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2220
2218
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
|
|
2221
2219
|
|
|
@@ -2224,7 +2222,7 @@ class flat_multimap
|
|
|
2224
2222
|
//! <b>Throws</b>: Nothing.
|
|
2225
2223
|
//!
|
|
2226
2224
|
//! <b>Complexity</b>: Constant.
|
|
2227
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2225
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2228
2226
|
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2229
2227
|
{ return dtl::force_copy<iterator>(m_flat_tree.end()); }
|
|
2230
2228
|
|
|
@@ -2233,7 +2231,7 @@ class flat_multimap
|
|
|
2233
2231
|
//! <b>Throws</b>: Nothing.
|
|
2234
2232
|
//!
|
|
2235
2233
|
//! <b>Complexity</b>: Constant.
|
|
2236
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2234
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2237
2235
|
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2238
2236
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
|
|
2239
2237
|
|
|
@@ -2243,7 +2241,7 @@ class flat_multimap
|
|
|
2243
2241
|
//! <b>Throws</b>: Nothing.
|
|
2244
2242
|
//!
|
|
2245
2243
|
//! <b>Complexity</b>: Constant.
|
|
2246
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2244
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2247
2245
|
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2248
2246
|
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
|
|
2249
2247
|
|
|
@@ -2253,7 +2251,7 @@ class flat_multimap
|
|
|
2253
2251
|
//! <b>Throws</b>: Nothing.
|
|
2254
2252
|
//!
|
|
2255
2253
|
//! <b>Complexity</b>: Constant.
|
|
2256
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2254
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2257
2255
|
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2258
2256
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
|
|
2259
2257
|
|
|
@@ -2263,7 +2261,7 @@ class flat_multimap
|
|
|
2263
2261
|
//! <b>Throws</b>: Nothing.
|
|
2264
2262
|
//!
|
|
2265
2263
|
//! <b>Complexity</b>: Constant.
|
|
2266
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2264
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2267
2265
|
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2268
2266
|
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
|
|
2269
2267
|
|
|
@@ -2273,7 +2271,7 @@ class flat_multimap
|
|
|
2273
2271
|
//! <b>Throws</b>: Nothing.
|
|
2274
2272
|
//!
|
|
2275
2273
|
//! <b>Complexity</b>: Constant.
|
|
2276
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2274
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2277
2275
|
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2278
2276
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
|
|
2279
2277
|
|
|
@@ -2282,7 +2280,7 @@ class flat_multimap
|
|
|
2282
2280
|
//! <b>Throws</b>: Nothing.
|
|
2283
2281
|
//!
|
|
2284
2282
|
//! <b>Complexity</b>: Constant.
|
|
2285
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2283
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2286
2284
|
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2287
2285
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
|
|
2288
2286
|
|
|
@@ -2291,7 +2289,7 @@ class flat_multimap
|
|
|
2291
2289
|
//! <b>Throws</b>: Nothing.
|
|
2292
2290
|
//!
|
|
2293
2291
|
//! <b>Complexity</b>: Constant.
|
|
2294
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2292
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2295
2293
|
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2296
2294
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
|
|
2297
2295
|
|
|
@@ -2301,7 +2299,7 @@ class flat_multimap
|
|
|
2301
2299
|
//! <b>Throws</b>: Nothing.
|
|
2302
2300
|
//!
|
|
2303
2301
|
//! <b>Complexity</b>: Constant.
|
|
2304
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2302
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2305
2303
|
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2306
2304
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
|
|
2307
2305
|
|
|
@@ -2311,7 +2309,7 @@ class flat_multimap
|
|
|
2311
2309
|
//! <b>Throws</b>: Nothing.
|
|
2312
2310
|
//!
|
|
2313
2311
|
//! <b>Complexity</b>: Constant.
|
|
2314
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2312
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2315
2313
|
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2316
2314
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
|
|
2317
2315
|
|
|
@@ -2326,7 +2324,7 @@ class flat_multimap
|
|
|
2326
2324
|
//! <b>Throws</b>: Nothing.
|
|
2327
2325
|
//!
|
|
2328
2326
|
//! <b>Complexity</b>: Constant.
|
|
2329
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2327
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2330
2328
|
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2331
2329
|
{ return m_flat_tree.empty(); }
|
|
2332
2330
|
|
|
@@ -2335,7 +2333,7 @@ class flat_multimap
|
|
|
2335
2333
|
//! <b>Throws</b>: Nothing.
|
|
2336
2334
|
//!
|
|
2337
2335
|
//! <b>Complexity</b>: Constant.
|
|
2338
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2336
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2339
2337
|
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2340
2338
|
{ return m_flat_tree.size(); }
|
|
2341
2339
|
|
|
@@ -2344,7 +2342,7 @@ class flat_multimap
|
|
|
2344
2342
|
//! <b>Throws</b>: Nothing.
|
|
2345
2343
|
//!
|
|
2346
2344
|
//! <b>Complexity</b>: Constant.
|
|
2347
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2345
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2348
2346
|
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2349
2347
|
{ return m_flat_tree.max_size(); }
|
|
2350
2348
|
|
|
@@ -2354,7 +2352,7 @@ class flat_multimap
|
|
|
2354
2352
|
//! <b>Throws</b>: Nothing.
|
|
2355
2353
|
//!
|
|
2356
2354
|
//! <b>Complexity</b>: Constant.
|
|
2357
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2355
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2358
2356
|
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2359
2357
|
{ return m_flat_tree.capacity(); }
|
|
2360
2358
|
|
|
@@ -2368,7 +2366,7 @@ class flat_multimap
|
|
|
2368
2366
|
//!
|
|
2369
2367
|
//! <b>Note</b>: If capacity() is less than "cnt", iterators and references to
|
|
2370
2368
|
//! to values might be invalidated.
|
|
2371
|
-
|
|
2369
|
+
inline
|
|
2372
2370
|
void reserve(size_type cnt)
|
|
2373
2371
|
{ m_flat_tree.reserve(cnt); }
|
|
2374
2372
|
|
|
@@ -2378,27 +2376,27 @@ class flat_multimap
|
|
|
2378
2376
|
//! <b>Throws</b>: If memory allocation throws, or T's copy constructor throws.
|
|
2379
2377
|
//!
|
|
2380
2378
|
//! <b>Complexity</b>: Linear to size().
|
|
2381
|
-
|
|
2379
|
+
inline
|
|
2382
2380
|
void shrink_to_fit()
|
|
2383
2381
|
{ m_flat_tree.shrink_to_fit(); }
|
|
2384
2382
|
|
|
2385
2383
|
//! @copydoc ::boost::container::flat_set::nth(size_type)
|
|
2386
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2384
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2387
2385
|
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
2388
2386
|
{ return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
|
|
2389
2387
|
|
|
2390
2388
|
//! @copydoc ::boost::container::flat_set::nth(size_type) const
|
|
2391
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2389
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2392
2390
|
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2393
2391
|
{ return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
|
|
2394
2392
|
|
|
2395
2393
|
//! @copydoc ::boost::container::flat_set::index_of(iterator)
|
|
2396
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2394
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2397
2395
|
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
|
2398
2396
|
{ return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
|
|
2399
2397
|
|
|
2400
2398
|
//! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
|
|
2401
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2399
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2402
2400
|
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2403
2401
|
{ return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
|
|
2404
2402
|
|
|
@@ -2413,7 +2411,7 @@ class flat_multimap
|
|
|
2413
2411
|
//!
|
|
2414
2412
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2415
2413
|
template <class... Args>
|
|
2416
|
-
|
|
2414
|
+
inline
|
|
2417
2415
|
iterator emplace(BOOST_FWD_REF(Args)... args)
|
|
2418
2416
|
{ return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(boost::forward<Args>(args)...)); }
|
|
2419
2417
|
|
|
@@ -2430,7 +2428,7 @@ class flat_multimap
|
|
|
2430
2428
|
//!
|
|
2431
2429
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2432
2430
|
template <class... Args>
|
|
2433
|
-
|
|
2431
|
+
inline
|
|
2434
2432
|
iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
|
|
2435
2433
|
{
|
|
2436
2434
|
return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_equal
|
|
@@ -2441,11 +2439,11 @@ class flat_multimap
|
|
|
2441
2439
|
|
|
2442
2440
|
#define BOOST_CONTAINER_FLAT_MULTIMAP_EMPLACE_CODE(N) \
|
|
2443
2441
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
2444
|
-
|
|
2442
|
+
inline iterator emplace(BOOST_MOVE_UREF##N)\
|
|
2445
2443
|
{ return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(BOOST_MOVE_FWD##N)); }\
|
|
2446
2444
|
\
|
|
2447
2445
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
2448
|
-
|
|
2446
|
+
inline iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
2449
2447
|
{\
|
|
2450
2448
|
return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_equal\
|
|
2451
2449
|
(dtl::force_copy<impl_const_iterator>(hint) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
|
|
@@ -2463,7 +2461,7 @@ class flat_multimap
|
|
|
2463
2461
|
//! to the elements with bigger keys than x.
|
|
2464
2462
|
//!
|
|
2465
2463
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2466
|
-
|
|
2464
|
+
inline iterator insert(const value_type& x)
|
|
2467
2465
|
{
|
|
2468
2466
|
return dtl::force_copy<iterator>(
|
|
2469
2467
|
m_flat_tree.insert_equal(dtl::force<const impl_value_type>(x)));
|
|
@@ -2477,7 +2475,7 @@ class flat_multimap
|
|
|
2477
2475
|
//!
|
|
2478
2476
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2479
2477
|
template<class Pair>
|
|
2480
|
-
|
|
2478
|
+
inline BOOST_CONTAINER_DOC1ST
|
|
2481
2479
|
( iterator
|
|
2482
2480
|
, typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
|
|
2483
2481
|
BOOST_MOVE_I iterator >::type)
|
|
@@ -2495,7 +2493,7 @@ class flat_multimap
|
|
|
2495
2493
|
//! to the elements with bigger keys than x.
|
|
2496
2494
|
//!
|
|
2497
2495
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2498
|
-
|
|
2496
|
+
inline iterator insert(const_iterator p, const value_type& x)
|
|
2499
2497
|
{
|
|
2500
2498
|
return dtl::force_copy<iterator>
|
|
2501
2499
|
(m_flat_tree.insert_equal( dtl::force_copy<impl_const_iterator>(p)
|
|
@@ -2514,7 +2512,7 @@ class flat_multimap
|
|
|
2514
2512
|
//!
|
|
2515
2513
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2516
2514
|
template<class Pair>
|
|
2517
|
-
|
|
2515
|
+
inline BOOST_CONTAINER_DOC1ST
|
|
2518
2516
|
( iterator
|
|
2519
2517
|
, typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
|
|
2520
2518
|
BOOST_MOVE_I iterator>::type)
|
|
@@ -2532,7 +2530,7 @@ class flat_multimap
|
|
|
2532
2530
|
//!
|
|
2533
2531
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2534
2532
|
template <class InputIterator>
|
|
2535
|
-
|
|
2533
|
+
inline void insert(InputIterator first, InputIterator last)
|
|
2536
2534
|
{ m_flat_tree.insert_equal(first, last); }
|
|
2537
2535
|
|
|
2538
2536
|
//! <b>Requires</b>: first, last are not iterators into *this.
|
|
@@ -2549,7 +2547,7 @@ class flat_multimap
|
|
|
2549
2547
|
//!
|
|
2550
2548
|
//! <b>Note</b>: Non-standard extension.
|
|
2551
2549
|
template <class InputIterator>
|
|
2552
|
-
|
|
2550
|
+
inline void insert(ordered_range_t, InputIterator first, InputIterator last)
|
|
2553
2551
|
{ m_flat_tree.insert_equal(ordered_range, first, last); }
|
|
2554
2552
|
|
|
2555
2553
|
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
@@ -2558,7 +2556,7 @@ class flat_multimap
|
|
|
2558
2556
|
//! <b>Complexity</b>: N log(N).
|
|
2559
2557
|
//!
|
|
2560
2558
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2561
|
-
|
|
2559
|
+
inline void insert(std::initializer_list<value_type> il)
|
|
2562
2560
|
{
|
|
2563
2561
|
m_flat_tree.insert_equal( dtl::force<impl_initializer_list>(il).begin()
|
|
2564
2562
|
, dtl::force<impl_initializer_list>(il).end());
|
|
@@ -2575,7 +2573,7 @@ class flat_multimap
|
|
|
2575
2573
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2576
2574
|
//!
|
|
2577
2575
|
//! <b>Note</b>: Non-standard extension.
|
|
2578
|
-
|
|
2576
|
+
inline void insert(ordered_range_t, std::initializer_list<value_type> il)
|
|
2579
2577
|
{
|
|
2580
2578
|
m_flat_tree.insert_equal( ordered_range
|
|
2581
2579
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2592,22 +2590,22 @@ class flat_multimap
|
|
|
2592
2590
|
//!
|
|
2593
2591
|
//! <b>Note</b>: Invalidates all iterators and references.
|
|
2594
2592
|
template<class C2>
|
|
2595
|
-
|
|
2593
|
+
inline void merge(flat_multimap<Key, T, C2, AllocatorOrContainer>& source)
|
|
2596
2594
|
{ m_flat_tree.merge_equal(source.tree()); }
|
|
2597
2595
|
|
|
2598
2596
|
//! @copydoc ::boost::container::flat_multimap::merge(flat_multimap<Key, T, C2, AllocatorOrContainer>&)
|
|
2599
2597
|
template<class C2>
|
|
2600
|
-
|
|
2598
|
+
inline void merge(BOOST_RV_REF_BEG flat_multimap<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
|
|
2601
2599
|
{ return this->merge(static_cast<flat_multimap<Key, T, C2, AllocatorOrContainer>&>(source)); }
|
|
2602
2600
|
|
|
2603
2601
|
//! @copydoc ::boost::container::flat_multimap::merge(flat_multimap<Key, T, C2, AllocatorOrContainer>&)
|
|
2604
2602
|
template<class C2>
|
|
2605
|
-
|
|
2603
|
+
inline void merge(flat_map<Key, T, C2, AllocatorOrContainer>& source)
|
|
2606
2604
|
{ m_flat_tree.merge_equal(source.tree()); }
|
|
2607
2605
|
|
|
2608
2606
|
//! @copydoc ::boost::container::flat_multimap::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
|
|
2609
2607
|
template<class C2>
|
|
2610
|
-
|
|
2608
|
+
inline void merge(BOOST_RV_REF_BEG flat_map<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
|
|
2611
2609
|
{ return this->merge(static_cast<flat_map<Key, T, C2, AllocatorOrContainer>&>(source)); }
|
|
2612
2610
|
|
|
2613
2611
|
//! <b>Effects</b>: Erases the element pointed to by p.
|
|
@@ -2620,7 +2618,7 @@ class flat_multimap
|
|
|
2620
2618
|
//!
|
|
2621
2619
|
//! <b>Note</b>: Invalidates elements with keys
|
|
2622
2620
|
//! not less than the erased element.
|
|
2623
|
-
|
|
2621
|
+
inline iterator erase(const_iterator p)
|
|
2624
2622
|
{
|
|
2625
2623
|
return dtl::force_copy<iterator>(
|
|
2626
2624
|
m_flat_tree.erase(dtl::force_copy<impl_const_iterator>(p)));
|
|
@@ -2632,7 +2630,7 @@ class flat_multimap
|
|
|
2632
2630
|
//!
|
|
2633
2631
|
//! <b>Complexity</b>: Logarithmic search time plus erasure time
|
|
2634
2632
|
//! linear to the elements with bigger keys.
|
|
2635
|
-
|
|
2633
|
+
inline size_type erase(const key_type& x)
|
|
2636
2634
|
{ return m_flat_tree.erase(x); }
|
|
2637
2635
|
|
|
2638
2636
|
//! <b>Effects</b>: Erases all the elements in the range [first, last).
|
|
@@ -2643,7 +2641,7 @@ class flat_multimap
|
|
|
2643
2641
|
//!
|
|
2644
2642
|
//! <b>Complexity</b>: Logarithmic search time plus erasure time
|
|
2645
2643
|
//! linear to the elements with bigger keys.
|
|
2646
|
-
|
|
2644
|
+
inline iterator erase(const_iterator first, const_iterator last)
|
|
2647
2645
|
{
|
|
2648
2646
|
return dtl::force_copy<iterator>
|
|
2649
2647
|
(m_flat_tree.erase( dtl::force_copy<impl_const_iterator>(first)
|
|
@@ -2655,7 +2653,7 @@ class flat_multimap
|
|
|
2655
2653
|
//! <b>Throws</b>: Nothing.
|
|
2656
2654
|
//!
|
|
2657
2655
|
//! <b>Complexity</b>: Constant.
|
|
2658
|
-
|
|
2656
|
+
inline void swap(flat_multimap& x)
|
|
2659
2657
|
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
|
2660
2658
|
&& boost::container::dtl::is_nothrow_swappable<Compare>::value )
|
|
2661
2659
|
{ m_flat_tree.swap(x.m_flat_tree); }
|
|
@@ -2665,7 +2663,7 @@ class flat_multimap
|
|
|
2665
2663
|
//! <b>Postcondition</b>: size() == 0.
|
|
2666
2664
|
//!
|
|
2667
2665
|
//! <b>Complexity</b>: linear in size().
|
|
2668
|
-
|
|
2666
|
+
inline void clear() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2669
2667
|
{ m_flat_tree.clear(); }
|
|
2670
2668
|
|
|
2671
2669
|
//////////////////////////////////////////////
|
|
@@ -2678,7 +2676,7 @@ class flat_multimap
|
|
|
2678
2676
|
//! of which a was constructed.
|
|
2679
2677
|
//!
|
|
2680
2678
|
//! <b>Complexity</b>: Constant.
|
|
2681
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2679
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2682
2680
|
key_compare key_comp() const
|
|
2683
2681
|
{ return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
|
|
2684
2682
|
|
|
@@ -2686,7 +2684,7 @@ class flat_multimap
|
|
|
2686
2684
|
//! of the comparison object.
|
|
2687
2685
|
//!
|
|
2688
2686
|
//! <b>Complexity</b>: Constant.
|
|
2689
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2687
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2690
2688
|
value_compare value_comp() const
|
|
2691
2689
|
{ return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
|
|
2692
2690
|
|
|
@@ -2700,7 +2698,7 @@ class flat_multimap
|
|
|
2700
2698
|
//! equivalent to x, or end() if such an element is not found.
|
|
2701
2699
|
//!
|
|
2702
2700
|
//! <b>Complexity</b>: Logarithmic.
|
|
2703
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2701
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2704
2702
|
iterator find(const key_type& x)
|
|
2705
2703
|
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
|
2706
2704
|
|
|
@@ -2708,7 +2706,7 @@ class flat_multimap
|
|
|
2708
2706
|
//! equivalent to x, or end() if such an element is not found.
|
|
2709
2707
|
//!
|
|
2710
2708
|
//! <b>Complexity</b>: Logarithmic.
|
|
2711
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2709
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2712
2710
|
const_iterator find(const key_type& x) const
|
|
2713
2711
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
|
2714
2712
|
|
|
@@ -2720,7 +2718,7 @@ class flat_multimap
|
|
|
2720
2718
|
//!
|
|
2721
2719
|
//! <b>Complexity</b>: Logarithmic.
|
|
2722
2720
|
template<class K>
|
|
2723
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2721
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2724
2722
|
iterator find(const K& x)
|
|
2725
2723
|
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
|
2726
2724
|
|
|
@@ -2732,14 +2730,14 @@ class flat_multimap
|
|
|
2732
2730
|
//!
|
|
2733
2731
|
//! <b>Complexity</b>: Logarithmic.
|
|
2734
2732
|
template<class K>
|
|
2735
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2733
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2736
2734
|
const_iterator find(const K& x) const
|
|
2737
2735
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
|
2738
2736
|
|
|
2739
2737
|
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
|
2740
2738
|
//!
|
|
2741
2739
|
//! <b>Complexity</b>: log(size())+count(k)
|
|
2742
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2740
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2743
2741
|
size_type count(const key_type& x) const
|
|
2744
2742
|
{ return m_flat_tree.count(x); }
|
|
2745
2743
|
|
|
@@ -2750,7 +2748,7 @@ class flat_multimap
|
|
|
2750
2748
|
//!
|
|
2751
2749
|
//! <b>Complexity</b>: log(size())+count(k)
|
|
2752
2750
|
template<class K>
|
|
2753
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2751
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2754
2752
|
size_type count(const K& x) const
|
|
2755
2753
|
{ return m_flat_tree.count(x); }
|
|
2756
2754
|
|
|
@@ -2758,7 +2756,7 @@ class flat_multimap
|
|
|
2758
2756
|
//! equivalent to key in the container, otherwise false.
|
|
2759
2757
|
//!
|
|
2760
2758
|
//! <b>Complexity</b>: log(size()).
|
|
2761
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2759
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2762
2760
|
bool contains(const key_type& x) const
|
|
2763
2761
|
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
|
2764
2762
|
|
|
@@ -2770,7 +2768,7 @@ class flat_multimap
|
|
|
2770
2768
|
//!
|
|
2771
2769
|
//! <b>Complexity</b>: log(size()).
|
|
2772
2770
|
template<typename K>
|
|
2773
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2771
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2774
2772
|
bool contains(const K& x) const
|
|
2775
2773
|
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
|
2776
2774
|
|
|
@@ -2778,7 +2776,7 @@ class flat_multimap
|
|
|
2778
2776
|
//! than x, or end() if such an element is not found.
|
|
2779
2777
|
//!
|
|
2780
2778
|
//! <b>Complexity</b>: Logarithmic
|
|
2781
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2779
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2782
2780
|
iterator lower_bound(const key_type& x)
|
|
2783
2781
|
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
|
2784
2782
|
|
|
@@ -2786,7 +2784,7 @@ class flat_multimap
|
|
|
2786
2784
|
//! than x, or end() if such an element is not found.
|
|
2787
2785
|
//!
|
|
2788
2786
|
//! <b>Complexity</b>: Logarithmic
|
|
2789
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2787
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2790
2788
|
const_iterator lower_bound(const key_type& x) const
|
|
2791
2789
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
|
2792
2790
|
|
|
@@ -2798,7 +2796,7 @@ class flat_multimap
|
|
|
2798
2796
|
//!
|
|
2799
2797
|
//! <b>Complexity</b>: Logarithmic
|
|
2800
2798
|
template<class K>
|
|
2801
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2799
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2802
2800
|
iterator lower_bound(const K& x)
|
|
2803
2801
|
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
|
2804
2802
|
|
|
@@ -2810,7 +2808,7 @@ class flat_multimap
|
|
|
2810
2808
|
//!
|
|
2811
2809
|
//! <b>Complexity</b>: Logarithmic
|
|
2812
2810
|
template<class K>
|
|
2813
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2811
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2814
2812
|
const_iterator lower_bound(const K& x) const
|
|
2815
2813
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
|
2816
2814
|
|
|
@@ -2818,7 +2816,7 @@ class flat_multimap
|
|
|
2818
2816
|
//! than x, or end() if such an element is not found.
|
|
2819
2817
|
//!
|
|
2820
2818
|
//! <b>Complexity</b>: Logarithmic
|
|
2821
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2819
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2822
2820
|
iterator upper_bound(const key_type& x)
|
|
2823
2821
|
{return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
|
2824
2822
|
|
|
@@ -2826,7 +2824,7 @@ class flat_multimap
|
|
|
2826
2824
|
//! greater than x, or end() if such an element is not found.
|
|
2827
2825
|
//!
|
|
2828
2826
|
//! <b>Complexity</b>: Logarithmic
|
|
2829
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2827
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2830
2828
|
const_iterator upper_bound(const key_type& x) const
|
|
2831
2829
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
|
2832
2830
|
|
|
@@ -2838,7 +2836,7 @@ class flat_multimap
|
|
|
2838
2836
|
//!
|
|
2839
2837
|
//! <b>Complexity</b>: Logarithmic
|
|
2840
2838
|
template<class K>
|
|
2841
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2839
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2842
2840
|
iterator upper_bound(const K& x)
|
|
2843
2841
|
{return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
|
2844
2842
|
|
|
@@ -2850,21 +2848,21 @@ class flat_multimap
|
|
|
2850
2848
|
//!
|
|
2851
2849
|
//! <b>Complexity</b>: Logarithmic
|
|
2852
2850
|
template<class K>
|
|
2853
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2851
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2854
2852
|
const_iterator upper_bound(const K& x) const
|
|
2855
2853
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
|
2856
2854
|
|
|
2857
2855
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
|
2858
2856
|
//!
|
|
2859
2857
|
//! <b>Complexity</b>: Logarithmic
|
|
2860
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2858
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2861
2859
|
std::pair<iterator,iterator> equal_range(const key_type& x)
|
|
2862
2860
|
{ return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
|
|
2863
2861
|
|
|
2864
2862
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
|
2865
2863
|
//!
|
|
2866
2864
|
//! <b>Complexity</b>: Logarithmic
|
|
2867
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2865
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2868
2866
|
std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
|
|
2869
2867
|
{ return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
|
|
2870
2868
|
|
|
@@ -2875,7 +2873,7 @@ class flat_multimap
|
|
|
2875
2873
|
//!
|
|
2876
2874
|
//! <b>Complexity</b>: Logarithmic
|
|
2877
2875
|
template<class K>
|
|
2878
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2876
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2879
2877
|
std::pair<iterator,iterator> equal_range(const K& x)
|
|
2880
2878
|
{ return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
|
|
2881
2879
|
|
|
@@ -2886,7 +2884,7 @@ class flat_multimap
|
|
|
2886
2884
|
//!
|
|
2887
2885
|
//! <b>Complexity</b>: Logarithmic
|
|
2888
2886
|
template<class K>
|
|
2889
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2887
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2890
2888
|
std::pair<const_iterator, const_iterator> equal_range(const K& x) const
|
|
2891
2889
|
{ return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
|
|
2892
2890
|
|
|
@@ -2897,7 +2895,7 @@ class flat_multimap
|
|
|
2897
2895
|
//! <b>Postcondition</b>: this->empty()
|
|
2898
2896
|
//!
|
|
2899
2897
|
//! <b>Throws</b>: If secuence_type's move constructor throws
|
|
2900
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2898
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2901
2899
|
sequence_type extract_sequence()
|
|
2902
2900
|
{ return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref())); }
|
|
2903
2901
|
|
|
@@ -2907,7 +2905,7 @@ class flat_multimap
|
|
|
2907
2905
|
//! <b>Complexity</b>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()
|
|
2908
2906
|
//!
|
|
2909
2907
|
//! <b>Throws</b>: If the comparison or the move constructor throws
|
|
2910
|
-
|
|
2908
|
+
inline void adopt_sequence(BOOST_RV_REF(sequence_type) seq)
|
|
2911
2909
|
{ this->m_flat_tree.adopt_sequence_equal(boost::move(dtl::force<impl_sequence_type>(seq))); }
|
|
2912
2910
|
|
|
2913
2911
|
//! <b>Requires</b>: seq shall be ordered according to this->compare().
|
|
@@ -2918,7 +2916,7 @@ class flat_multimap
|
|
|
2918
2916
|
//! <b>Complexity</b>: Assuming O(1) move assignment, O(1)
|
|
2919
2917
|
//!
|
|
2920
2918
|
//! <b>Throws</b>: If the move assignment throws
|
|
2921
|
-
|
|
2919
|
+
inline void adopt_sequence(ordered_range_t, BOOST_RV_REF(sequence_type) seq)
|
|
2922
2920
|
{ this->m_flat_tree.adopt_sequence_equal(ordered_range_t(), boost::move(dtl::force<impl_sequence_type>(seq))); }
|
|
2923
2921
|
|
|
2924
2922
|
//! <b>Effects</b>: Returns a const view of the underlying sequence.
|
|
@@ -2926,55 +2924,55 @@ class flat_multimap
|
|
|
2926
2924
|
//! <b>Complexity</b>: Constant
|
|
2927
2925
|
//!
|
|
2928
2926
|
//! <b>Throws</b>: Nothing
|
|
2929
|
-
|
|
2927
|
+
inline const sequence_type & sequence() const BOOST_NOEXCEPT
|
|
2930
2928
|
{ return dtl::force<sequence_type>(m_flat_tree.get_sequence_cref()); }
|
|
2931
2929
|
|
|
2932
2930
|
//! <b>Effects</b>: Returns true if x and y are equal
|
|
2933
2931
|
//!
|
|
2934
2932
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2935
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2933
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2936
2934
|
friend bool operator==(const flat_multimap& x, const flat_multimap& y)
|
|
2937
2935
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
|
2938
2936
|
|
|
2939
2937
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
|
2940
2938
|
//!
|
|
2941
2939
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2942
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2940
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2943
2941
|
friend bool operator!=(const flat_multimap& x, const flat_multimap& y)
|
|
2944
2942
|
{ return !(x == y); }
|
|
2945
2943
|
|
|
2946
2944
|
//! <b>Effects</b>: Returns true if x is less than y
|
|
2947
2945
|
//!
|
|
2948
2946
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2949
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2947
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2950
2948
|
friend bool operator<(const flat_multimap& x, const flat_multimap& y)
|
|
2951
2949
|
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
|
2952
2950
|
|
|
2953
2951
|
//! <b>Effects</b>: Returns true if x is greater than y
|
|
2954
2952
|
//!
|
|
2955
2953
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2956
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2954
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2957
2955
|
friend bool operator>(const flat_multimap& x, const flat_multimap& y)
|
|
2958
2956
|
{ return y < x; }
|
|
2959
2957
|
|
|
2960
2958
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
|
2961
2959
|
//!
|
|
2962
2960
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2963
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2961
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2964
2962
|
friend bool operator<=(const flat_multimap& x, const flat_multimap& y)
|
|
2965
2963
|
{ return !(y < x); }
|
|
2966
2964
|
|
|
2967
2965
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
|
2968
2966
|
//!
|
|
2969
2967
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2970
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2968
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2971
2969
|
friend bool operator>=(const flat_multimap& x, const flat_multimap& y)
|
|
2972
2970
|
{ return !(x < y); }
|
|
2973
2971
|
|
|
2974
2972
|
//! <b>Effects</b>: x.swap(y)
|
|
2975
2973
|
//!
|
|
2976
2974
|
//! <b>Complexity</b>: Constant.
|
|
2977
|
-
|
|
2975
|
+
inline friend void swap(flat_multimap& x, flat_multimap& y)
|
|
2978
2976
|
BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
|
|
2979
2977
|
{ x.swap(y); }
|
|
2980
2978
|
};
|