passenger 6.0.20 → 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 +41 -1
- data/CONTRIBUTORS +2 -0
- data/README.md +2 -2
- data/bin/passenger-install-nginx-module +4 -4
- data/build/support/cxx_dependency_map.rb +155 -54
- data/dev/copy_boost_headers +21 -7
- data/dev/nginx_version_sha256 +72 -0
- 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 +96 -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 +61 -62
- 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 +28 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +42 -59
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +154 -883
- 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 +19 -22
- 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 +106 -153
- 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 +75 -294
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +75 -283
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +89 -288
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +73 -275
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +170 -328
- 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 +26 -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 +32 -48
- 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 +26 -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 +53 -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 +22 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +188 -275
- 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 +2 -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 +91 -975
- 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 +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +1 -1
- 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 +5 -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 +73 -127
- 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 +32 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +1 -1
- 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 +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +1 -1
- 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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +2 -2
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +1 -1
- 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 +1 -1
- 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 +56 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +56 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +56 -101
- 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 +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +3 -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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +7 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +3 -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 +3 -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 +1 -1
- 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 +12 -44
- 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 +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +11 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +11 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +4 -5
- 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 +3 -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 +3 -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 +1 -1
- 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 +2 -2
- 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 +1 -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 +21 -26
- 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 +229 -1019
- 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 +55 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +55 -33
- 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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +3 -3
- 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 +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +130 -53
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_payload.hpp +92 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +15 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +73 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +48 -48
- 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 +39 -30
- 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 +16 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +14 -14
- 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 +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +2 -2
- 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/use_coro.hpp +14 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +11 -11
- 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 +62 -137
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +22 -21
- 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 +44 -36
- 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 +32 -41
- 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 +1 -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 +36 -420
- 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 +205 -421
- 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 +1 -1
- 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 +77 -423
- 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 +25 -34
- 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 +4 -4
- 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 +4 -4
- 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 +21 -26
- 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 +10 -21
- 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 +1 -1
- 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 +1 -27
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +2 -3
- 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 +1 -1
- 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/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 -61
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +229 -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/tuple_for_each.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +138 -289
- data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +3 -16
- data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +0 -280
- data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +0 -7
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +1 -0
- 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 +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +4 -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 +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +3 -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 +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -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 +40 -0
- 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/deque.hpp +112 -112
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +40 -40
- 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 +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +30 -25
- 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 +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +129 -129
- 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/next_capacity.hpp +6 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +32 -32
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +18 -19
- 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 +77 -77
- 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 +44 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +78 -78
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +231 -231
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +85 -85
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -33
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +107 -109
- 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 +18 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +2 -2
- 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 -80
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +81 -81
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +115 -109
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +101 -101
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +32 -32
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +150 -190
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +165 -165
- 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 +84 -86
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple_like.hpp +5 -99
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/mulx.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +25 -126
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +27 -21
- 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 -41
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_tuple_like.hpp +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +20 -6
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +19 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_pause.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +1 -1
- 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/invoke_swap.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/launder.hpp +17 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +6 -55
- 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 +2 -2
- 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/{ratio → exception}/detail/requires_cxx11.hpp +7 -5
- 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 +1 -1
- 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 +1 -1
- 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 +21 -166
- data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +36 -41
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +267 -418
- data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +1 -31
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +5 -63
- 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 +2 -2
- 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/common_slist_algorithms.hpp +5 -5
- 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 -21
- 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 -21
- 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 +32 -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 +56 -57
- 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 +60 -61
- 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/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 +611 -633
- 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 -30
- 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/thread/src/pthread/thread.cpp +24 -14
- 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 +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +5 -19
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +3 -3
- 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/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 +67 -17
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +48 -48
- data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_fold.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integral.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/list.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- 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 +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
- 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 -87
- 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/smart_ptr/detail/requires_cxx11.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +1 -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 +13 -57
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +5 -29
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +51 -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 +8 -1
- 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 +5 -9
- 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/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/is_floating_point.hpp +22 -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 +2 -54
- 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 +2 -12
- 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 -203
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +145 -103
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +1 -4
- 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 +531 -91
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +346 -194
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/element_type.hpp +10 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +22 -15
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +10 -13
- 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/table.hpp +150 -55
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +346 -1039
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/narrow_cast.hpp +8 -8
- 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 +95 -144
- 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 +123 -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 +65 -46
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +41 -23
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +324 -997
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +7 -12
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +57 -46
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +35 -24
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +229 -629
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +8 -13
- 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/native_support.rb +10 -7
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +3 -7
- 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 +50 -149
- data/src/cxx_supportlib/ServerKit/http_parser.cpp +0 -2575
- data/src/cxx_supportlib/ServerKit/http_parser.h +0 -452
- 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 -91
- 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/handler_alloc_hook.ipp +0 -64
- 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/detail/is_same.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/requires_cxx11.hpp +0 -22
- 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 -476
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/requires_cxx11.hpp +0 -22
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_win32_sleep.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/epilogue.hpp +0 -39
- 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 -27
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/requires_cxx11.hpp +0 -22
- 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/swap.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/requires_cxx11.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/typeof/detail/requires_cxx11.hpp +0 -18
- data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -58
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +0 -118
- data/src/cxx_supportlib/vendor-modified/boost/typeof/integral_template_param.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/typeof/message.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +0 -121
- data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions.hpp +0 -50
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +0 -135
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_template_param.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +0 -187
- data/src/cxx_supportlib/vendor-modified/boost/typeof/unsupported.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +0 -321
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +0 -471
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +0 -621
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +0 -150
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/requires_cxx11.hpp +0 -21
- /data/dev/{webpacketpp.patch → websocketpp.patch} +0 -0
|
@@ -154,10 +154,10 @@ class flat_map
|
|
|
154
154
|
typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type;
|
|
155
155
|
typedef typename impl_tree_t::sequence_type impl_sequence_type;
|
|
156
156
|
|
|
157
|
-
|
|
157
|
+
inline impl_tree_t &tree()
|
|
158
158
|
{ return m_flat_tree; }
|
|
159
159
|
|
|
160
|
-
|
|
160
|
+
inline const impl_tree_t &tree() const
|
|
161
161
|
{ return m_flat_tree; }
|
|
162
162
|
|
|
163
163
|
private:
|
|
@@ -198,7 +198,7 @@ class flat_map
|
|
|
198
198
|
typedef BOOST_CONTAINER_IMPDEF(impl_value_type) movable_value_type;
|
|
199
199
|
|
|
200
200
|
//AllocatorOrContainer::value_type must be std::pair<Key, T>
|
|
201
|
-
|
|
201
|
+
BOOST_CONTAINER_STATIC_ASSERT((dtl::is_same<std::pair<Key, T>, value_type>::value));
|
|
202
202
|
|
|
203
203
|
//////////////////////////////////////////////
|
|
204
204
|
//
|
|
@@ -209,7 +209,7 @@ class flat_map
|
|
|
209
209
|
//! <b>Effects</b>: Default constructs an empty flat_map.
|
|
210
210
|
//!
|
|
211
211
|
//! <b>Complexity</b>: Constant.
|
|
212
|
-
|
|
212
|
+
inline flat_map() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<AllocatorOrContainer>::value &&
|
|
213
213
|
dtl::is_nothrow_default_constructible<Compare>::value)
|
|
214
214
|
: m_flat_tree()
|
|
215
215
|
{}
|
|
@@ -217,7 +217,7 @@ class flat_map
|
|
|
217
217
|
//! <b>Effects</b>: Constructs an empty flat_map using the specified allocator.
|
|
218
218
|
//!
|
|
219
219
|
//! <b>Complexity</b>: Constant.
|
|
220
|
-
|
|
220
|
+
inline explicit flat_map(const allocator_type& a)
|
|
221
221
|
: m_flat_tree(dtl::force<const impl_allocator_type>(a))
|
|
222
222
|
{}
|
|
223
223
|
|
|
@@ -225,7 +225,7 @@ class flat_map
|
|
|
225
225
|
//! comparison object.
|
|
226
226
|
//!
|
|
227
227
|
//! <b>Complexity</b>: Constant.
|
|
228
|
-
|
|
228
|
+
inline explicit flat_map(const Compare& comp)
|
|
229
229
|
: m_flat_tree(comp)
|
|
230
230
|
{}
|
|
231
231
|
|
|
@@ -233,7 +233,7 @@ class flat_map
|
|
|
233
233
|
//! comparison object and allocator.
|
|
234
234
|
//!
|
|
235
235
|
//! <b>Complexity</b>: Constant.
|
|
236
|
-
|
|
236
|
+
inline flat_map(const Compare& comp, const allocator_type& a)
|
|
237
237
|
: m_flat_tree(comp, dtl::force<const impl_allocator_type>(a))
|
|
238
238
|
{}
|
|
239
239
|
|
|
@@ -243,7 +243,7 @@ class flat_map
|
|
|
243
243
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
244
244
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
245
245
|
template <class InputIterator>
|
|
246
|
-
|
|
246
|
+
inline flat_map(InputIterator first, InputIterator last)
|
|
247
247
|
: m_flat_tree(true, first, last)
|
|
248
248
|
{}
|
|
249
249
|
|
|
@@ -253,7 +253,7 @@ class flat_map
|
|
|
253
253
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
254
254
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
255
255
|
template <class InputIterator>
|
|
256
|
-
|
|
256
|
+
inline flat_map(InputIterator first, InputIterator last, const allocator_type& a)
|
|
257
257
|
: m_flat_tree(true, first, last, dtl::force<const impl_allocator_type>(a))
|
|
258
258
|
{}
|
|
259
259
|
|
|
@@ -263,7 +263,7 @@ class flat_map
|
|
|
263
263
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
264
264
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
265
265
|
template <class InputIterator>
|
|
266
|
-
|
|
266
|
+
inline flat_map(InputIterator first, InputIterator last, const Compare& comp)
|
|
267
267
|
: m_flat_tree(true, first, last, comp)
|
|
268
268
|
{}
|
|
269
269
|
|
|
@@ -273,7 +273,7 @@ class flat_map
|
|
|
273
273
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
274
274
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
275
275
|
template <class InputIterator>
|
|
276
|
-
|
|
276
|
+
inline flat_map(InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
|
|
277
277
|
: m_flat_tree(true, first, last, comp, dtl::force<const impl_allocator_type>(a))
|
|
278
278
|
{}
|
|
279
279
|
|
|
@@ -287,7 +287,7 @@ class flat_map
|
|
|
287
287
|
//!
|
|
288
288
|
//! <b>Note</b>: Non-standard extension.
|
|
289
289
|
template <class InputIterator>
|
|
290
|
-
|
|
290
|
+
inline
|
|
291
291
|
flat_map(ordered_unique_range_t, InputIterator first, InputIterator last)
|
|
292
292
|
: m_flat_tree(ordered_range, first, last)
|
|
293
293
|
{}
|
|
@@ -302,7 +302,7 @@ class flat_map
|
|
|
302
302
|
//!
|
|
303
303
|
//! <b>Note</b>: Non-standard extension.
|
|
304
304
|
template <class InputIterator>
|
|
305
|
-
|
|
305
|
+
inline
|
|
306
306
|
flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp)
|
|
307
307
|
: m_flat_tree(ordered_range, first, last, comp)
|
|
308
308
|
{}
|
|
@@ -317,7 +317,7 @@ class flat_map
|
|
|
317
317
|
//!
|
|
318
318
|
//! <b>Note</b>: Non-standard extension.
|
|
319
319
|
template <class InputIterator>
|
|
320
|
-
|
|
320
|
+
inline
|
|
321
321
|
flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
|
|
322
322
|
: m_flat_tree(ordered_range, first, last, comp, dtl::force<const impl_allocator_type>(a))
|
|
323
323
|
{}
|
|
@@ -332,7 +332,7 @@ class flat_map
|
|
|
332
332
|
//!
|
|
333
333
|
//! <b>Note</b>: Non-standard extension.
|
|
334
334
|
template <class InputIterator>
|
|
335
|
-
|
|
335
|
+
inline
|
|
336
336
|
flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const allocator_type& a)
|
|
337
337
|
: m_flat_tree(ordered_range, first, last, Compare(), a)
|
|
338
338
|
{}
|
|
@@ -343,7 +343,7 @@ class flat_map
|
|
|
343
343
|
//!
|
|
344
344
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
345
345
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
346
|
-
|
|
346
|
+
inline flat_map(std::initializer_list<value_type> il)
|
|
347
347
|
: m_flat_tree( true
|
|
348
348
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
349
349
|
, dtl::force<impl_initializer_list>(il).end())
|
|
@@ -354,7 +354,7 @@ class flat_map
|
|
|
354
354
|
//!
|
|
355
355
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
356
356
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
357
|
-
|
|
357
|
+
inline flat_map(std::initializer_list<value_type> il, const allocator_type& a)
|
|
358
358
|
: m_flat_tree( true
|
|
359
359
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
360
360
|
, dtl::force<impl_initializer_list>(il).end()
|
|
@@ -366,7 +366,7 @@ class flat_map
|
|
|
366
366
|
//!
|
|
367
367
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
368
368
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
369
|
-
|
|
369
|
+
inline flat_map(std::initializer_list<value_type> il, const Compare& comp)
|
|
370
370
|
: m_flat_tree(true
|
|
371
371
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
372
372
|
, dtl::force<impl_initializer_list>(il).end()
|
|
@@ -378,7 +378,7 @@ class flat_map
|
|
|
378
378
|
//!
|
|
379
379
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
380
380
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
381
|
-
|
|
381
|
+
inline flat_map(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
|
|
382
382
|
: m_flat_tree(true
|
|
383
383
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
384
384
|
, dtl::force<impl_initializer_list>(il).end()
|
|
@@ -396,7 +396,7 @@ class flat_map
|
|
|
396
396
|
//! <b>Complexity</b>: Linear in N.
|
|
397
397
|
//!
|
|
398
398
|
//! <b>Note</b>: Non-standard extension.
|
|
399
|
-
|
|
399
|
+
inline flat_map(ordered_unique_range_t, std::initializer_list<value_type> il)
|
|
400
400
|
: m_flat_tree(ordered_unique_range
|
|
401
401
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
402
402
|
, dtl::force<impl_initializer_list>(il).end())
|
|
@@ -412,7 +412,7 @@ class flat_map
|
|
|
412
412
|
//! <b>Complexity</b>: Linear in N.
|
|
413
413
|
//!
|
|
414
414
|
//! <b>Note</b>: Non-standard extension.
|
|
415
|
-
|
|
415
|
+
inline flat_map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp)
|
|
416
416
|
: m_flat_tree(ordered_unique_range
|
|
417
417
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
418
418
|
, dtl::force<impl_initializer_list>(il).end()
|
|
@@ -429,7 +429,7 @@ class flat_map
|
|
|
429
429
|
//! <b>Complexity</b>: Linear in N.
|
|
430
430
|
//!
|
|
431
431
|
//! <b>Note</b>: Non-standard extension.
|
|
432
|
-
|
|
432
|
+
inline flat_map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
|
|
433
433
|
: m_flat_tree( ordered_unique_range
|
|
434
434
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
435
435
|
, dtl::force<impl_initializer_list>(il).end()
|
|
@@ -441,7 +441,7 @@ class flat_map
|
|
|
441
441
|
//! <b>Effects</b>: Copy constructs a flat_map.
|
|
442
442
|
//!
|
|
443
443
|
//! <b>Complexity</b>: Linear in x.size().
|
|
444
|
-
|
|
444
|
+
inline flat_map(const flat_map& x)
|
|
445
445
|
: m_flat_tree(x.m_flat_tree)
|
|
446
446
|
{}
|
|
447
447
|
|
|
@@ -451,7 +451,7 @@ class flat_map
|
|
|
451
451
|
//! <b>Complexity</b>: Constant.
|
|
452
452
|
//!
|
|
453
453
|
//! <b>Postcondition</b>: x is emptied.
|
|
454
|
-
|
|
454
|
+
inline flat_map(BOOST_RV_REF(flat_map) x)
|
|
455
455
|
BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
|
|
456
456
|
: m_flat_tree(boost::move(x.m_flat_tree))
|
|
457
457
|
{}
|
|
@@ -459,7 +459,7 @@ class flat_map
|
|
|
459
459
|
//! <b>Effects</b>: Copy constructs a flat_map using the specified allocator.
|
|
460
460
|
//!
|
|
461
461
|
//! <b>Complexity</b>: Linear in x.size().
|
|
462
|
-
|
|
462
|
+
inline flat_map(const flat_map& x, const allocator_type &a)
|
|
463
463
|
: m_flat_tree(x.m_flat_tree, dtl::force<const impl_allocator_type>(a))
|
|
464
464
|
{}
|
|
465
465
|
|
|
@@ -467,14 +467,14 @@ class flat_map
|
|
|
467
467
|
//! Constructs *this using x's resources.
|
|
468
468
|
//!
|
|
469
469
|
//! <b>Complexity</b>: Constant if x.get_allocator() == a, linear otherwise.
|
|
470
|
-
|
|
470
|
+
inline flat_map(BOOST_RV_REF(flat_map) x, const allocator_type &a)
|
|
471
471
|
: m_flat_tree(boost::move(x.m_flat_tree), dtl::force<const impl_allocator_type>(a))
|
|
472
472
|
{}
|
|
473
473
|
|
|
474
474
|
//! <b>Effects</b>: Makes *this a copy of x.
|
|
475
475
|
//!
|
|
476
476
|
//! <b>Complexity</b>: Linear in x.size().
|
|
477
|
-
|
|
477
|
+
inline flat_map& operator=(BOOST_COPY_ASSIGN_REF(flat_map) x)
|
|
478
478
|
{ m_flat_tree = x.m_flat_tree; return *this; }
|
|
479
479
|
|
|
480
480
|
//! <b>Effects</b>: Move constructs a flat_map.
|
|
@@ -486,7 +486,7 @@ class flat_map
|
|
|
486
486
|
//! <b>Complexity</b>: Constant if allocator_traits_type::
|
|
487
487
|
//! propagate_on_container_move_assignment is true or
|
|
488
488
|
//! this->get>allocator() == x.get_allocator(). Linear otherwise.
|
|
489
|
-
|
|
489
|
+
inline flat_map& operator=(BOOST_RV_REF(flat_map) x)
|
|
490
490
|
BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
|
|
491
491
|
allocator_traits_type::is_always_equal::value) &&
|
|
492
492
|
boost::container::dtl::is_nothrow_move_assignable<Compare>::value)
|
|
@@ -506,7 +506,7 @@ class flat_map
|
|
|
506
506
|
//! was passed to the object's constructor.
|
|
507
507
|
//!
|
|
508
508
|
//! <b>Complexity</b>: Constant.
|
|
509
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
509
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
510
510
|
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
511
511
|
{ return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
|
|
512
512
|
|
|
@@ -517,7 +517,7 @@ class flat_map
|
|
|
517
517
|
//! <b>Complexity</b>: Constant.
|
|
518
518
|
//!
|
|
519
519
|
//! <b>Note</b>: Non-standard extension.
|
|
520
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
520
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
521
521
|
get_stored_allocator_noconst_return_t get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
522
522
|
{
|
|
523
523
|
impl_get_stored_allocator_noconst_return_t r = m_flat_tree.get_stored_allocator();
|
|
@@ -531,7 +531,7 @@ class flat_map
|
|
|
531
531
|
//! <b>Complexity</b>: Constant.
|
|
532
532
|
//!
|
|
533
533
|
//! <b>Note</b>: Non-standard extension.
|
|
534
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
534
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
535
535
|
get_stored_allocator_const_return_t get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
536
536
|
{
|
|
537
537
|
impl_get_stored_allocator_const_return_t r = m_flat_tree.get_stored_allocator();
|
|
@@ -549,7 +549,7 @@ class flat_map
|
|
|
549
549
|
//! <b>Throws</b>: Nothing.
|
|
550
550
|
//!
|
|
551
551
|
//! <b>Complexity</b>: Constant.
|
|
552
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
552
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
553
553
|
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
554
554
|
{ return dtl::force_copy<iterator>(m_flat_tree.begin()); }
|
|
555
555
|
|
|
@@ -558,7 +558,7 @@ class flat_map
|
|
|
558
558
|
//! <b>Throws</b>: Nothing.
|
|
559
559
|
//!
|
|
560
560
|
//! <b>Complexity</b>: Constant.
|
|
561
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
561
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
562
562
|
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
563
563
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
|
|
564
564
|
|
|
@@ -567,7 +567,7 @@ class flat_map
|
|
|
567
567
|
//! <b>Throws</b>: Nothing.
|
|
568
568
|
//!
|
|
569
569
|
//! <b>Complexity</b>: Constant.
|
|
570
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
570
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
571
571
|
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
|
572
572
|
{ return dtl::force_copy<iterator>(m_flat_tree.end()); }
|
|
573
573
|
|
|
@@ -576,7 +576,7 @@ class flat_map
|
|
|
576
576
|
//! <b>Throws</b>: Nothing.
|
|
577
577
|
//!
|
|
578
578
|
//! <b>Complexity</b>: Constant.
|
|
579
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
579
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
580
580
|
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
581
581
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
|
|
582
582
|
|
|
@@ -586,7 +586,7 @@ class flat_map
|
|
|
586
586
|
//! <b>Throws</b>: Nothing.
|
|
587
587
|
//!
|
|
588
588
|
//! <b>Complexity</b>: Constant.
|
|
589
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
589
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
590
590
|
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
591
591
|
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
|
|
592
592
|
|
|
@@ -596,7 +596,7 @@ class flat_map
|
|
|
596
596
|
//! <b>Throws</b>: Nothing.
|
|
597
597
|
//!
|
|
598
598
|
//! <b>Complexity</b>: Constant.
|
|
599
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
599
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
600
600
|
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
601
601
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
|
|
602
602
|
|
|
@@ -606,7 +606,7 @@ class flat_map
|
|
|
606
606
|
//! <b>Throws</b>: Nothing.
|
|
607
607
|
//!
|
|
608
608
|
//! <b>Complexity</b>: Constant.
|
|
609
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
609
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
610
610
|
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
|
611
611
|
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
|
|
612
612
|
|
|
@@ -616,7 +616,7 @@ class flat_map
|
|
|
616
616
|
//! <b>Throws</b>: Nothing.
|
|
617
617
|
//!
|
|
618
618
|
//! <b>Complexity</b>: Constant.
|
|
619
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
619
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
620
620
|
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
621
621
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
|
|
622
622
|
|
|
@@ -625,7 +625,7 @@ class flat_map
|
|
|
625
625
|
//! <b>Throws</b>: Nothing.
|
|
626
626
|
//!
|
|
627
627
|
//! <b>Complexity</b>: Constant.
|
|
628
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
628
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
629
629
|
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
630
630
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
|
|
631
631
|
|
|
@@ -634,7 +634,7 @@ class flat_map
|
|
|
634
634
|
//! <b>Throws</b>: Nothing.
|
|
635
635
|
//!
|
|
636
636
|
//! <b>Complexity</b>: Constant.
|
|
637
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
637
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
638
638
|
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
639
639
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
|
|
640
640
|
|
|
@@ -644,7 +644,7 @@ class flat_map
|
|
|
644
644
|
//! <b>Throws</b>: Nothing.
|
|
645
645
|
//!
|
|
646
646
|
//! <b>Complexity</b>: Constant.
|
|
647
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
647
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
648
648
|
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
649
649
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
|
|
650
650
|
|
|
@@ -654,7 +654,7 @@ class flat_map
|
|
|
654
654
|
//! <b>Throws</b>: Nothing.
|
|
655
655
|
//!
|
|
656
656
|
//! <b>Complexity</b>: Constant.
|
|
657
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
657
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
658
658
|
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
659
659
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
|
|
660
660
|
|
|
@@ -669,7 +669,7 @@ class flat_map
|
|
|
669
669
|
//! <b>Throws</b>: Nothing.
|
|
670
670
|
//!
|
|
671
671
|
//! <b>Complexity</b>: Constant.
|
|
672
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
672
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
673
673
|
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
674
674
|
{ return m_flat_tree.empty(); }
|
|
675
675
|
|
|
@@ -678,7 +678,7 @@ class flat_map
|
|
|
678
678
|
//! <b>Throws</b>: Nothing.
|
|
679
679
|
//!
|
|
680
680
|
//! <b>Complexity</b>: Constant.
|
|
681
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
681
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
682
682
|
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
683
683
|
{ return m_flat_tree.size(); }
|
|
684
684
|
|
|
@@ -687,7 +687,7 @@ class flat_map
|
|
|
687
687
|
//! <b>Throws</b>: Nothing.
|
|
688
688
|
//!
|
|
689
689
|
//! <b>Complexity</b>: Constant.
|
|
690
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
690
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
691
691
|
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
692
692
|
{ return m_flat_tree.max_size(); }
|
|
693
693
|
|
|
@@ -697,7 +697,7 @@ class flat_map
|
|
|
697
697
|
//! <b>Throws</b>: Nothing.
|
|
698
698
|
//!
|
|
699
699
|
//! <b>Complexity</b>: Constant.
|
|
700
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
700
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
701
701
|
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
702
702
|
{ return m_flat_tree.capacity(); }
|
|
703
703
|
|
|
@@ -711,7 +711,7 @@ class flat_map
|
|
|
711
711
|
//!
|
|
712
712
|
//! <b>Note</b>: If capacity() is less than "cnt", iterators and references to
|
|
713
713
|
//! to values might be invalidated.
|
|
714
|
-
|
|
714
|
+
inline void reserve(size_type cnt)
|
|
715
715
|
{ m_flat_tree.reserve(cnt); }
|
|
716
716
|
|
|
717
717
|
//! <b>Effects</b>: Tries to deallocate the excess of memory created
|
|
@@ -720,7 +720,7 @@ class flat_map
|
|
|
720
720
|
//! <b>Throws</b>: If memory allocation throws, or T's copy constructor throws.
|
|
721
721
|
//!
|
|
722
722
|
//! <b>Complexity</b>: Linear to size().
|
|
723
|
-
|
|
723
|
+
inline void shrink_to_fit()
|
|
724
724
|
{ m_flat_tree.shrink_to_fit(); }
|
|
725
725
|
|
|
726
726
|
//////////////////////////////////////////////
|
|
@@ -747,8 +747,8 @@ class flat_map
|
|
|
747
747
|
mapped_type &operator[](key_type &&k);
|
|
748
748
|
#elif defined(BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN)
|
|
749
749
|
//in compilers like GCC 3.4, we can't catch temporaries
|
|
750
|
-
|
|
751
|
-
|
|
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)); }
|
|
752
752
|
#else
|
|
753
753
|
BOOST_MOVE_CONVERSION_AWARE_CATCH( operator[] , key_type, mapped_type&, this->priv_subscript)
|
|
754
754
|
#endif
|
|
@@ -766,7 +766,7 @@ class flat_map
|
|
|
766
766
|
//!
|
|
767
767
|
//! Complexity: Logarithmic search time plus linear insertion time in case no equivalent key is present.
|
|
768
768
|
template <class M>
|
|
769
|
-
|
|
769
|
+
inline std::pair<iterator, bool> insert_or_assign(const key_type& k, BOOST_FWD_REF(M) obj)
|
|
770
770
|
{
|
|
771
771
|
return dtl::force_copy< std::pair<iterator, bool> >
|
|
772
772
|
(this->m_flat_tree.insert_or_assign
|
|
@@ -787,7 +787,7 @@ class flat_map
|
|
|
787
787
|
//!
|
|
788
788
|
//! Complexity: Logarithmic in the size of the container.
|
|
789
789
|
template <class M>
|
|
790
|
-
|
|
790
|
+
inline std::pair<iterator, bool> insert_or_assign(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
|
|
791
791
|
{
|
|
792
792
|
return dtl::force_copy< std::pair<iterator, bool> >
|
|
793
793
|
(this->m_flat_tree.insert_or_assign
|
|
@@ -810,7 +810,7 @@ class flat_map
|
|
|
810
810
|
//! Complexity: Logarithmic in the size of the container in general, but amortized constant if
|
|
811
811
|
//! the new element is inserted just before hint.
|
|
812
812
|
template <class M>
|
|
813
|
-
|
|
813
|
+
inline iterator insert_or_assign(const_iterator hint, const key_type& k, BOOST_FWD_REF(M) obj)
|
|
814
814
|
{
|
|
815
815
|
return dtl::force_copy<iterator>
|
|
816
816
|
(this->m_flat_tree.insert_or_assign
|
|
@@ -834,7 +834,7 @@ class flat_map
|
|
|
834
834
|
//! Complexity: Logarithmic in the size of the container in general, but amortized constant if
|
|
835
835
|
//! the new element is inserted just before hint.
|
|
836
836
|
template <class M>
|
|
837
|
-
|
|
837
|
+
inline iterator insert_or_assign(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
|
|
838
838
|
{
|
|
839
839
|
return dtl::force_copy<iterator>
|
|
840
840
|
(this->m_flat_tree.insert_or_assign
|
|
@@ -844,22 +844,22 @@ class flat_map
|
|
|
844
844
|
}
|
|
845
845
|
|
|
846
846
|
//! @copydoc ::boost::container::flat_set::nth(size_type)
|
|
847
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
847
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
848
848
|
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
849
849
|
{ return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
|
|
850
850
|
|
|
851
851
|
//! @copydoc ::boost::container::flat_set::nth(size_type) const
|
|
852
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
852
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
853
853
|
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
854
854
|
{ return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
|
|
855
855
|
|
|
856
856
|
//! @copydoc ::boost::container::flat_set::index_of(iterator)
|
|
857
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
857
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
858
858
|
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
|
859
859
|
{ return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
|
|
860
860
|
|
|
861
861
|
//! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
|
|
862
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
862
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
863
863
|
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
864
864
|
{ return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
|
|
865
865
|
|
|
@@ -912,7 +912,7 @@ class flat_map
|
|
|
912
912
|
//!
|
|
913
913
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
914
914
|
template <class... Args>
|
|
915
|
-
|
|
915
|
+
inline std::pair<iterator,bool> emplace(BOOST_FWD_REF(Args)... args)
|
|
916
916
|
{ return dtl::force_copy< std::pair<iterator, bool> >(m_flat_tree.emplace_unique(boost::forward<Args>(args)...)); }
|
|
917
917
|
|
|
918
918
|
//! <b>Effects</b>: Inserts an object of type T constructed with
|
|
@@ -928,7 +928,7 @@ class flat_map
|
|
|
928
928
|
//!
|
|
929
929
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
930
930
|
template <class... Args>
|
|
931
|
-
|
|
931
|
+
inline iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
|
|
932
932
|
{
|
|
933
933
|
return dtl::force_copy<iterator>
|
|
934
934
|
(m_flat_tree.emplace_hint_unique( dtl::force_copy<impl_const_iterator>(hint)
|
|
@@ -947,7 +947,7 @@ class flat_map
|
|
|
947
947
|
//!
|
|
948
948
|
//! <b>Complexity</b>: Logarithmic.
|
|
949
949
|
template <class... Args>
|
|
950
|
-
|
|
950
|
+
inline std::pair<iterator, bool> try_emplace(const key_type& k, BOOST_FWD_REF(Args)... args)
|
|
951
951
|
{
|
|
952
952
|
return dtl::force_copy< std::pair<iterator, bool> >(
|
|
953
953
|
m_flat_tree.try_emplace(impl_const_iterator(), k, boost::forward<Args>(args)...));
|
|
@@ -965,7 +965,7 @@ class flat_map
|
|
|
965
965
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if value
|
|
966
966
|
//! is inserted right before p.
|
|
967
967
|
template <class... Args>
|
|
968
|
-
|
|
968
|
+
inline iterator try_emplace(const_iterator hint, const key_type &k, BOOST_FWD_REF(Args)... args)
|
|
969
969
|
{
|
|
970
970
|
return dtl::force_copy<iterator>(m_flat_tree.try_emplace
|
|
971
971
|
(dtl::force_copy<impl_const_iterator>(hint), k, boost::forward<Args>(args)...).first);
|
|
@@ -983,7 +983,7 @@ class flat_map
|
|
|
983
983
|
//!
|
|
984
984
|
//! <b>Complexity</b>: Logarithmic search time plus linear insertion time in case the key is not present.
|
|
985
985
|
template <class... Args>
|
|
986
|
-
|
|
986
|
+
inline std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
|
|
987
987
|
{
|
|
988
988
|
return dtl::force_copy< std::pair<iterator, bool> >
|
|
989
989
|
(m_flat_tree.try_emplace(impl_const_iterator(), boost::move(k), boost::forward<Args>(args)...));
|
|
@@ -1001,7 +1001,7 @@ class flat_map
|
|
|
1001
1001
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if value
|
|
1002
1002
|
//! is inserted right before p. Linear insertion time in case no equivalent key is present.
|
|
1003
1003
|
template <class... Args>
|
|
1004
|
-
|
|
1004
|
+
inline iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
|
|
1005
1005
|
{
|
|
1006
1006
|
return dtl::force_copy<iterator>
|
|
1007
1007
|
(m_flat_tree.try_emplace(dtl::force_copy
|
|
@@ -1012,39 +1012,39 @@ class flat_map
|
|
|
1012
1012
|
|
|
1013
1013
|
#define BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE(N) \
|
|
1014
1014
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1015
|
-
|
|
1015
|
+
inline std::pair<iterator,bool> emplace(BOOST_MOVE_UREF##N)\
|
|
1016
1016
|
{\
|
|
1017
1017
|
return dtl::force_copy< std::pair<iterator, bool> >\
|
|
1018
1018
|
(m_flat_tree.emplace_unique(BOOST_MOVE_FWD##N));\
|
|
1019
1019
|
}\
|
|
1020
1020
|
\
|
|
1021
1021
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1022
|
-
|
|
1022
|
+
inline iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1023
1023
|
{\
|
|
1024
1024
|
return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_unique\
|
|
1025
1025
|
(dtl::force_copy<impl_const_iterator>(hint) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
|
|
1026
1026
|
}\
|
|
1027
1027
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1028
|
-
|
|
1028
|
+
inline std::pair<iterator, bool> try_emplace(const key_type& k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1029
1029
|
{\
|
|
1030
1030
|
return dtl::force_copy< std::pair<iterator, bool> >\
|
|
1031
1031
|
(m_flat_tree.try_emplace(impl_const_iterator(), k BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
|
|
1032
1032
|
}\
|
|
1033
1033
|
\
|
|
1034
1034
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1035
|
-
|
|
1035
|
+
inline iterator try_emplace(const_iterator hint, const key_type &k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1036
1036
|
{ return dtl::force_copy<iterator>(m_flat_tree.try_emplace\
|
|
1037
1037
|
(dtl::force_copy<impl_const_iterator>(hint), k BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first); }\
|
|
1038
1038
|
\
|
|
1039
1039
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1040
|
-
|
|
1040
|
+
inline std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1041
1041
|
{\
|
|
1042
1042
|
return dtl::force_copy< std::pair<iterator, bool> >\
|
|
1043
1043
|
(m_flat_tree.try_emplace(impl_const_iterator(), boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
|
|
1044
1044
|
}\
|
|
1045
1045
|
\
|
|
1046
1046
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
1047
|
-
|
|
1047
|
+
inline iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1048
1048
|
{ return dtl::force_copy<iterator>(m_flat_tree.try_emplace\
|
|
1049
1049
|
(dtl::force_copy<impl_const_iterator>(hint), boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first); }\
|
|
1050
1050
|
//
|
|
@@ -1064,7 +1064,7 @@ class flat_map
|
|
|
1064
1064
|
//! to the elements with bigger keys than x.
|
|
1065
1065
|
//!
|
|
1066
1066
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1067
|
-
|
|
1067
|
+
inline std::pair<iterator,bool> insert(const value_type& x)
|
|
1068
1068
|
{ return dtl::force_copy<std::pair<iterator,bool> >(
|
|
1069
1069
|
m_flat_tree.insert_unique(dtl::force<const impl_value_type>(x))); }
|
|
1070
1070
|
|
|
@@ -1079,7 +1079,7 @@ class flat_map
|
|
|
1079
1079
|
//! to the elements with bigger keys than x.
|
|
1080
1080
|
//!
|
|
1081
1081
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1082
|
-
|
|
1082
|
+
inline std::pair<iterator,bool> insert(BOOST_RV_REF(value_type) x)
|
|
1083
1083
|
{
|
|
1084
1084
|
return dtl::force_copy<std::pair<iterator,bool> >(
|
|
1085
1085
|
m_flat_tree.insert_unique(boost::move(dtl::force<impl_value_type>(x))));
|
|
@@ -1097,7 +1097,7 @@ class flat_map
|
|
|
1097
1097
|
//!
|
|
1098
1098
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1099
1099
|
template <class Pair>
|
|
1100
|
-
|
|
1100
|
+
inline BOOST_CONTAINER_DOC1ST
|
|
1101
1101
|
( std::pair<iterator BOOST_MOVE_I bool>
|
|
1102
1102
|
, typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
|
|
1103
1103
|
BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool> >::type)
|
|
@@ -1118,7 +1118,7 @@ class flat_map
|
|
|
1118
1118
|
//! right before p) plus insertion linear to the elements with bigger keys than x.
|
|
1119
1119
|
//!
|
|
1120
1120
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1121
|
-
|
|
1121
|
+
inline iterator insert(const_iterator p, const value_type& x)
|
|
1122
1122
|
{
|
|
1123
1123
|
return dtl::force_copy<iterator>(
|
|
1124
1124
|
m_flat_tree.insert_unique( dtl::force_copy<impl_const_iterator>(p)
|
|
@@ -1134,7 +1134,7 @@ class flat_map
|
|
|
1134
1134
|
//! right before p) plus insertion linear to the elements with bigger keys than x.
|
|
1135
1135
|
//!
|
|
1136
1136
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1137
|
-
|
|
1137
|
+
inline iterator insert(const_iterator p, BOOST_RV_REF(value_type) x)
|
|
1138
1138
|
{
|
|
1139
1139
|
return dtl::force_copy<iterator>
|
|
1140
1140
|
(m_flat_tree.insert_unique( dtl::force_copy<impl_const_iterator>(p)
|
|
@@ -1151,7 +1151,7 @@ class flat_map
|
|
|
1151
1151
|
//!
|
|
1152
1152
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1153
1153
|
template <class Pair>
|
|
1154
|
-
|
|
1154
|
+
inline BOOST_CONTAINER_DOC1ST
|
|
1155
1155
|
( iterator
|
|
1156
1156
|
, typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
|
|
1157
1157
|
BOOST_MOVE_I iterator>::type)
|
|
@@ -1170,7 +1170,7 @@ class flat_map
|
|
|
1170
1170
|
//!
|
|
1171
1171
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1172
1172
|
template <class InputIterator>
|
|
1173
|
-
|
|
1173
|
+
inline void insert(InputIterator first, InputIterator last)
|
|
1174
1174
|
{ m_flat_tree.insert_unique(first, last); }
|
|
1175
1175
|
|
|
1176
1176
|
//! <b>Requires</b>: first, last are not iterators into *this.
|
|
@@ -1188,7 +1188,7 @@ class flat_map
|
|
|
1188
1188
|
//!
|
|
1189
1189
|
//! <b>Note</b>: Non-standard extension.
|
|
1190
1190
|
template <class InputIterator>
|
|
1191
|
-
|
|
1191
|
+
inline void insert(ordered_unique_range_t, InputIterator first, InputIterator last)
|
|
1192
1192
|
{ m_flat_tree.insert_unique(ordered_unique_range, first, last); }
|
|
1193
1193
|
|
|
1194
1194
|
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
@@ -1198,7 +1198,7 @@ class flat_map
|
|
|
1198
1198
|
//! <b>Complexity</b>: N log(N).
|
|
1199
1199
|
//!
|
|
1200
1200
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1201
|
-
|
|
1201
|
+
inline void insert(std::initializer_list<value_type> il)
|
|
1202
1202
|
{
|
|
1203
1203
|
m_flat_tree.insert_unique( dtl::force<impl_initializer_list>(il).begin()
|
|
1204
1204
|
, dtl::force<impl_initializer_list>(il).end());
|
|
@@ -1216,7 +1216,7 @@ class flat_map
|
|
|
1216
1216
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
1217
1217
|
//!
|
|
1218
1218
|
//! <b>Note</b>: Non-standard extension.
|
|
1219
|
-
|
|
1219
|
+
inline void insert(ordered_unique_range_t, std::initializer_list<value_type> il)
|
|
1220
1220
|
{
|
|
1221
1221
|
m_flat_tree.insert_unique(ordered_unique_range
|
|
1222
1222
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -1234,22 +1234,22 @@ class flat_map
|
|
|
1234
1234
|
//!
|
|
1235
1235
|
//! <b>Note</b>: Invalidates all iterators and references.
|
|
1236
1236
|
template<class C2>
|
|
1237
|
-
|
|
1237
|
+
inline void merge(flat_map<Key, T, C2, AllocatorOrContainer>& source)
|
|
1238
1238
|
{ m_flat_tree.merge_unique(source.tree()); }
|
|
1239
1239
|
|
|
1240
1240
|
//! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
|
|
1241
1241
|
template<class C2>
|
|
1242
|
-
|
|
1242
|
+
inline void merge(BOOST_RV_REF_BEG flat_map<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
|
|
1243
1243
|
{ return this->merge(static_cast<flat_map<Key, T, C2, AllocatorOrContainer>&>(source)); }
|
|
1244
1244
|
|
|
1245
1245
|
//! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
|
|
1246
1246
|
template<class C2>
|
|
1247
|
-
|
|
1247
|
+
inline void merge(flat_multimap<Key, T, C2, AllocatorOrContainer>& source)
|
|
1248
1248
|
{ m_flat_tree.merge_unique(source.tree()); }
|
|
1249
1249
|
|
|
1250
1250
|
//! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
|
|
1251
1251
|
template<class C2>
|
|
1252
|
-
|
|
1252
|
+
inline void merge(BOOST_RV_REF_BEG flat_multimap<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
|
|
1253
1253
|
{ return this->merge(static_cast<flat_multimap<Key, T, C2, AllocatorOrContainer>&>(source)); }
|
|
1254
1254
|
|
|
1255
1255
|
//! <b>Effects</b>: Erases the element pointed to by p.
|
|
@@ -1262,7 +1262,7 @@ class flat_map
|
|
|
1262
1262
|
//!
|
|
1263
1263
|
//! <b>Note</b>: Invalidates elements with keys
|
|
1264
1264
|
//! not less than the erased element.
|
|
1265
|
-
|
|
1265
|
+
inline iterator erase(const_iterator p)
|
|
1266
1266
|
{
|
|
1267
1267
|
return dtl::force_copy<iterator>
|
|
1268
1268
|
(m_flat_tree.erase(dtl::force_copy<impl_const_iterator>(p)));
|
|
@@ -1274,7 +1274,7 @@ class flat_map
|
|
|
1274
1274
|
//!
|
|
1275
1275
|
//! <b>Complexity</b>: Logarithmic search time plus erasure time
|
|
1276
1276
|
//! linear to the elements with bigger keys.
|
|
1277
|
-
|
|
1277
|
+
inline size_type erase(const key_type& x)
|
|
1278
1278
|
{ return m_flat_tree.erase_unique(x); }
|
|
1279
1279
|
|
|
1280
1280
|
//! <b>Effects</b>: Erases all the elements in the range [first, last).
|
|
@@ -1285,7 +1285,7 @@ class flat_map
|
|
|
1285
1285
|
//!
|
|
1286
1286
|
//! <b>Complexity</b>: Logarithmic search time plus erasure time
|
|
1287
1287
|
//! linear to the elements with bigger keys.
|
|
1288
|
-
|
|
1288
|
+
inline iterator erase(const_iterator first, const_iterator last)
|
|
1289
1289
|
{
|
|
1290
1290
|
return dtl::force_copy<iterator>(
|
|
1291
1291
|
m_flat_tree.erase( dtl::force_copy<impl_const_iterator>(first)
|
|
@@ -1297,7 +1297,7 @@ class flat_map
|
|
|
1297
1297
|
//! <b>Throws</b>: Nothing.
|
|
1298
1298
|
//!
|
|
1299
1299
|
//! <b>Complexity</b>: Constant.
|
|
1300
|
-
|
|
1300
|
+
inline void swap(flat_map& x)
|
|
1301
1301
|
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
|
1302
1302
|
&& boost::container::dtl::is_nothrow_swappable<Compare>::value )
|
|
1303
1303
|
{ m_flat_tree.swap(x.m_flat_tree); }
|
|
@@ -1307,7 +1307,7 @@ class flat_map
|
|
|
1307
1307
|
//! <b>Postcondition</b>: size() == 0.
|
|
1308
1308
|
//!
|
|
1309
1309
|
//! <b>Complexity</b>: linear in size().
|
|
1310
|
-
|
|
1310
|
+
inline void clear() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1311
1311
|
{ m_flat_tree.clear(); }
|
|
1312
1312
|
|
|
1313
1313
|
//////////////////////////////////////////////
|
|
@@ -1320,7 +1320,7 @@ class flat_map
|
|
|
1320
1320
|
//! of which a was constructed.
|
|
1321
1321
|
//!
|
|
1322
1322
|
//! <b>Complexity</b>: Constant.
|
|
1323
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1323
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1324
1324
|
key_compare key_comp() const
|
|
1325
1325
|
{ return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
|
|
1326
1326
|
|
|
@@ -1328,7 +1328,7 @@ class flat_map
|
|
|
1328
1328
|
//! of the comparison object.
|
|
1329
1329
|
//!
|
|
1330
1330
|
//! <b>Complexity</b>: Constant.
|
|
1331
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1331
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1332
1332
|
value_compare value_comp() const
|
|
1333
1333
|
{ return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
|
|
1334
1334
|
|
|
@@ -1342,7 +1342,7 @@ class flat_map
|
|
|
1342
1342
|
//! equivalent to x, or end() if such an element is not found.
|
|
1343
1343
|
//!
|
|
1344
1344
|
//! <b>Complexity</b>: Logarithmic.
|
|
1345
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1345
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1346
1346
|
iterator find(const key_type& x)
|
|
1347
1347
|
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
|
1348
1348
|
|
|
@@ -1350,7 +1350,7 @@ class flat_map
|
|
|
1350
1350
|
//! equivalent to x, or end() if such an element is not found.
|
|
1351
1351
|
//!
|
|
1352
1352
|
//! <b>Complexity</b>: Logarithmic.
|
|
1353
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1353
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1354
1354
|
const_iterator find(const key_type& x) const
|
|
1355
1355
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
|
1356
1356
|
|
|
@@ -1362,7 +1362,7 @@ class flat_map
|
|
|
1362
1362
|
//!
|
|
1363
1363
|
//! <b>Complexity</b>: Logarithmic.
|
|
1364
1364
|
template<class K>
|
|
1365
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1365
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1366
1366
|
iterator find(const K& x)
|
|
1367
1367
|
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
|
1368
1368
|
|
|
@@ -1374,14 +1374,14 @@ class flat_map
|
|
|
1374
1374
|
//!
|
|
1375
1375
|
//! <b>Complexity</b>: Logarithmic.
|
|
1376
1376
|
template<class K>
|
|
1377
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1377
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1378
1378
|
const_iterator find(const K& x) const
|
|
1379
1379
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
|
1380
1380
|
|
|
1381
1381
|
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
|
1382
1382
|
//!
|
|
1383
1383
|
//! <b>Complexity</b>: log(size())+count(k)
|
|
1384
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1384
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1385
1385
|
size_type count(const key_type& x) const
|
|
1386
1386
|
{ return static_cast<size_type>(m_flat_tree.find(x) != m_flat_tree.end()); }
|
|
1387
1387
|
|
|
@@ -1392,7 +1392,7 @@ class flat_map
|
|
|
1392
1392
|
//!
|
|
1393
1393
|
//! <b>Complexity</b>: log(size())+count(k)
|
|
1394
1394
|
template<class K>
|
|
1395
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1395
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1396
1396
|
size_type count(const K& x) const
|
|
1397
1397
|
//Don't use find() != end optimization here as transparent comparators with key K might
|
|
1398
1398
|
//return a different range than key_type (which can only return a single element range)
|
|
@@ -1402,7 +1402,7 @@ class flat_map
|
|
|
1402
1402
|
//! equivalent to key in the container, otherwise false.
|
|
1403
1403
|
//!
|
|
1404
1404
|
//! <b>Complexity</b>: log(size()).
|
|
1405
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1405
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1406
1406
|
bool contains(const key_type& x) const
|
|
1407
1407
|
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
|
1408
1408
|
|
|
@@ -1414,7 +1414,7 @@ class flat_map
|
|
|
1414
1414
|
//!
|
|
1415
1415
|
//! <b>Complexity</b>: log(size()).
|
|
1416
1416
|
template<typename K>
|
|
1417
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1417
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1418
1418
|
bool contains(const K& x) const
|
|
1419
1419
|
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
|
1420
1420
|
|
|
@@ -1422,7 +1422,7 @@ class flat_map
|
|
|
1422
1422
|
//! than x, or end() if such an element is not found.
|
|
1423
1423
|
//!
|
|
1424
1424
|
//! <b>Complexity</b>: Logarithmic.
|
|
1425
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1425
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1426
1426
|
iterator lower_bound(const key_type& x)
|
|
1427
1427
|
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
|
1428
1428
|
|
|
@@ -1430,7 +1430,7 @@ class flat_map
|
|
|
1430
1430
|
//! less than x, or end() if such an element is not found.
|
|
1431
1431
|
//!
|
|
1432
1432
|
//! <b>Complexity</b>: Logarithmic.
|
|
1433
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1433
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1434
1434
|
const_iterator lower_bound(const key_type& x) const
|
|
1435
1435
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
|
1436
1436
|
|
|
@@ -1442,7 +1442,7 @@ class flat_map
|
|
|
1442
1442
|
//!
|
|
1443
1443
|
//! <b>Complexity</b>: Logarithmic.
|
|
1444
1444
|
template<class K>
|
|
1445
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1445
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1446
1446
|
iterator lower_bound(const K& x)
|
|
1447
1447
|
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
|
1448
1448
|
|
|
@@ -1454,7 +1454,7 @@ class flat_map
|
|
|
1454
1454
|
//!
|
|
1455
1455
|
//! <b>Complexity</b>: Logarithmic.
|
|
1456
1456
|
template<class K>
|
|
1457
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1457
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1458
1458
|
const_iterator lower_bound(const K& x) const
|
|
1459
1459
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
|
1460
1460
|
|
|
@@ -1462,7 +1462,7 @@ class flat_map
|
|
|
1462
1462
|
//! than x, or end() if such an element is not found.
|
|
1463
1463
|
//!
|
|
1464
1464
|
//! <b>Complexity</b>: Logarithmic.
|
|
1465
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1465
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1466
1466
|
iterator upper_bound(const key_type& x)
|
|
1467
1467
|
{ return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
|
1468
1468
|
|
|
@@ -1470,7 +1470,7 @@ class flat_map
|
|
|
1470
1470
|
//! greater than x, or end() if such an element is not found.
|
|
1471
1471
|
//!
|
|
1472
1472
|
//! <b>Complexity</b>: Logarithmic.
|
|
1473
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1473
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1474
1474
|
const_iterator upper_bound(const key_type& x) const
|
|
1475
1475
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
|
1476
1476
|
|
|
@@ -1482,7 +1482,7 @@ class flat_map
|
|
|
1482
1482
|
//!
|
|
1483
1483
|
//! <b>Complexity</b>: Logarithmic.
|
|
1484
1484
|
template<class K>
|
|
1485
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1485
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1486
1486
|
iterator upper_bound(const K& x)
|
|
1487
1487
|
{ return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
|
1488
1488
|
|
|
@@ -1494,21 +1494,21 @@ class flat_map
|
|
|
1494
1494
|
//!
|
|
1495
1495
|
//! <b>Complexity</b>: Logarithmic.
|
|
1496
1496
|
template<class K>
|
|
1497
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1497
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1498
1498
|
const_iterator upper_bound(const K& x) const
|
|
1499
1499
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
|
1500
1500
|
|
|
1501
1501
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
|
1502
1502
|
//!
|
|
1503
1503
|
//! <b>Complexity</b>: Logarithmic.
|
|
1504
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1504
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1505
1505
|
std::pair<iterator,iterator> equal_range(const key_type& x)
|
|
1506
1506
|
{ return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.lower_bound_range(x)); }
|
|
1507
1507
|
|
|
1508
1508
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
|
1509
1509
|
//!
|
|
1510
1510
|
//! <b>Complexity</b>: Logarithmic.
|
|
1511
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1511
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1512
1512
|
std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
|
|
1513
1513
|
{ return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.lower_bound_range(x)); }
|
|
1514
1514
|
|
|
@@ -1519,7 +1519,7 @@ class flat_map
|
|
|
1519
1519
|
//!
|
|
1520
1520
|
//! <b>Complexity</b>: Logarithmic.
|
|
1521
1521
|
template<class K>
|
|
1522
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1522
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1523
1523
|
std::pair<iterator,iterator> equal_range(const K& x)
|
|
1524
1524
|
//Don't use lower_bound_range optimization here as transparent comparators with key K might
|
|
1525
1525
|
//return a different range than key_type (which can only return a single element range)
|
|
@@ -1532,7 +1532,7 @@ class flat_map
|
|
|
1532
1532
|
//!
|
|
1533
1533
|
//! <b>Complexity</b>: Logarithmic.
|
|
1534
1534
|
template<class K>
|
|
1535
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1535
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1536
1536
|
std::pair<const_iterator, const_iterator> equal_range(const K& x) const
|
|
1537
1537
|
//Don't use lower_bound_range optimization here as transparent comparators with key K might
|
|
1538
1538
|
//return a different range than key_type (which can only return a single element range)
|
|
@@ -1545,7 +1545,7 @@ class flat_map
|
|
|
1545
1545
|
//! <b>Postcondition</b>: this->empty()
|
|
1546
1546
|
//!
|
|
1547
1547
|
//! <b>Throws</b>: If secuence_type's move constructor throws
|
|
1548
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1548
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline sequence_type extract_sequence()
|
|
1549
1549
|
{
|
|
1550
1550
|
return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref()));
|
|
1551
1551
|
}
|
|
@@ -1556,7 +1556,7 @@ class flat_map
|
|
|
1556
1556
|
//! <b>Complexity</b>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()
|
|
1557
1557
|
//!
|
|
1558
1558
|
//! <b>Throws</b>: If the comparison or the move constructor throws
|
|
1559
|
-
|
|
1559
|
+
inline void adopt_sequence(BOOST_RV_REF(sequence_type) seq)
|
|
1560
1560
|
{ this->m_flat_tree.adopt_sequence_unique(boost::move(dtl::force<impl_sequence_type>(seq))); }
|
|
1561
1561
|
|
|
1562
1562
|
//! <b>Requires</b>: seq shall be ordered according to this->compare()
|
|
@@ -1568,7 +1568,7 @@ class flat_map
|
|
|
1568
1568
|
//! <b>Complexity</b>: Assuming O(1) move assignment, O(1)
|
|
1569
1569
|
//!
|
|
1570
1570
|
//! <b>Throws</b>: If the move assignment throws
|
|
1571
|
-
|
|
1571
|
+
inline void adopt_sequence(ordered_unique_range_t, BOOST_RV_REF(sequence_type) seq)
|
|
1572
1572
|
{ this->m_flat_tree.adopt_sequence_unique(ordered_unique_range_t(), boost::move(dtl::force<impl_sequence_type>(seq))); }
|
|
1573
1573
|
|
|
1574
1574
|
//! <b>Effects</b>: Returns a const view of the underlying sequence.
|
|
@@ -1576,55 +1576,55 @@ class flat_map
|
|
|
1576
1576
|
//! <b>Complexity</b>: Constant
|
|
1577
1577
|
//!
|
|
1578
1578
|
//! <b>Throws</b>: Nothing
|
|
1579
|
-
|
|
1579
|
+
inline const sequence_type & sequence() const BOOST_NOEXCEPT
|
|
1580
1580
|
{ return dtl::force<sequence_type>(m_flat_tree.get_sequence_cref()); }
|
|
1581
1581
|
|
|
1582
1582
|
//! <b>Effects</b>: Returns true if x and y are equal
|
|
1583
1583
|
//!
|
|
1584
1584
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1585
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1585
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1586
1586
|
friend bool operator==(const flat_map& x, const flat_map& y)
|
|
1587
1587
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
|
1588
1588
|
|
|
1589
1589
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
|
1590
1590
|
//!
|
|
1591
1591
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1592
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1592
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1593
1593
|
friend bool operator!=(const flat_map& x, const flat_map& y)
|
|
1594
1594
|
{ return !(x == y); }
|
|
1595
1595
|
|
|
1596
1596
|
//! <b>Effects</b>: Returns true if x is less than y
|
|
1597
1597
|
//!
|
|
1598
1598
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1599
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1599
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1600
1600
|
friend bool operator<(const flat_map& x, const flat_map& y)
|
|
1601
1601
|
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
|
1602
1602
|
|
|
1603
1603
|
//! <b>Effects</b>: Returns true if x is greater than y
|
|
1604
1604
|
//!
|
|
1605
1605
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1606
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1606
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1607
1607
|
friend bool operator>(const flat_map& x, const flat_map& y)
|
|
1608
1608
|
{ return y < x; }
|
|
1609
1609
|
|
|
1610
1610
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
|
1611
1611
|
//!
|
|
1612
1612
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1613
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1613
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1614
1614
|
friend bool operator<=(const flat_map& x, const flat_map& y)
|
|
1615
1615
|
{ return !(y < x); }
|
|
1616
1616
|
|
|
1617
1617
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
|
1618
1618
|
//!
|
|
1619
1619
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1620
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
1620
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
1621
1621
|
friend bool operator>=(const flat_map& x, const flat_map& y)
|
|
1622
1622
|
{ return !(x < y); }
|
|
1623
1623
|
|
|
1624
1624
|
//! <b>Effects</b>: x.swap(y)
|
|
1625
1625
|
//!
|
|
1626
1626
|
//! <b>Complexity</b>: Constant.
|
|
1627
|
-
|
|
1627
|
+
inline friend void swap(flat_map& x, flat_map& y)
|
|
1628
1628
|
BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
|
|
1629
1629
|
{ x.swap(y); }
|
|
1630
1630
|
|
|
@@ -1812,10 +1812,10 @@ class flat_multimap
|
|
|
1812
1812
|
typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type;
|
|
1813
1813
|
typedef typename impl_tree_t::sequence_type impl_sequence_type;
|
|
1814
1814
|
|
|
1815
|
-
|
|
1815
|
+
inline impl_tree_t &tree()
|
|
1816
1816
|
{ return m_flat_tree; }
|
|
1817
1817
|
|
|
1818
|
-
|
|
1818
|
+
inline const impl_tree_t &tree() const
|
|
1819
1819
|
{ return m_flat_tree; }
|
|
1820
1820
|
|
|
1821
1821
|
private:
|
|
@@ -1851,7 +1851,7 @@ class flat_multimap
|
|
|
1851
1851
|
typedef BOOST_CONTAINER_IMPDEF(impl_value_type) movable_value_type;
|
|
1852
1852
|
|
|
1853
1853
|
//AllocatorOrContainer::value_type must be std::pair<Key, T>
|
|
1854
|
-
|
|
1854
|
+
BOOST_CONTAINER_STATIC_ASSERT((dtl::is_same<std::pair<Key, T>, value_type>::value));
|
|
1855
1855
|
|
|
1856
1856
|
//////////////////////////////////////////////
|
|
1857
1857
|
//
|
|
@@ -1862,7 +1862,7 @@ class flat_multimap
|
|
|
1862
1862
|
//! <b>Effects</b>: Default constructs an empty flat_map.
|
|
1863
1863
|
//!
|
|
1864
1864
|
//! <b>Complexity</b>: Constant.
|
|
1865
|
-
|
|
1865
|
+
inline flat_multimap()
|
|
1866
1866
|
BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<AllocatorOrContainer>::value &&
|
|
1867
1867
|
dtl::is_nothrow_default_constructible<Compare>::value)
|
|
1868
1868
|
: m_flat_tree()
|
|
@@ -1871,7 +1871,7 @@ class flat_multimap
|
|
|
1871
1871
|
//! <b>Effects</b>: Constructs an empty flat_multimap using the specified allocator.
|
|
1872
1872
|
//!
|
|
1873
1873
|
//! <b>Complexity</b>: Constant.
|
|
1874
|
-
|
|
1874
|
+
inline explicit flat_multimap(const allocator_type& a)
|
|
1875
1875
|
: m_flat_tree(dtl::force<const impl_allocator_type>(a))
|
|
1876
1876
|
{}
|
|
1877
1877
|
|
|
@@ -1879,7 +1879,7 @@ class flat_multimap
|
|
|
1879
1879
|
//! object .
|
|
1880
1880
|
//!
|
|
1881
1881
|
//! <b>Complexity</b>: Constant.
|
|
1882
|
-
|
|
1882
|
+
inline explicit flat_multimap(const Compare& comp)
|
|
1883
1883
|
: m_flat_tree(comp)
|
|
1884
1884
|
{}
|
|
1885
1885
|
|
|
@@ -1887,7 +1887,7 @@ class flat_multimap
|
|
|
1887
1887
|
//! object and allocator.
|
|
1888
1888
|
//!
|
|
1889
1889
|
//! <b>Complexity</b>: Constant.
|
|
1890
|
-
|
|
1890
|
+
inline
|
|
1891
1891
|
flat_multimap(const Compare& comp, const allocator_type& a)
|
|
1892
1892
|
: m_flat_tree(comp, dtl::force<const impl_allocator_type>(a))
|
|
1893
1893
|
{}
|
|
@@ -1898,7 +1898,7 @@ class flat_multimap
|
|
|
1898
1898
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1899
1899
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
1900
1900
|
template <class InputIterator>
|
|
1901
|
-
|
|
1901
|
+
inline
|
|
1902
1902
|
flat_multimap(InputIterator first, InputIterator last)
|
|
1903
1903
|
: m_flat_tree(false, first, last)
|
|
1904
1904
|
{}
|
|
@@ -1909,7 +1909,7 @@ class flat_multimap
|
|
|
1909
1909
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1910
1910
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
1911
1911
|
template <class InputIterator>
|
|
1912
|
-
|
|
1912
|
+
inline
|
|
1913
1913
|
flat_multimap(InputIterator first, InputIterator last, const allocator_type& a)
|
|
1914
1914
|
: m_flat_tree(false, first, last, dtl::force<const impl_allocator_type>(a))
|
|
1915
1915
|
{}
|
|
@@ -1920,7 +1920,7 @@ class flat_multimap
|
|
|
1920
1920
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1921
1921
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
1922
1922
|
template <class InputIterator>
|
|
1923
|
-
|
|
1923
|
+
inline
|
|
1924
1924
|
flat_multimap(InputIterator first, InputIterator last, const Compare& comp)
|
|
1925
1925
|
: m_flat_tree(false, first, last, comp)
|
|
1926
1926
|
{}
|
|
@@ -1931,7 +1931,7 @@ class flat_multimap
|
|
|
1931
1931
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1932
1932
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
1933
1933
|
template <class InputIterator>
|
|
1934
|
-
|
|
1934
|
+
inline
|
|
1935
1935
|
flat_multimap(InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
|
|
1936
1936
|
: m_flat_tree(false, first, last, comp, dtl::force<const impl_allocator_type>(a))
|
|
1937
1937
|
{}
|
|
@@ -1946,7 +1946,7 @@ class flat_multimap
|
|
|
1946
1946
|
//!
|
|
1947
1947
|
//! <b>Note</b>: Non-standard extension.
|
|
1948
1948
|
template <class InputIterator>
|
|
1949
|
-
|
|
1949
|
+
inline
|
|
1950
1950
|
flat_multimap(ordered_range_t, InputIterator first, InputIterator last)
|
|
1951
1951
|
: m_flat_tree(ordered_range, first, last)
|
|
1952
1952
|
{}
|
|
@@ -1961,7 +1961,7 @@ class flat_multimap
|
|
|
1961
1961
|
//!
|
|
1962
1962
|
//! <b>Note</b>: Non-standard extension.
|
|
1963
1963
|
template <class InputIterator>
|
|
1964
|
-
|
|
1964
|
+
inline
|
|
1965
1965
|
flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp)
|
|
1966
1966
|
: m_flat_tree(ordered_range, first, last, comp)
|
|
1967
1967
|
{}
|
|
@@ -1976,7 +1976,7 @@ class flat_multimap
|
|
|
1976
1976
|
//!
|
|
1977
1977
|
//! <b>Note</b>: Non-standard extension.
|
|
1978
1978
|
template <class InputIterator>
|
|
1979
|
-
|
|
1979
|
+
inline
|
|
1980
1980
|
flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
|
|
1981
1981
|
: m_flat_tree(ordered_range, first, last, comp, a)
|
|
1982
1982
|
{}
|
|
@@ -1991,7 +1991,7 @@ class flat_multimap
|
|
|
1991
1991
|
//!
|
|
1992
1992
|
//! <b>Note</b>: Non-standard extension.
|
|
1993
1993
|
template <class InputIterator>
|
|
1994
|
-
|
|
1994
|
+
inline
|
|
1995
1995
|
flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const allocator_type &a)
|
|
1996
1996
|
: m_flat_tree(ordered_range, first, last, Compare(), a)
|
|
1997
1997
|
{}
|
|
@@ -2002,7 +2002,7 @@ class flat_multimap
|
|
|
2002
2002
|
//!
|
|
2003
2003
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
2004
2004
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
2005
|
-
|
|
2005
|
+
inline
|
|
2006
2006
|
flat_multimap(std::initializer_list<value_type> il)
|
|
2007
2007
|
: m_flat_tree( false
|
|
2008
2008
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2014,7 +2014,7 @@ class flat_multimap
|
|
|
2014
2014
|
//!
|
|
2015
2015
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
2016
2016
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
2017
|
-
|
|
2017
|
+
inline
|
|
2018
2018
|
flat_multimap(std::initializer_list<value_type> il, const allocator_type& a)
|
|
2019
2019
|
: m_flat_tree(false
|
|
2020
2020
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2027,7 +2027,7 @@ class flat_multimap
|
|
|
2027
2027
|
//!
|
|
2028
2028
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
2029
2029
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
2030
|
-
|
|
2030
|
+
inline
|
|
2031
2031
|
flat_multimap(std::initializer_list<value_type> il, const Compare& comp)
|
|
2032
2032
|
: m_flat_tree(false
|
|
2033
2033
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2039,7 +2039,7 @@ class flat_multimap
|
|
|
2039
2039
|
//!
|
|
2040
2040
|
//! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
|
|
2041
2041
|
//! the predicate and otherwise N logN, where N is last - first.
|
|
2042
|
-
|
|
2042
|
+
inline
|
|
2043
2043
|
flat_multimap(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
|
|
2044
2044
|
: m_flat_tree( false
|
|
2045
2045
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2056,7 +2056,7 @@ class flat_multimap
|
|
|
2056
2056
|
//! <b>Complexity</b>: Linear in N.
|
|
2057
2057
|
//!
|
|
2058
2058
|
//! <b>Note</b>: Non-standard extension.
|
|
2059
|
-
|
|
2059
|
+
inline
|
|
2060
2060
|
flat_multimap(ordered_range_t, std::initializer_list<value_type> il)
|
|
2061
2061
|
: m_flat_tree( ordered_range
|
|
2062
2062
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2072,7 +2072,7 @@ class flat_multimap
|
|
|
2072
2072
|
//! <b>Complexity</b>: Linear in N.
|
|
2073
2073
|
//!
|
|
2074
2074
|
//! <b>Note</b>: Non-standard extension.
|
|
2075
|
-
|
|
2075
|
+
inline
|
|
2076
2076
|
flat_multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp)
|
|
2077
2077
|
: m_flat_tree( ordered_range
|
|
2078
2078
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2088,7 +2088,7 @@ class flat_multimap
|
|
|
2088
2088
|
//! <b>Complexity</b>: Linear in N.
|
|
2089
2089
|
//!
|
|
2090
2090
|
//! <b>Note</b>: Non-standard extension.
|
|
2091
|
-
|
|
2091
|
+
inline
|
|
2092
2092
|
flat_multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
|
|
2093
2093
|
: m_flat_tree( ordered_range
|
|
2094
2094
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2100,7 +2100,7 @@ class flat_multimap
|
|
|
2100
2100
|
//! <b>Effects</b>: Copy constructs a flat_multimap.
|
|
2101
2101
|
//!
|
|
2102
2102
|
//! <b>Complexity</b>: Linear in x.size().
|
|
2103
|
-
|
|
2103
|
+
inline
|
|
2104
2104
|
flat_multimap(const flat_multimap& x)
|
|
2105
2105
|
: m_flat_tree(x.m_flat_tree)
|
|
2106
2106
|
{}
|
|
@@ -2110,7 +2110,7 @@ class flat_multimap
|
|
|
2110
2110
|
//! <b>Complexity</b>: Constant.
|
|
2111
2111
|
//!
|
|
2112
2112
|
//! <b>Postcondition</b>: x is emptied.
|
|
2113
|
-
|
|
2113
|
+
inline
|
|
2114
2114
|
flat_multimap(BOOST_RV_REF(flat_multimap) x)
|
|
2115
2115
|
BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
|
|
2116
2116
|
: m_flat_tree(boost::move(x.m_flat_tree))
|
|
@@ -2119,7 +2119,7 @@ class flat_multimap
|
|
|
2119
2119
|
//! <b>Effects</b>: Copy constructs a flat_multimap using the specified allocator.
|
|
2120
2120
|
//!
|
|
2121
2121
|
//! <b>Complexity</b>: Linear in x.size().
|
|
2122
|
-
|
|
2122
|
+
inline
|
|
2123
2123
|
flat_multimap(const flat_multimap& x, const allocator_type &a)
|
|
2124
2124
|
: m_flat_tree(x.m_flat_tree, dtl::force<const impl_allocator_type>(a))
|
|
2125
2125
|
{}
|
|
@@ -2128,7 +2128,7 @@ class flat_multimap
|
|
|
2128
2128
|
//! Constructs *this using x's resources.
|
|
2129
2129
|
//!
|
|
2130
2130
|
//! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
|
|
2131
|
-
|
|
2131
|
+
inline
|
|
2132
2132
|
flat_multimap(BOOST_RV_REF(flat_multimap) x, const allocator_type &a)
|
|
2133
2133
|
: m_flat_tree(boost::move(x.m_flat_tree), dtl::force<const impl_allocator_type>(a))
|
|
2134
2134
|
{}
|
|
@@ -2136,14 +2136,14 @@ class flat_multimap
|
|
|
2136
2136
|
//! <b>Effects</b>: Makes *this a copy of x.
|
|
2137
2137
|
//!
|
|
2138
2138
|
//! <b>Complexity</b>: Linear in x.size().
|
|
2139
|
-
|
|
2139
|
+
inline
|
|
2140
2140
|
flat_multimap& operator=(BOOST_COPY_ASSIGN_REF(flat_multimap) x)
|
|
2141
2141
|
{ m_flat_tree = x.m_flat_tree; return *this; }
|
|
2142
2142
|
|
|
2143
2143
|
//! <b>Effects</b>: this->swap(x.get()).
|
|
2144
2144
|
//!
|
|
2145
2145
|
//! <b>Complexity</b>: Constant.
|
|
2146
|
-
|
|
2146
|
+
inline
|
|
2147
2147
|
flat_multimap& operator=(BOOST_RV_REF(flat_multimap) x)
|
|
2148
2148
|
BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
|
|
2149
2149
|
allocator_traits_type::is_always_equal::value) &&
|
|
@@ -2154,7 +2154,7 @@ class flat_multimap
|
|
|
2154
2154
|
//! <b>Effects</b>: Assign content of il to *this
|
|
2155
2155
|
//!
|
|
2156
2156
|
//! <b>Complexity</b>: Linear in il.size().
|
|
2157
|
-
|
|
2157
|
+
inline
|
|
2158
2158
|
flat_multimap& operator=(std::initializer_list<value_type> il)
|
|
2159
2159
|
{
|
|
2160
2160
|
this->clear();
|
|
@@ -2167,7 +2167,7 @@ class flat_multimap
|
|
|
2167
2167
|
//! was passed to the object's constructor.
|
|
2168
2168
|
//!
|
|
2169
2169
|
//! <b>Complexity</b>: Constant.
|
|
2170
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2170
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2171
2171
|
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2172
2172
|
{ return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
|
|
2173
2173
|
|
|
@@ -2178,7 +2178,7 @@ class flat_multimap
|
|
|
2178
2178
|
//! <b>Complexity</b>: Constant.
|
|
2179
2179
|
//!
|
|
2180
2180
|
//! <b>Note</b>: Non-standard extension.
|
|
2181
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2181
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2182
2182
|
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2183
2183
|
{ return dtl::force<stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
|
|
2184
2184
|
|
|
@@ -2189,7 +2189,7 @@ class flat_multimap
|
|
|
2189
2189
|
//! <b>Complexity</b>: Constant.
|
|
2190
2190
|
//!
|
|
2191
2191
|
//! <b>Note</b>: Non-standard extension.
|
|
2192
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2192
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2193
2193
|
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2194
2194
|
{ return dtl::force<const stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
|
|
2195
2195
|
|
|
@@ -2204,7 +2204,7 @@ class flat_multimap
|
|
|
2204
2204
|
//! <b>Throws</b>: Nothing.
|
|
2205
2205
|
//!
|
|
2206
2206
|
//! <b>Complexity</b>: Constant.
|
|
2207
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2207
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2208
2208
|
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2209
2209
|
{ return dtl::force_copy<iterator>(m_flat_tree.begin()); }
|
|
2210
2210
|
|
|
@@ -2213,7 +2213,7 @@ class flat_multimap
|
|
|
2213
2213
|
//! <b>Throws</b>: Nothing.
|
|
2214
2214
|
//!
|
|
2215
2215
|
//! <b>Complexity</b>: Constant.
|
|
2216
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2216
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2217
2217
|
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2218
2218
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
|
|
2219
2219
|
|
|
@@ -2222,7 +2222,7 @@ class flat_multimap
|
|
|
2222
2222
|
//! <b>Throws</b>: Nothing.
|
|
2223
2223
|
//!
|
|
2224
2224
|
//! <b>Complexity</b>: Constant.
|
|
2225
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2225
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2226
2226
|
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2227
2227
|
{ return dtl::force_copy<iterator>(m_flat_tree.end()); }
|
|
2228
2228
|
|
|
@@ -2231,7 +2231,7 @@ class flat_multimap
|
|
|
2231
2231
|
//! <b>Throws</b>: Nothing.
|
|
2232
2232
|
//!
|
|
2233
2233
|
//! <b>Complexity</b>: Constant.
|
|
2234
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2234
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2235
2235
|
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2236
2236
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
|
|
2237
2237
|
|
|
@@ -2241,7 +2241,7 @@ class flat_multimap
|
|
|
2241
2241
|
//! <b>Throws</b>: Nothing.
|
|
2242
2242
|
//!
|
|
2243
2243
|
//! <b>Complexity</b>: Constant.
|
|
2244
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2244
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2245
2245
|
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2246
2246
|
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
|
|
2247
2247
|
|
|
@@ -2251,7 +2251,7 @@ class flat_multimap
|
|
|
2251
2251
|
//! <b>Throws</b>: Nothing.
|
|
2252
2252
|
//!
|
|
2253
2253
|
//! <b>Complexity</b>: Constant.
|
|
2254
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2254
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2255
2255
|
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2256
2256
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
|
|
2257
2257
|
|
|
@@ -2261,7 +2261,7 @@ class flat_multimap
|
|
|
2261
2261
|
//! <b>Throws</b>: Nothing.
|
|
2262
2262
|
//!
|
|
2263
2263
|
//! <b>Complexity</b>: Constant.
|
|
2264
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2264
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2265
2265
|
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2266
2266
|
{ return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
|
|
2267
2267
|
|
|
@@ -2271,7 +2271,7 @@ class flat_multimap
|
|
|
2271
2271
|
//! <b>Throws</b>: Nothing.
|
|
2272
2272
|
//!
|
|
2273
2273
|
//! <b>Complexity</b>: Constant.
|
|
2274
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2274
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2275
2275
|
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2276
2276
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
|
|
2277
2277
|
|
|
@@ -2280,7 +2280,7 @@ class flat_multimap
|
|
|
2280
2280
|
//! <b>Throws</b>: Nothing.
|
|
2281
2281
|
//!
|
|
2282
2282
|
//! <b>Complexity</b>: Constant.
|
|
2283
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2283
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2284
2284
|
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2285
2285
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
|
|
2286
2286
|
|
|
@@ -2289,7 +2289,7 @@ class flat_multimap
|
|
|
2289
2289
|
//! <b>Throws</b>: Nothing.
|
|
2290
2290
|
//!
|
|
2291
2291
|
//! <b>Complexity</b>: Constant.
|
|
2292
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2292
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2293
2293
|
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2294
2294
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
|
|
2295
2295
|
|
|
@@ -2299,7 +2299,7 @@ class flat_multimap
|
|
|
2299
2299
|
//! <b>Throws</b>: Nothing.
|
|
2300
2300
|
//!
|
|
2301
2301
|
//! <b>Complexity</b>: Constant.
|
|
2302
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2302
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2303
2303
|
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2304
2304
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
|
|
2305
2305
|
|
|
@@ -2309,7 +2309,7 @@ class flat_multimap
|
|
|
2309
2309
|
//! <b>Throws</b>: Nothing.
|
|
2310
2310
|
//!
|
|
2311
2311
|
//! <b>Complexity</b>: Constant.
|
|
2312
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2312
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2313
2313
|
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2314
2314
|
{ return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
|
|
2315
2315
|
|
|
@@ -2324,7 +2324,7 @@ class flat_multimap
|
|
|
2324
2324
|
//! <b>Throws</b>: Nothing.
|
|
2325
2325
|
//!
|
|
2326
2326
|
//! <b>Complexity</b>: Constant.
|
|
2327
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2327
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2328
2328
|
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2329
2329
|
{ return m_flat_tree.empty(); }
|
|
2330
2330
|
|
|
@@ -2333,7 +2333,7 @@ class flat_multimap
|
|
|
2333
2333
|
//! <b>Throws</b>: Nothing.
|
|
2334
2334
|
//!
|
|
2335
2335
|
//! <b>Complexity</b>: Constant.
|
|
2336
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2336
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2337
2337
|
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2338
2338
|
{ return m_flat_tree.size(); }
|
|
2339
2339
|
|
|
@@ -2342,7 +2342,7 @@ class flat_multimap
|
|
|
2342
2342
|
//! <b>Throws</b>: Nothing.
|
|
2343
2343
|
//!
|
|
2344
2344
|
//! <b>Complexity</b>: Constant.
|
|
2345
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2345
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2346
2346
|
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2347
2347
|
{ return m_flat_tree.max_size(); }
|
|
2348
2348
|
|
|
@@ -2352,7 +2352,7 @@ class flat_multimap
|
|
|
2352
2352
|
//! <b>Throws</b>: Nothing.
|
|
2353
2353
|
//!
|
|
2354
2354
|
//! <b>Complexity</b>: Constant.
|
|
2355
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2355
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2356
2356
|
size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2357
2357
|
{ return m_flat_tree.capacity(); }
|
|
2358
2358
|
|
|
@@ -2366,7 +2366,7 @@ class flat_multimap
|
|
|
2366
2366
|
//!
|
|
2367
2367
|
//! <b>Note</b>: If capacity() is less than "cnt", iterators and references to
|
|
2368
2368
|
//! to values might be invalidated.
|
|
2369
|
-
|
|
2369
|
+
inline
|
|
2370
2370
|
void reserve(size_type cnt)
|
|
2371
2371
|
{ m_flat_tree.reserve(cnt); }
|
|
2372
2372
|
|
|
@@ -2376,27 +2376,27 @@ class flat_multimap
|
|
|
2376
2376
|
//! <b>Throws</b>: If memory allocation throws, or T's copy constructor throws.
|
|
2377
2377
|
//!
|
|
2378
2378
|
//! <b>Complexity</b>: Linear to size().
|
|
2379
|
-
|
|
2379
|
+
inline
|
|
2380
2380
|
void shrink_to_fit()
|
|
2381
2381
|
{ m_flat_tree.shrink_to_fit(); }
|
|
2382
2382
|
|
|
2383
2383
|
//! @copydoc ::boost::container::flat_set::nth(size_type)
|
|
2384
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2384
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2385
2385
|
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
2386
2386
|
{ return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
|
|
2387
2387
|
|
|
2388
2388
|
//! @copydoc ::boost::container::flat_set::nth(size_type) const
|
|
2389
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2389
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2390
2390
|
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2391
2391
|
{ return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
|
|
2392
2392
|
|
|
2393
2393
|
//! @copydoc ::boost::container::flat_set::index_of(iterator)
|
|
2394
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2394
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2395
2395
|
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
|
2396
2396
|
{ return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
|
|
2397
2397
|
|
|
2398
2398
|
//! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
|
|
2399
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2399
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2400
2400
|
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2401
2401
|
{ return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
|
|
2402
2402
|
|
|
@@ -2411,7 +2411,7 @@ class flat_multimap
|
|
|
2411
2411
|
//!
|
|
2412
2412
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2413
2413
|
template <class... Args>
|
|
2414
|
-
|
|
2414
|
+
inline
|
|
2415
2415
|
iterator emplace(BOOST_FWD_REF(Args)... args)
|
|
2416
2416
|
{ return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(boost::forward<Args>(args)...)); }
|
|
2417
2417
|
|
|
@@ -2428,7 +2428,7 @@ class flat_multimap
|
|
|
2428
2428
|
//!
|
|
2429
2429
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2430
2430
|
template <class... Args>
|
|
2431
|
-
|
|
2431
|
+
inline
|
|
2432
2432
|
iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
|
|
2433
2433
|
{
|
|
2434
2434
|
return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_equal
|
|
@@ -2439,11 +2439,11 @@ class flat_multimap
|
|
|
2439
2439
|
|
|
2440
2440
|
#define BOOST_CONTAINER_FLAT_MULTIMAP_EMPLACE_CODE(N) \
|
|
2441
2441
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
2442
|
-
|
|
2442
|
+
inline iterator emplace(BOOST_MOVE_UREF##N)\
|
|
2443
2443
|
{ return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(BOOST_MOVE_FWD##N)); }\
|
|
2444
2444
|
\
|
|
2445
2445
|
BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
|
|
2446
|
-
|
|
2446
|
+
inline iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
2447
2447
|
{\
|
|
2448
2448
|
return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_equal\
|
|
2449
2449
|
(dtl::force_copy<impl_const_iterator>(hint) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
|
|
@@ -2461,7 +2461,7 @@ class flat_multimap
|
|
|
2461
2461
|
//! to the elements with bigger keys than x.
|
|
2462
2462
|
//!
|
|
2463
2463
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2464
|
-
|
|
2464
|
+
inline iterator insert(const value_type& x)
|
|
2465
2465
|
{
|
|
2466
2466
|
return dtl::force_copy<iterator>(
|
|
2467
2467
|
m_flat_tree.insert_equal(dtl::force<const impl_value_type>(x)));
|
|
@@ -2475,7 +2475,7 @@ class flat_multimap
|
|
|
2475
2475
|
//!
|
|
2476
2476
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2477
2477
|
template<class Pair>
|
|
2478
|
-
|
|
2478
|
+
inline BOOST_CONTAINER_DOC1ST
|
|
2479
2479
|
( iterator
|
|
2480
2480
|
, typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
|
|
2481
2481
|
BOOST_MOVE_I iterator >::type)
|
|
@@ -2493,7 +2493,7 @@ class flat_multimap
|
|
|
2493
2493
|
//! to the elements with bigger keys than x.
|
|
2494
2494
|
//!
|
|
2495
2495
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2496
|
-
|
|
2496
|
+
inline iterator insert(const_iterator p, const value_type& x)
|
|
2497
2497
|
{
|
|
2498
2498
|
return dtl::force_copy<iterator>
|
|
2499
2499
|
(m_flat_tree.insert_equal( dtl::force_copy<impl_const_iterator>(p)
|
|
@@ -2512,7 +2512,7 @@ class flat_multimap
|
|
|
2512
2512
|
//!
|
|
2513
2513
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2514
2514
|
template<class Pair>
|
|
2515
|
-
|
|
2515
|
+
inline BOOST_CONTAINER_DOC1ST
|
|
2516
2516
|
( iterator
|
|
2517
2517
|
, typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
|
|
2518
2518
|
BOOST_MOVE_I iterator>::type)
|
|
@@ -2530,7 +2530,7 @@ class flat_multimap
|
|
|
2530
2530
|
//!
|
|
2531
2531
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2532
2532
|
template <class InputIterator>
|
|
2533
|
-
|
|
2533
|
+
inline void insert(InputIterator first, InputIterator last)
|
|
2534
2534
|
{ m_flat_tree.insert_equal(first, last); }
|
|
2535
2535
|
|
|
2536
2536
|
//! <b>Requires</b>: first, last are not iterators into *this.
|
|
@@ -2547,7 +2547,7 @@ class flat_multimap
|
|
|
2547
2547
|
//!
|
|
2548
2548
|
//! <b>Note</b>: Non-standard extension.
|
|
2549
2549
|
template <class InputIterator>
|
|
2550
|
-
|
|
2550
|
+
inline void insert(ordered_range_t, InputIterator first, InputIterator last)
|
|
2551
2551
|
{ m_flat_tree.insert_equal(ordered_range, first, last); }
|
|
2552
2552
|
|
|
2553
2553
|
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
@@ -2556,7 +2556,7 @@ class flat_multimap
|
|
|
2556
2556
|
//! <b>Complexity</b>: N log(N).
|
|
2557
2557
|
//!
|
|
2558
2558
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2559
|
-
|
|
2559
|
+
inline void insert(std::initializer_list<value_type> il)
|
|
2560
2560
|
{
|
|
2561
2561
|
m_flat_tree.insert_equal( dtl::force<impl_initializer_list>(il).begin()
|
|
2562
2562
|
, dtl::force<impl_initializer_list>(il).end());
|
|
@@ -2573,7 +2573,7 @@ class flat_multimap
|
|
|
2573
2573
|
//! <b>Note</b>: If an element is inserted it might invalidate elements.
|
|
2574
2574
|
//!
|
|
2575
2575
|
//! <b>Note</b>: Non-standard extension.
|
|
2576
|
-
|
|
2576
|
+
inline void insert(ordered_range_t, std::initializer_list<value_type> il)
|
|
2577
2577
|
{
|
|
2578
2578
|
m_flat_tree.insert_equal( ordered_range
|
|
2579
2579
|
, dtl::force<impl_initializer_list>(il).begin()
|
|
@@ -2590,22 +2590,22 @@ class flat_multimap
|
|
|
2590
2590
|
//!
|
|
2591
2591
|
//! <b>Note</b>: Invalidates all iterators and references.
|
|
2592
2592
|
template<class C2>
|
|
2593
|
-
|
|
2593
|
+
inline void merge(flat_multimap<Key, T, C2, AllocatorOrContainer>& source)
|
|
2594
2594
|
{ m_flat_tree.merge_equal(source.tree()); }
|
|
2595
2595
|
|
|
2596
2596
|
//! @copydoc ::boost::container::flat_multimap::merge(flat_multimap<Key, T, C2, AllocatorOrContainer>&)
|
|
2597
2597
|
template<class C2>
|
|
2598
|
-
|
|
2598
|
+
inline void merge(BOOST_RV_REF_BEG flat_multimap<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
|
|
2599
2599
|
{ return this->merge(static_cast<flat_multimap<Key, T, C2, AllocatorOrContainer>&>(source)); }
|
|
2600
2600
|
|
|
2601
2601
|
//! @copydoc ::boost::container::flat_multimap::merge(flat_multimap<Key, T, C2, AllocatorOrContainer>&)
|
|
2602
2602
|
template<class C2>
|
|
2603
|
-
|
|
2603
|
+
inline void merge(flat_map<Key, T, C2, AllocatorOrContainer>& source)
|
|
2604
2604
|
{ m_flat_tree.merge_equal(source.tree()); }
|
|
2605
2605
|
|
|
2606
2606
|
//! @copydoc ::boost::container::flat_multimap::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
|
|
2607
2607
|
template<class C2>
|
|
2608
|
-
|
|
2608
|
+
inline void merge(BOOST_RV_REF_BEG flat_map<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
|
|
2609
2609
|
{ return this->merge(static_cast<flat_map<Key, T, C2, AllocatorOrContainer>&>(source)); }
|
|
2610
2610
|
|
|
2611
2611
|
//! <b>Effects</b>: Erases the element pointed to by p.
|
|
@@ -2618,7 +2618,7 @@ class flat_multimap
|
|
|
2618
2618
|
//!
|
|
2619
2619
|
//! <b>Note</b>: Invalidates elements with keys
|
|
2620
2620
|
//! not less than the erased element.
|
|
2621
|
-
|
|
2621
|
+
inline iterator erase(const_iterator p)
|
|
2622
2622
|
{
|
|
2623
2623
|
return dtl::force_copy<iterator>(
|
|
2624
2624
|
m_flat_tree.erase(dtl::force_copy<impl_const_iterator>(p)));
|
|
@@ -2630,7 +2630,7 @@ class flat_multimap
|
|
|
2630
2630
|
//!
|
|
2631
2631
|
//! <b>Complexity</b>: Logarithmic search time plus erasure time
|
|
2632
2632
|
//! linear to the elements with bigger keys.
|
|
2633
|
-
|
|
2633
|
+
inline size_type erase(const key_type& x)
|
|
2634
2634
|
{ return m_flat_tree.erase(x); }
|
|
2635
2635
|
|
|
2636
2636
|
//! <b>Effects</b>: Erases all the elements in the range [first, last).
|
|
@@ -2641,7 +2641,7 @@ class flat_multimap
|
|
|
2641
2641
|
//!
|
|
2642
2642
|
//! <b>Complexity</b>: Logarithmic search time plus erasure time
|
|
2643
2643
|
//! linear to the elements with bigger keys.
|
|
2644
|
-
|
|
2644
|
+
inline iterator erase(const_iterator first, const_iterator last)
|
|
2645
2645
|
{
|
|
2646
2646
|
return dtl::force_copy<iterator>
|
|
2647
2647
|
(m_flat_tree.erase( dtl::force_copy<impl_const_iterator>(first)
|
|
@@ -2653,7 +2653,7 @@ class flat_multimap
|
|
|
2653
2653
|
//! <b>Throws</b>: Nothing.
|
|
2654
2654
|
//!
|
|
2655
2655
|
//! <b>Complexity</b>: Constant.
|
|
2656
|
-
|
|
2656
|
+
inline void swap(flat_multimap& x)
|
|
2657
2657
|
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
|
2658
2658
|
&& boost::container::dtl::is_nothrow_swappable<Compare>::value )
|
|
2659
2659
|
{ m_flat_tree.swap(x.m_flat_tree); }
|
|
@@ -2663,7 +2663,7 @@ class flat_multimap
|
|
|
2663
2663
|
//! <b>Postcondition</b>: size() == 0.
|
|
2664
2664
|
//!
|
|
2665
2665
|
//! <b>Complexity</b>: linear in size().
|
|
2666
|
-
|
|
2666
|
+
inline void clear() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2667
2667
|
{ m_flat_tree.clear(); }
|
|
2668
2668
|
|
|
2669
2669
|
//////////////////////////////////////////////
|
|
@@ -2676,7 +2676,7 @@ class flat_multimap
|
|
|
2676
2676
|
//! of which a was constructed.
|
|
2677
2677
|
//!
|
|
2678
2678
|
//! <b>Complexity</b>: Constant.
|
|
2679
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2679
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2680
2680
|
key_compare key_comp() const
|
|
2681
2681
|
{ return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
|
|
2682
2682
|
|
|
@@ -2684,7 +2684,7 @@ class flat_multimap
|
|
|
2684
2684
|
//! of the comparison object.
|
|
2685
2685
|
//!
|
|
2686
2686
|
//! <b>Complexity</b>: Constant.
|
|
2687
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2687
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2688
2688
|
value_compare value_comp() const
|
|
2689
2689
|
{ return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
|
|
2690
2690
|
|
|
@@ -2698,7 +2698,7 @@ class flat_multimap
|
|
|
2698
2698
|
//! equivalent to x, or end() if such an element is not found.
|
|
2699
2699
|
//!
|
|
2700
2700
|
//! <b>Complexity</b>: Logarithmic.
|
|
2701
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2701
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2702
2702
|
iterator find(const key_type& x)
|
|
2703
2703
|
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
|
2704
2704
|
|
|
@@ -2706,7 +2706,7 @@ class flat_multimap
|
|
|
2706
2706
|
//! equivalent to x, or end() if such an element is not found.
|
|
2707
2707
|
//!
|
|
2708
2708
|
//! <b>Complexity</b>: Logarithmic.
|
|
2709
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2709
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2710
2710
|
const_iterator find(const key_type& x) const
|
|
2711
2711
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
|
2712
2712
|
|
|
@@ -2718,7 +2718,7 @@ class flat_multimap
|
|
|
2718
2718
|
//!
|
|
2719
2719
|
//! <b>Complexity</b>: Logarithmic.
|
|
2720
2720
|
template<class K>
|
|
2721
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2721
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2722
2722
|
iterator find(const K& x)
|
|
2723
2723
|
{ return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
|
|
2724
2724
|
|
|
@@ -2730,14 +2730,14 @@ class flat_multimap
|
|
|
2730
2730
|
//!
|
|
2731
2731
|
//! <b>Complexity</b>: Logarithmic.
|
|
2732
2732
|
template<class K>
|
|
2733
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2733
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2734
2734
|
const_iterator find(const K& x) const
|
|
2735
2735
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
|
|
2736
2736
|
|
|
2737
2737
|
//! <b>Returns</b>: The number of elements with key equivalent to x.
|
|
2738
2738
|
//!
|
|
2739
2739
|
//! <b>Complexity</b>: log(size())+count(k)
|
|
2740
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2740
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2741
2741
|
size_type count(const key_type& x) const
|
|
2742
2742
|
{ return m_flat_tree.count(x); }
|
|
2743
2743
|
|
|
@@ -2748,7 +2748,7 @@ class flat_multimap
|
|
|
2748
2748
|
//!
|
|
2749
2749
|
//! <b>Complexity</b>: log(size())+count(k)
|
|
2750
2750
|
template<class K>
|
|
2751
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2751
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2752
2752
|
size_type count(const K& x) const
|
|
2753
2753
|
{ return m_flat_tree.count(x); }
|
|
2754
2754
|
|
|
@@ -2756,7 +2756,7 @@ class flat_multimap
|
|
|
2756
2756
|
//! equivalent to key in the container, otherwise false.
|
|
2757
2757
|
//!
|
|
2758
2758
|
//! <b>Complexity</b>: log(size()).
|
|
2759
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2759
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2760
2760
|
bool contains(const key_type& x) const
|
|
2761
2761
|
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
|
2762
2762
|
|
|
@@ -2768,7 +2768,7 @@ class flat_multimap
|
|
|
2768
2768
|
//!
|
|
2769
2769
|
//! <b>Complexity</b>: log(size()).
|
|
2770
2770
|
template<typename K>
|
|
2771
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2771
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2772
2772
|
bool contains(const K& x) const
|
|
2773
2773
|
{ return m_flat_tree.find(x) != m_flat_tree.end(); }
|
|
2774
2774
|
|
|
@@ -2776,7 +2776,7 @@ class flat_multimap
|
|
|
2776
2776
|
//! than x, or end() if such an element is not found.
|
|
2777
2777
|
//!
|
|
2778
2778
|
//! <b>Complexity</b>: Logarithmic
|
|
2779
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2779
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2780
2780
|
iterator lower_bound(const key_type& x)
|
|
2781
2781
|
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
|
2782
2782
|
|
|
@@ -2784,7 +2784,7 @@ class flat_multimap
|
|
|
2784
2784
|
//! than x, or end() if such an element is not found.
|
|
2785
2785
|
//!
|
|
2786
2786
|
//! <b>Complexity</b>: Logarithmic
|
|
2787
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2787
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2788
2788
|
const_iterator lower_bound(const key_type& x) const
|
|
2789
2789
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
|
2790
2790
|
|
|
@@ -2796,7 +2796,7 @@ class flat_multimap
|
|
|
2796
2796
|
//!
|
|
2797
2797
|
//! <b>Complexity</b>: Logarithmic
|
|
2798
2798
|
template<class K>
|
|
2799
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2799
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2800
2800
|
iterator lower_bound(const K& x)
|
|
2801
2801
|
{ return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
|
|
2802
2802
|
|
|
@@ -2808,7 +2808,7 @@ class flat_multimap
|
|
|
2808
2808
|
//!
|
|
2809
2809
|
//! <b>Complexity</b>: Logarithmic
|
|
2810
2810
|
template<class K>
|
|
2811
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2811
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2812
2812
|
const_iterator lower_bound(const K& x) const
|
|
2813
2813
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
|
|
2814
2814
|
|
|
@@ -2816,7 +2816,7 @@ class flat_multimap
|
|
|
2816
2816
|
//! than x, or end() if such an element is not found.
|
|
2817
2817
|
//!
|
|
2818
2818
|
//! <b>Complexity</b>: Logarithmic
|
|
2819
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2819
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2820
2820
|
iterator upper_bound(const key_type& x)
|
|
2821
2821
|
{return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
|
2822
2822
|
|
|
@@ -2824,7 +2824,7 @@ class flat_multimap
|
|
|
2824
2824
|
//! greater than x, or end() if such an element is not found.
|
|
2825
2825
|
//!
|
|
2826
2826
|
//! <b>Complexity</b>: Logarithmic
|
|
2827
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2827
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2828
2828
|
const_iterator upper_bound(const key_type& x) const
|
|
2829
2829
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
|
2830
2830
|
|
|
@@ -2836,7 +2836,7 @@ class flat_multimap
|
|
|
2836
2836
|
//!
|
|
2837
2837
|
//! <b>Complexity</b>: Logarithmic
|
|
2838
2838
|
template<class K>
|
|
2839
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2839
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2840
2840
|
iterator upper_bound(const K& x)
|
|
2841
2841
|
{return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
|
|
2842
2842
|
|
|
@@ -2848,21 +2848,21 @@ class flat_multimap
|
|
|
2848
2848
|
//!
|
|
2849
2849
|
//! <b>Complexity</b>: Logarithmic
|
|
2850
2850
|
template<class K>
|
|
2851
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2851
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2852
2852
|
const_iterator upper_bound(const K& x) const
|
|
2853
2853
|
{ return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
|
|
2854
2854
|
|
|
2855
2855
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
|
2856
2856
|
//!
|
|
2857
2857
|
//! <b>Complexity</b>: Logarithmic
|
|
2858
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2858
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2859
2859
|
std::pair<iterator,iterator> equal_range(const key_type& x)
|
|
2860
2860
|
{ return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
|
|
2861
2861
|
|
|
2862
2862
|
//! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
|
|
2863
2863
|
//!
|
|
2864
2864
|
//! <b>Complexity</b>: Logarithmic
|
|
2865
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2865
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2866
2866
|
std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
|
|
2867
2867
|
{ return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
|
|
2868
2868
|
|
|
@@ -2873,7 +2873,7 @@ class flat_multimap
|
|
|
2873
2873
|
//!
|
|
2874
2874
|
//! <b>Complexity</b>: Logarithmic
|
|
2875
2875
|
template<class K>
|
|
2876
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2876
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2877
2877
|
std::pair<iterator,iterator> equal_range(const K& x)
|
|
2878
2878
|
{ return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
|
|
2879
2879
|
|
|
@@ -2884,7 +2884,7 @@ class flat_multimap
|
|
|
2884
2884
|
//!
|
|
2885
2885
|
//! <b>Complexity</b>: Logarithmic
|
|
2886
2886
|
template<class K>
|
|
2887
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2887
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2888
2888
|
std::pair<const_iterator, const_iterator> equal_range(const K& x) const
|
|
2889
2889
|
{ return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
|
|
2890
2890
|
|
|
@@ -2895,7 +2895,7 @@ class flat_multimap
|
|
|
2895
2895
|
//! <b>Postcondition</b>: this->empty()
|
|
2896
2896
|
//!
|
|
2897
2897
|
//! <b>Throws</b>: If secuence_type's move constructor throws
|
|
2898
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2898
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2899
2899
|
sequence_type extract_sequence()
|
|
2900
2900
|
{ return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref())); }
|
|
2901
2901
|
|
|
@@ -2905,7 +2905,7 @@ class flat_multimap
|
|
|
2905
2905
|
//! <b>Complexity</b>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()
|
|
2906
2906
|
//!
|
|
2907
2907
|
//! <b>Throws</b>: If the comparison or the move constructor throws
|
|
2908
|
-
|
|
2908
|
+
inline void adopt_sequence(BOOST_RV_REF(sequence_type) seq)
|
|
2909
2909
|
{ this->m_flat_tree.adopt_sequence_equal(boost::move(dtl::force<impl_sequence_type>(seq))); }
|
|
2910
2910
|
|
|
2911
2911
|
//! <b>Requires</b>: seq shall be ordered according to this->compare().
|
|
@@ -2916,7 +2916,7 @@ class flat_multimap
|
|
|
2916
2916
|
//! <b>Complexity</b>: Assuming O(1) move assignment, O(1)
|
|
2917
2917
|
//!
|
|
2918
2918
|
//! <b>Throws</b>: If the move assignment throws
|
|
2919
|
-
|
|
2919
|
+
inline void adopt_sequence(ordered_range_t, BOOST_RV_REF(sequence_type) seq)
|
|
2920
2920
|
{ this->m_flat_tree.adopt_sequence_equal(ordered_range_t(), boost::move(dtl::force<impl_sequence_type>(seq))); }
|
|
2921
2921
|
|
|
2922
2922
|
//! <b>Effects</b>: Returns a const view of the underlying sequence.
|
|
@@ -2924,55 +2924,55 @@ class flat_multimap
|
|
|
2924
2924
|
//! <b>Complexity</b>: Constant
|
|
2925
2925
|
//!
|
|
2926
2926
|
//! <b>Throws</b>: Nothing
|
|
2927
|
-
|
|
2927
|
+
inline const sequence_type & sequence() const BOOST_NOEXCEPT
|
|
2928
2928
|
{ return dtl::force<sequence_type>(m_flat_tree.get_sequence_cref()); }
|
|
2929
2929
|
|
|
2930
2930
|
//! <b>Effects</b>: Returns true if x and y are equal
|
|
2931
2931
|
//!
|
|
2932
2932
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2933
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2933
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2934
2934
|
friend bool operator==(const flat_multimap& x, const flat_multimap& y)
|
|
2935
2935
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
|
2936
2936
|
|
|
2937
2937
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
|
2938
2938
|
//!
|
|
2939
2939
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2940
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2940
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2941
2941
|
friend bool operator!=(const flat_multimap& x, const flat_multimap& y)
|
|
2942
2942
|
{ return !(x == y); }
|
|
2943
2943
|
|
|
2944
2944
|
//! <b>Effects</b>: Returns true if x is less than y
|
|
2945
2945
|
//!
|
|
2946
2946
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2947
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2947
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2948
2948
|
friend bool operator<(const flat_multimap& x, const flat_multimap& y)
|
|
2949
2949
|
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
|
2950
2950
|
|
|
2951
2951
|
//! <b>Effects</b>: Returns true if x is greater than y
|
|
2952
2952
|
//!
|
|
2953
2953
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2954
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2954
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2955
2955
|
friend bool operator>(const flat_multimap& x, const flat_multimap& y)
|
|
2956
2956
|
{ return y < x; }
|
|
2957
2957
|
|
|
2958
2958
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
|
2959
2959
|
//!
|
|
2960
2960
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2961
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2961
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2962
2962
|
friend bool operator<=(const flat_multimap& x, const flat_multimap& y)
|
|
2963
2963
|
{ return !(y < x); }
|
|
2964
2964
|
|
|
2965
2965
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
|
2966
2966
|
//!
|
|
2967
2967
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2968
|
-
BOOST_CONTAINER_ATTRIBUTE_NODISCARD
|
|
2968
|
+
BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
|
|
2969
2969
|
friend bool operator>=(const flat_multimap& x, const flat_multimap& y)
|
|
2970
2970
|
{ return !(x < y); }
|
|
2971
2971
|
|
|
2972
2972
|
//! <b>Effects</b>: x.swap(y)
|
|
2973
2973
|
//!
|
|
2974
2974
|
//! <b>Complexity</b>: Constant.
|
|
2975
|
-
|
|
2975
|
+
inline friend void swap(flat_multimap& x, flat_multimap& y)
|
|
2976
2976
|
BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
|
|
2977
2977
|
{ x.swap(y); }
|
|
2978
2978
|
};
|