passenger 5.3.3 → 5.3.4
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 +8 -0
- data/build/support/cxx_dependency_map.rb +151 -83
- data/dev/configkit-schemas/index.json +3 -3
- data/src/agent/Core/AdminPanelConnector.h +5 -3
- data/src/agent/Core/ApplicationPool/Common.h +1 -2
- data/src/agent/Core/ApplicationPool/Context.h +1 -2
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +2 -2
- data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +2 -2
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller.h +2 -1
- data/src/agent/Core/Controller/Config.h +6 -5
- data/src/agent/Core/Controller/Hooks.cpp +11 -0
- data/src/agent/Core/Controller/SendRequest.cpp +7 -7
- data/src/agent/Core/CoreMain.cpp +0 -2
- data/src/agent/Core/SpawningKit/Context.h +1 -3
- data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +2 -2
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +2 -2
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +17 -38
- data/src/agent/Core/SpawningKit/PipeWatcher.h +5 -3
- data/src/agent/Core/SpawningKit/UserSwitchingRules.h +13 -5
- data/src/agent/Shared/ApiServerUtils.h +2 -2
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +33 -18
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +20 -20
- data/src/apache2_module/Config.cpp +7 -6
- data/src/cxx_supportlib/ConfigKit/Store.h +2 -2
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/Exceptions.h +0 -1
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +3 -2
- data/src/cxx_supportlib/ResourceLocator.h +3 -21
- data/src/cxx_supportlib/SafeLibev.h +6 -6
- data/src/cxx_supportlib/ServerKit/Channel.h +2 -2
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +3 -3
- data/src/cxx_supportlib/ServerKit/FileBufferedFdSinkChannel.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpServer.h +27 -15
- data/src/cxx_supportlib/ServerKit/Server.h +2 -2
- data/src/cxx_supportlib/SystemTools/README.md +1 -0
- data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +222 -0
- data/src/cxx_supportlib/SystemTools/UserDatabase.h +151 -0
- data/src/cxx_supportlib/Utils.cpp +1 -113
- data/src/cxx_supportlib/Utils.h +1 -29
- data/src/cxx_supportlib/Utils/MessagePassing.h +3 -3
- data/src/cxx_supportlib/WatchdogLauncher.h +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/case_conv.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/util.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +31 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +133 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +151 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +149 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +140 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +145 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +75 -41
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +139 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +98 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +42 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +45 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +349 -109
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +959 -108
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +198 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +424 -284
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +116 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +99 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +235 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +613 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +1139 -1216
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +27 -14
- 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 +26 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +27 -14
- 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 +61 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +462 -226
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/datagram_socket_service.hpp +94 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer_service.hpp +20 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +109 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +404 -77
- 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 +212 -51
- 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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +68 -0
- 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 +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +94 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +151 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +398 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +287 -165
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +15 -1
- 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 +65 -14
- 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 +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +27 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +41 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +86 -0
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/{function.hpp → functional.hpp} +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +158 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +90 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +117 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +97 -0
- 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 +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +24 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +17 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +34 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +17 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +152 -51
- 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 +80 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +19 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +93 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +76 -0
- 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 +13 -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_thread.ipp +11 -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 +27 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_serial_port_service.ipp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +43 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +54 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/{task_io_service.ipp → scheduler.ipp} +167 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +17 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +46 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +36 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +39 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +43 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +129 -26
- 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 +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +15 -14
- 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 -5
- 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/io_control.hpp +1 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +241 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +128 -0
- 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 +36 -14
- 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/macos_fenced_block.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +42 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +1 -1
- 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 +17 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +61 -0
- 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 +10 -9
- 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 +29 -19
- 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 +7 -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 +26 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +3 -3
- 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 +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +37 -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 +82 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.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 +5 -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 +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +86 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +9 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_serial_port_service.hpp +10 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +101 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +20 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +13 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +15 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +25 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +15 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +99 -31
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +96 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +7 -3
- 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 +106 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +25 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +6 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +38 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +30 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/{task_io_service.hpp → scheduler.hpp} +57 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/{task_io_service_operation.hpp → scheduler_operation.hpp} +19 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/{task_io_service_thread_info.hpp → scheduler_thread_info.hpp} +10 -10
- 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 +9 -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 +37 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +54 -34
- 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 +9 -5
- 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 +14 -13
- 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 +9 -6
- 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 +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +144 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +45 -15
- 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 +29 -2
- 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 +11 -5
- 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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +2 -2
- 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 +29 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +74 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +8 -6
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +413 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +343 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +172 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +228 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detached.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_spawn.hpp +878 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/detached.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/redirect_error.hpp +296 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/redirect_error.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +1 -1
- 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 +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_type.hpp +11 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +4 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +86 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +92 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +549 -119
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +79 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +109 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +388 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +7 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +347 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +176 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +79 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +341 -379
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +173 -343
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +559 -206
- 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 +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +254 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +129 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +78 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +855 -94
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +358 -449
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +165 -418
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +878 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +386 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +6 -743
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +79 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +111 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +164 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +104 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +185 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +131 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +821 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +23 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +31 -99
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +313 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +5 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +16 -19
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +28 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +55 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +28 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +76 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +28 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +85 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +2 -14
- 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 +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +218 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +187 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +263 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +131 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +3 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_service.hpp +48 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +48 -0
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +23 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +1 -1
- 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 +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +128 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +30 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +138 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +646 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +17 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +326 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor_service.hpp +63 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +109 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/raw_socket_service.hpp +94 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +328 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +1148 -247
- data/src/cxx_supportlib/vendor-modified/boost/asio/seq_packet_socket_service.hpp +88 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +736 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_service.hpp +41 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +422 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_service.hpp +32 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_acceptor_service.hpp +114 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +85 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +89 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +33 -62
- 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 +27 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +10 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +22 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +40 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +2 -2
- 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 +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +3 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +27 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +3 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +8 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +86 -102
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +7 -13
- 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 +7 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +90 -85
- 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 +3 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +4 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +209 -175
- data/src/cxx_supportlib/vendor-modified/boost/asio/stream_socket_service.hpp +88 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +131 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +4 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +234 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +199 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +70 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +17 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/waitable_timer_service.hpp +62 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_handle.hpp +22 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +14 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +346 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle_service.hpp +26 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +333 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +344 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle_service.hpp +31 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +328 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle_service.hpp +29 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +321 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/capabilities.hpp +50 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_template.hpp +688 -220
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +25 -21
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_arm.hpp +1 -18
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_atomic.hpp +9 -10
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sync.hpp +7 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_x86.hpp +1 -36
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +108 -34
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_operations.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_operations_fwd.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +189 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_operations.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_operations_fwd.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +238 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +1111 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +840 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +1656 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +402 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +106 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +1301 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/float_sizes.hpp +142 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_operations.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_operations_fwd.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/hwcaps_gcc_arm.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/hwcaps_gcc_ppc.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/hwcaps_gcc_x86.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_extend.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +35 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_lockfree.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_cas_based.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_emulated.hpp +8 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_extending_cas_based.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_alpha.hpp +14 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm.hpp +548 -126
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +134 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_atomic.hpp +36 -44
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc.hpp +524 -96
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sparc.hpp +14 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sync.hpp +27 -59
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86.hpp +104 -57
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +268 -340
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_linux_arm.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_arm.hpp +22 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_x86.hpp +55 -80
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +88 -46
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_type.hpp +30 -103
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/string_ops.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_cc.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +36 -36
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +0 -10
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +28 -30
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_get.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_units.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io_v1/chrono_io.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/process_cpu_clocks.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/time_point.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/config.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +26 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +30 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +32 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/diab.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +33 -6
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +28 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pgi.hpp +8 -142
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +14 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +37 -9
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +169 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/{posix_features.hpp → detail/posix_features.hpp} +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/{select_compiler_config.hpp → detail/select_compiler_config.hpp} +15 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/{select_platform_config.hpp → detail/select_platform_config.hpp} +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/{select_stdlib_config.hpp → detail/select_stdlib_config.hpp} +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/{suffix.hpp → detail/suffix.hpp} +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/config/header_deprecated.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/helper_macros.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/aix.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/beos.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/bsd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cray.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/haiku.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/hpux.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/irix.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/linux.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/macos.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/qnxnto.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/solaris.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/symbian.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/vxworks.hpp +155 -91
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/zos.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/pragma_message.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +21 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcomo.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/modena.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/msl.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/roguewave.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/sgi.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/stlport.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/vacpp.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/xlcpp_zos.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/workaround.hpp +279 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +58 -58
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +7 -28
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +57 -57
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/addressof.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +122 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_or_allocator_rebind.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +258 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +119 -134
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +55 -55
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +714 -282
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_sorted.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator_to_raw_pointer.hpp +4 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/min_max.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +37 -35
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +41 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +69 -16
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair_key_mapped_of_value.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/singleton.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +180 -116
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_functors.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +874 -572
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +497 -248
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -42
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +326 -246
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +122 -78
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +165 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_map.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_set.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/map.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/set.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +285 -110
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +35 -53
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +25 -25
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +24 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +194 -142
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +15 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +395 -421
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/detail/float_functions.hpp +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/detail/hash_float.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/detail/limits.hpp +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/extensions.hpp +112 -16
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/hash.hpp +195 -7
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/hash_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/addressof.hpp +53 -44
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +80 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/no_exceptions_support.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/pointer_traits.hpp +233 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/cstdint.hpp +26 -16
- data/src/cxx_supportlib/vendor-modified/boost/date_time/adjust_functors.hpp +20 -34
- data/src/cxx_supportlib/vendor-modified/boost/date_time/c_local_time_adjustor.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting_locales.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_rules.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/filetime_functions.hpp +8 -94
- data/src/cxx_supportlib/vendor-modified/boost/date_time/format_date_parser.hpp +1 -8
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_facet.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_month.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_weekday.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_year.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/gregorian_io.hpp +52 -52
- data/src/cxx_supportlib/vendor-modified/boost/date_time/int_adapter.hpp +14 -27
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/custom_time_zone.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/locale_config.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/microsec_time_clock.hpp +36 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period_formatter.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/conversion.hpp +10 -12
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +18 -10
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_io.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_serialize.hpp +65 -20
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_parser.hpp +32 -23
- data/src/cxx_supportlib/vendor-modified/boost/date_time/string_parse_tree.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_resolution_traits.hpp +31 -8
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_split.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/tz_db_base.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/workaround.hpp +2 -264
- data/src/cxx_supportlib/vendor-modified/boost/enable_shared_from_this.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +38 -21
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +13 -47
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/maybe_include.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +508 -390
- data/src/cxx_supportlib/vendor-modified/boost/integer/integer_mask.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/integer_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +11 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +7 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +108 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +15 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_to_value.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +147 -64
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +8 -10
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +7 -4
- data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +36 -92
- data/src/cxx_supportlib/vendor-modified/boost/make_shared.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +57 -3
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/sign.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +40 -9
- data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +253 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +563 -4
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +324 -1071
- 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 +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/insertion_sort.hpp +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/is_sorted.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +59 -143
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge_sort.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/pdqsort.hpp +334 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/set_difference.hpp +207 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/unique.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +1 -9
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/destruct_n.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/fwd_macros.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/{intrusive → move}/detail/pointer_element.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/to_raw_pointer.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +19 -5
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/get_tag.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/next_prior.hpp +85 -55
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/conversion_traits.hpp +0 -7
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/converter.hpp +4 -13
- data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +26 -7
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +98 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_aligned_storage.hpp +17 -21
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +25 -6
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +499 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +126 -21
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/arg_list.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/pointer_cast.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/pointer_to_other.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/parisc.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/intel.h +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm.h +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/cloudabi.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/android.h +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/free.h +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/open.h +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/workaround.h +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform.h +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/cloudabi.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/ios.h +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw.h +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw32.h +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw64.h +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_desktop.h +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_phone.h +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_runtime.h +13 -5
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_server.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_store.h +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_system.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_uwp.h +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +11 -9
- data/src/cxx_supportlib/vendor-modified/boost/random/binomial_distribution.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/vector_io.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/random/independent_bits.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/linear_congruential.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/poisson_distribution.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/uniform_on_sphere.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +56 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +37 -13
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +9 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/scoped_array.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/scoped_ptr.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/shared_array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/shared_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +333 -656
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +148 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_sp_deleter.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/operator_bool.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +15 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_noexcept.hpp +21 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +26 -26
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ref_counter.hpp +17 -16
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +11 -12
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +15 -16
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +135 -90
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +23 -23
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +140 -111
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +297 -49
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_bounded_queue.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_deque.hpp +5 -7
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_priority_queue.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_queue.hpp +5 -15
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_timed_queue.hpp +118 -183
- data/src/cxx_supportlib/vendor-modified/boost/{detail → thread/detail}/atomic_redef_macros.hpp +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/{detail → thread/detail}/atomic_undef_macros.hpp +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +62 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/log.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/platform.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/platform_time.hpp +478 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +51 -85
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +11 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/detail/priority_executor_base.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduled_thread_pool.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduler.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduling_adaptor.hpp +15 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +320 -92
- data/src/cxx_supportlib/vendor-modified/boost/thread/once.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +187 -112
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +137 -164
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +67 -37
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_helpers.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +15 -9
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +65 -33
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +84 -158
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +143 -35
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_heap_alloc.hpp +32 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/shared_mutex.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/thread_only.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +579 -589
- data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/token_iterator.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +5 -8
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_const.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_cv.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_lvalue_reference.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_pointer.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_reference.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_rvalue_reference.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_volatile.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/common_type.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/conditional.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_cv.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/decay.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_binary_operator.hpp +71 -14
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_helper.hpp +370 -102
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +94 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +1177 -572
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/floating_point_promotion.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_equal_to.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_greater.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_greater_equal.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_less.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_less_equal.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +95 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_not_equal_to.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_destructor.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_promotion.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_assignable.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complex.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_constructible.hpp +12 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_convertible.hpp +20 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_default_constructible.hpp +16 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_destructible.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_list_constructible.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +14 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_swappable.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_signed.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_unsigned.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/promote.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_all_extents.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_bounds.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_const.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv_ref.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_extent.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_pointer.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_reference.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_volatile.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_identity.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/decltype.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +5 -85
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +24 -14
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +18 -12
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +4018 -4052
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +57 -97
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/set.hpp +56 -95
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +2150 -1777
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +41 -38
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +1630 -1420
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +40 -37
- data/src/cxx_supportlib/vendor-modified/boost/utility.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_iterate.hpp +14 -17
- data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +44 -20
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/weak_ptr.hpp +1 -1
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +8 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +7 -1
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +4 -4
- metadata +201 -47
- data/src/cxx_supportlib/ConfigKit/VariantMapUtils.h +0 -96
- data/src/cxx_supportlib/MessageClient.h +0 -309
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/addressof.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/task_io_service.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/shared_ptr.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/weak_ptr.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/win_iocp_serial_port_service.hpp +0 -230
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_service.hpp +0 -156
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_service.ipp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/basic_context.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_service.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/basic_context.hpp +0 -436
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/context_service.hpp +0 -176
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/detail/openssl_context_service.hpp +0 -396
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/detail/openssl_operation.hpp +0 -526
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/detail/openssl_stream_service.hpp +0 -573
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/stream.hpp +0 -503
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/stream_service.hpp +0 -186
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_service.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/to_raw_pointer.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/to_raw_pointer.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/iterator.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex_assert.hpp +0 -724
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/timespec.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/thread.hpp +0 -155
- data/src/cxx_supportlib/vendor-modified/boost/utility/empty_deleter.hpp +0 -43
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
#include <boost/container/detail/mpl.hpp>
|
|
34
34
|
#include <boost/container/detail/node_alloc_holder.hpp>
|
|
35
35
|
#include <boost/container/detail/version_type.hpp>
|
|
36
|
+
#include <boost/container/detail/value_functors.hpp>
|
|
36
37
|
// move
|
|
37
38
|
#include <boost/move/utility_core.hpp>
|
|
38
39
|
#include <boost/move/iterator.hpp>
|
|
@@ -57,13 +58,13 @@ namespace boost {
|
|
|
57
58
|
namespace container {
|
|
58
59
|
|
|
59
60
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
60
|
-
namespace
|
|
61
|
+
namespace dtl {
|
|
61
62
|
|
|
62
63
|
template<class VoidPointer>
|
|
63
64
|
struct list_hook
|
|
64
65
|
{
|
|
65
|
-
typedef typename
|
|
66
|
-
<
|
|
66
|
+
typedef typename dtl::bi::make_list_base_hook
|
|
67
|
+
<dtl::bi::void_pointer<VoidPointer>, dtl::bi::link_mode<dtl::bi::normal_link> >::type type;
|
|
67
68
|
};
|
|
68
69
|
|
|
69
70
|
template <class T, class VoidPointer>
|
|
@@ -100,19 +101,19 @@ struct intrusive_list_type
|
|
|
100
101
|
<typename allocator_traits_type::pointer>::template
|
|
101
102
|
rebind_pointer<void>::type
|
|
102
103
|
void_pointer;
|
|
103
|
-
typedef typename
|
|
104
|
+
typedef typename dtl::list_node
|
|
104
105
|
<value_type, void_pointer> node_type;
|
|
105
|
-
typedef typename
|
|
106
|
+
typedef typename dtl::bi::make_list
|
|
106
107
|
< node_type
|
|
107
|
-
,
|
|
108
|
-
,
|
|
109
|
-
,
|
|
108
|
+
, dtl::bi::base_hook<typename list_hook<void_pointer>::type>
|
|
109
|
+
, dtl::bi::constant_time_size<true>
|
|
110
|
+
, dtl::bi::size_type
|
|
110
111
|
<typename allocator_traits_type::size_type>
|
|
111
112
|
>::type container_type;
|
|
112
113
|
typedef container_type type ;
|
|
113
114
|
};
|
|
114
115
|
|
|
115
|
-
} //namespace
|
|
116
|
+
} //namespace dtl {
|
|
116
117
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
117
118
|
|
|
118
119
|
//! A list is a doubly linked list. That is, it is a Sequence that supports both
|
|
@@ -134,26 +135,26 @@ template <class T, class Allocator = new_allocator<T> >
|
|
|
134
135
|
template <class T, class Allocator>
|
|
135
136
|
#endif
|
|
136
137
|
class list
|
|
137
|
-
: protected
|
|
138
|
-
<Allocator, typename
|
|
138
|
+
: protected dtl::node_alloc_holder
|
|
139
|
+
<Allocator, typename dtl::intrusive_list_type<Allocator>::type>
|
|
139
140
|
{
|
|
140
141
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
141
142
|
typedef typename
|
|
142
|
-
|
|
143
|
-
typedef
|
|
143
|
+
dtl::intrusive_list_type<Allocator>::type Icont;
|
|
144
|
+
typedef dtl::node_alloc_holder<Allocator, Icont> AllocHolder;
|
|
144
145
|
typedef typename AllocHolder::NodePtr NodePtr;
|
|
145
146
|
typedef typename AllocHolder::NodeAlloc NodeAlloc;
|
|
146
147
|
typedef typename AllocHolder::ValAlloc ValAlloc;
|
|
147
148
|
typedef typename AllocHolder::Node Node;
|
|
148
|
-
typedef
|
|
149
|
+
typedef dtl::allocator_destroyer<NodeAlloc> Destroyer;
|
|
149
150
|
typedef typename AllocHolder::alloc_version alloc_version;
|
|
150
151
|
typedef boost::container::allocator_traits<Allocator> allocator_traits_type;
|
|
151
152
|
typedef boost::container::equal_to_value<Allocator> equal_to_value_type;
|
|
152
153
|
|
|
153
154
|
BOOST_COPYABLE_AND_MOVABLE(list)
|
|
154
155
|
|
|
155
|
-
typedef
|
|
156
|
-
typedef
|
|
156
|
+
typedef dtl::iterator_from_iiterator<typename Icont::iterator, false> iterator_impl;
|
|
157
|
+
typedef dtl::iterator_from_iiterator<typename Icont::iterator, true> const_iterator_impl;
|
|
157
158
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
158
159
|
|
|
159
160
|
public:
|
|
@@ -188,7 +189,7 @@ class list
|
|
|
188
189
|
//! <b>Throws</b>: If allocator_type's default constructor throws.
|
|
189
190
|
//!
|
|
190
191
|
//! <b>Complexity</b>: Constant.
|
|
191
|
-
list() BOOST_NOEXCEPT_IF(
|
|
192
|
+
list() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<Allocator>::value)
|
|
192
193
|
: AllocHolder()
|
|
193
194
|
{}
|
|
194
195
|
|
|
@@ -331,7 +332,7 @@ class list
|
|
|
331
332
|
if (&x != this){
|
|
332
333
|
NodeAlloc &this_alloc = this->node_alloc();
|
|
333
334
|
const NodeAlloc &x_alloc = x.node_alloc();
|
|
334
|
-
|
|
335
|
+
dtl::bool_<allocator_traits_type::
|
|
335
336
|
propagate_on_container_copy_assignment::value> flag;
|
|
336
337
|
if(flag && this_alloc != x_alloc){
|
|
337
338
|
this->clear();
|
|
@@ -417,7 +418,7 @@ class list
|
|
|
417
418
|
template <class InpIt>
|
|
418
419
|
void assign(InpIt first, InpIt last
|
|
419
420
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
420
|
-
, typename
|
|
421
|
+
, typename dtl::disable_if_convertible<InpIt, size_type>::type * = 0
|
|
421
422
|
#endif
|
|
422
423
|
)
|
|
423
424
|
{
|
|
@@ -866,10 +867,10 @@ class list
|
|
|
866
867
|
template <class InpIt>
|
|
867
868
|
iterator insert(const_iterator p, InpIt first, InpIt last
|
|
868
869
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
869
|
-
, typename
|
|
870
|
-
< !
|
|
871
|
-
&& (
|
|
872
|
-
||
|
|
870
|
+
, typename dtl::enable_if_c
|
|
871
|
+
< !dtl::is_convertible<InpIt, size_type>::value
|
|
872
|
+
&& (dtl::is_input_iterator<InpIt>::value
|
|
873
|
+
|| dtl::is_same<alloc_version, version_1>::value
|
|
873
874
|
)
|
|
874
875
|
>::type * = 0
|
|
875
876
|
#endif
|
|
@@ -891,10 +892,10 @@ class list
|
|
|
891
892
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
892
893
|
template <class FwdIt>
|
|
893
894
|
iterator insert(const_iterator position, FwdIt first, FwdIt last
|
|
894
|
-
, typename
|
|
895
|
-
< !
|
|
896
|
-
&& !(
|
|
897
|
-
||
|
|
895
|
+
, typename dtl::enable_if_c
|
|
896
|
+
< !dtl::is_convertible<FwdIt, size_type>::value
|
|
897
|
+
&& !(dtl::is_input_iterator<FwdIt>::value
|
|
898
|
+
|| dtl::is_same<alloc_version, version_1>::value
|
|
898
899
|
)
|
|
899
900
|
>::type * = 0
|
|
900
901
|
)
|
|
@@ -1204,7 +1205,7 @@ class list
|
|
|
1204
1205
|
//! <b>Note</b>: The relative order of elements that are not removed is unchanged,
|
|
1205
1206
|
//! and iterators to elements that are not removed remain valid.
|
|
1206
1207
|
void unique()
|
|
1207
|
-
{ this->unique(
|
|
1208
|
+
{ this->unique(value_equal_t()); }
|
|
1208
1209
|
|
|
1209
1210
|
//! <b>Effects</b>: Removes adjacent duplicate elements or adjacent
|
|
1210
1211
|
//! elements that satisfy some binary predicate from the list.
|
|
@@ -1234,7 +1235,7 @@ class list
|
|
|
1234
1235
|
//! <b>Complexity</b>: This function is linear time: it performs at most
|
|
1235
1236
|
//! size() + x.size() - 1 comparisons.
|
|
1236
1237
|
void merge(list &x)
|
|
1237
|
-
{ this->merge(x,
|
|
1238
|
+
{ this->merge(x, value_less_t()); }
|
|
1238
1239
|
|
|
1239
1240
|
//! <b>Requires</b>: The lists x and *this must be distinct.
|
|
1240
1241
|
//!
|
|
@@ -1300,7 +1301,7 @@ class list
|
|
|
1300
1301
|
//! <b>Complexity</b>: The number of comparisons is approximately N log N, where N
|
|
1301
1302
|
//! is the list's size.
|
|
1302
1303
|
void sort()
|
|
1303
|
-
{ this->sort(
|
|
1304
|
+
{ this->sort(value_less_t()); }
|
|
1304
1305
|
|
|
1305
1306
|
//! <b>Effects</b>: This function sorts the list *this according to std::less<value_type>.
|
|
1306
1307
|
//! The sort is stable, that is, the relative order of equivalent elements is preserved.
|
|
@@ -1457,18 +1458,8 @@ class list
|
|
|
1457
1458
|
}
|
|
1458
1459
|
};
|
|
1459
1460
|
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
{
|
|
1463
|
-
bool operator()(const value_type &a, const value_type &b) const
|
|
1464
|
-
{ return a < b; }
|
|
1465
|
-
};
|
|
1466
|
-
|
|
1467
|
-
struct value_equal
|
|
1468
|
-
{
|
|
1469
|
-
bool operator()(const value_type &a, const value_type &b) const
|
|
1470
|
-
{ return a == b; }
|
|
1471
|
-
};
|
|
1461
|
+
typedef value_less<value_type> value_less_t;
|
|
1462
|
+
typedef value_equal<value_type> value_equal_t;
|
|
1472
1463
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
1473
1464
|
|
|
1474
1465
|
};
|
|
@@ -31,6 +31,8 @@
|
|
|
31
31
|
#include <boost/container/detail/type_traits.hpp>
|
|
32
32
|
#include <boost/container/detail/value_init.hpp>
|
|
33
33
|
#include <boost/container/detail/pair.hpp>
|
|
34
|
+
#include <boost/container/detail/pair_key_mapped_of_value.hpp>
|
|
35
|
+
|
|
34
36
|
// move
|
|
35
37
|
#include <boost/move/traits.hpp>
|
|
36
38
|
#include <boost/move/utility_core.hpp>
|
|
@@ -53,34 +55,6 @@
|
|
|
53
55
|
namespace boost {
|
|
54
56
|
namespace container {
|
|
55
57
|
|
|
56
|
-
///@cond
|
|
57
|
-
|
|
58
|
-
template<class Key, class Mapped>
|
|
59
|
-
struct pair_key_mapped_of_value
|
|
60
|
-
{
|
|
61
|
-
typedef Key key_type;
|
|
62
|
-
typedef Mapped mapped_type;
|
|
63
|
-
|
|
64
|
-
template<class Pair>
|
|
65
|
-
const key_type & key_of_value(const Pair &p) const
|
|
66
|
-
{ return p.first; }
|
|
67
|
-
|
|
68
|
-
template<class Pair>
|
|
69
|
-
const mapped_type & mapped_of_value(const Pair &p) const
|
|
70
|
-
{ return p.second; }
|
|
71
|
-
|
|
72
|
-
template<class Pair>
|
|
73
|
-
key_type & key_of_value(Pair &p) const
|
|
74
|
-
{ return const_cast<key_type&>(p.first); }
|
|
75
|
-
|
|
76
|
-
template<class Pair>
|
|
77
|
-
mapped_type & mapped_of_value(Pair &p) const
|
|
78
|
-
{ return p.second; }
|
|
79
|
-
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
///@endcond
|
|
83
|
-
|
|
84
58
|
#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
85
59
|
|
|
86
60
|
//! A map is a kind of associative container that supports unique keys (contains at
|
|
@@ -104,9 +78,9 @@ template <class Key, class T, class Compare, class Allocator, class Options>
|
|
|
104
78
|
#endif
|
|
105
79
|
class map
|
|
106
80
|
///@cond
|
|
107
|
-
: public
|
|
81
|
+
: public dtl::tree
|
|
108
82
|
< std::pair<const Key, T>
|
|
109
|
-
,
|
|
83
|
+
, dtl::select1st<Key>
|
|
110
84
|
, Compare, Allocator, Options>
|
|
111
85
|
///@endcond
|
|
112
86
|
{
|
|
@@ -114,11 +88,11 @@ class map
|
|
|
114
88
|
private:
|
|
115
89
|
BOOST_COPYABLE_AND_MOVABLE(map)
|
|
116
90
|
|
|
117
|
-
typedef
|
|
91
|
+
typedef dtl::select1st<Key> select_1st_t;
|
|
118
92
|
typedef std::pair<const Key, T> value_type_impl;
|
|
119
|
-
typedef
|
|
93
|
+
typedef dtl::tree
|
|
120
94
|
<value_type_impl, select_1st_t, Compare, Allocator, Options> base_t;
|
|
121
|
-
typedef
|
|
95
|
+
typedef dtl::pair <Key, T> movable_value_type_impl;
|
|
122
96
|
typedef typename base_t::value_compare value_compare_impl;
|
|
123
97
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
124
98
|
|
|
@@ -132,7 +106,7 @@ class map
|
|
|
132
106
|
typedef Key key_type;
|
|
133
107
|
typedef ::boost::container::allocator_traits<Allocator> allocator_traits_type;
|
|
134
108
|
typedef T mapped_type;
|
|
135
|
-
typedef
|
|
109
|
+
typedef typename boost::container::allocator_traits<Allocator>::value_type value_type;
|
|
136
110
|
typedef typename boost::container::allocator_traits<Allocator>::pointer pointer;
|
|
137
111
|
typedef typename boost::container::allocator_traits<Allocator>::const_pointer const_pointer;
|
|
138
112
|
typedef typename boost::container::allocator_traits<Allocator>::reference reference;
|
|
@@ -150,14 +124,15 @@ class map
|
|
|
150
124
|
typedef std::pair<key_type, mapped_type> nonconst_value_type;
|
|
151
125
|
typedef BOOST_CONTAINER_IMPDEF(movable_value_type_impl) movable_value_type;
|
|
152
126
|
typedef BOOST_CONTAINER_IMPDEF(node_handle<
|
|
153
|
-
typename base_t::
|
|
154
|
-
BOOST_MOVE_I value_type
|
|
155
|
-
BOOST_MOVE_I allocator_type
|
|
127
|
+
typename base_t::stored_allocator_type
|
|
156
128
|
BOOST_MOVE_I pair_key_mapped_of_value
|
|
157
129
|
<key_type BOOST_MOVE_I mapped_type> >) node_type;
|
|
158
130
|
typedef BOOST_CONTAINER_IMPDEF
|
|
159
131
|
(insert_return_type_base<iterator BOOST_MOVE_I node_type>) insert_return_type;
|
|
160
132
|
|
|
133
|
+
//allocator_type::value_type type must be std::pair<CONST Key, T>
|
|
134
|
+
BOOST_STATIC_ASSERT((dtl::is_same<typename allocator_type::value_type, std::pair<const Key, T> >::value));
|
|
135
|
+
|
|
161
136
|
//////////////////////////////////////////////
|
|
162
137
|
//
|
|
163
138
|
// construct/copy/destroy
|
|
@@ -168,65 +143,102 @@ class map
|
|
|
168
143
|
//!
|
|
169
144
|
//! <b>Complexity</b>: Constant.
|
|
170
145
|
BOOST_CONTAINER_FORCEINLINE
|
|
171
|
-
map() BOOST_NOEXCEPT_IF(
|
|
172
|
-
|
|
146
|
+
map() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<Allocator>::value &&
|
|
147
|
+
dtl::is_nothrow_default_constructible<Compare>::value)
|
|
173
148
|
: base_t()
|
|
174
|
-
{
|
|
175
|
-
//A type must be std::pair<CONST Key, T>
|
|
176
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
177
|
-
}
|
|
149
|
+
{}
|
|
178
150
|
|
|
179
151
|
//! <b>Effects</b>: Constructs an empty map using the specified comparison object
|
|
180
152
|
//! and allocator.
|
|
181
153
|
//!
|
|
182
154
|
//! <b>Complexity</b>: Constant.
|
|
183
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
184
|
-
explicit map(const Compare& comp, const allocator_type& a = allocator_type())
|
|
155
|
+
BOOST_CONTAINER_FORCEINLINE map(const Compare& comp, const allocator_type& a)
|
|
185
156
|
: base_t(comp, a)
|
|
186
|
-
{
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
157
|
+
{}
|
|
158
|
+
|
|
159
|
+
//! <b>Effects</b>: Constructs an empty map using the specified comparison object.
|
|
160
|
+
//!
|
|
161
|
+
//! <b>Complexity</b>: Constant.
|
|
162
|
+
BOOST_CONTAINER_FORCEINLINE explicit map(const Compare& comp)
|
|
163
|
+
: base_t(comp)
|
|
164
|
+
{}
|
|
190
165
|
|
|
191
166
|
//! <b>Effects</b>: Constructs an empty map using the specified allocator.
|
|
192
167
|
//!
|
|
193
168
|
//! <b>Complexity</b>: Constant.
|
|
194
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
195
|
-
explicit map(const allocator_type& a)
|
|
169
|
+
BOOST_CONTAINER_FORCEINLINE explicit map(const allocator_type& a)
|
|
196
170
|
: base_t(a)
|
|
197
|
-
{
|
|
198
|
-
//A type must be std::pair<CONST Key, T>
|
|
199
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
200
|
-
}
|
|
171
|
+
{}
|
|
201
172
|
|
|
202
|
-
//! <b>Effects</b>: Constructs an empty map
|
|
203
|
-
//!
|
|
173
|
+
//! <b>Effects</b>: Constructs an empty map and
|
|
174
|
+
//! inserts elements from the range [first ,last ).
|
|
204
175
|
//!
|
|
205
176
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
206
|
-
//!
|
|
177
|
+
//! the predicate and otherwise N logN, where N is last - first.
|
|
207
178
|
template <class InputIterator>
|
|
208
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
: base_t(true, first, last, comp, a)
|
|
212
|
-
{
|
|
213
|
-
//A type must be std::pair<CONST Key, T>
|
|
214
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
215
|
-
}
|
|
179
|
+
BOOST_CONTAINER_FORCEINLINE map(InputIterator first, InputIterator last)
|
|
180
|
+
: base_t(true, first, last)
|
|
181
|
+
{}
|
|
216
182
|
|
|
217
183
|
//! <b>Effects</b>: Constructs an empty map using the specified
|
|
218
184
|
//! allocator, and inserts elements from the range [first ,last ).
|
|
219
185
|
//!
|
|
220
186
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
221
|
-
//!
|
|
187
|
+
//! the predicate and otherwise N logN, where N is last - first.
|
|
222
188
|
template <class InputIterator>
|
|
223
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
224
|
-
map(InputIterator first, InputIterator last, const allocator_type& a)
|
|
189
|
+
BOOST_CONTAINER_FORCEINLINE map(InputIterator first, InputIterator last, const allocator_type& a)
|
|
225
190
|
: base_t(true, first, last, Compare(), a)
|
|
226
|
-
{
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
191
|
+
{}
|
|
192
|
+
|
|
193
|
+
//! <b>Effects</b>: Constructs an empty map using the specified comparison object and
|
|
194
|
+
//! inserts elements from the range [first ,last ).
|
|
195
|
+
//!
|
|
196
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
197
|
+
//! the predicate and otherwise N logN, where N is last - first.
|
|
198
|
+
template <class InputIterator>
|
|
199
|
+
BOOST_CONTAINER_FORCEINLINE map(InputIterator first, InputIterator last, const Compare& comp)
|
|
200
|
+
: base_t(true, first, last, comp)
|
|
201
|
+
{}
|
|
202
|
+
|
|
203
|
+
//! <b>Effects</b>: Constructs an empty map using the specified comparison object and
|
|
204
|
+
//! allocator, and inserts elements from the range [first ,last ).
|
|
205
|
+
//!
|
|
206
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
207
|
+
//! the predicate and otherwise N logN, where N is last - first.
|
|
208
|
+
template <class InputIterator>
|
|
209
|
+
BOOST_CONTAINER_FORCEINLINE map(InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
|
|
210
|
+
: base_t(true, first, last, comp, a)
|
|
211
|
+
{}
|
|
212
|
+
|
|
213
|
+
//! <b>Effects</b>: Constructs an empty map and
|
|
214
|
+
//! inserts elements from the ordered unique range [first ,last). This function
|
|
215
|
+
//! is more efficient than the normal range creation for ordered ranges.
|
|
216
|
+
//!
|
|
217
|
+
//! <b>Requires</b>: [first ,last) must be ordered according to the predicate and must be
|
|
218
|
+
//! unique values.
|
|
219
|
+
//!
|
|
220
|
+
//! <b>Complexity</b>: Linear in N.
|
|
221
|
+
//!
|
|
222
|
+
//! <b>Note</b>: Non-standard extension.
|
|
223
|
+
template <class InputIterator>
|
|
224
|
+
BOOST_CONTAINER_FORCEINLINE map( ordered_unique_range_t, InputIterator first, InputIterator last)
|
|
225
|
+
: base_t(ordered_range, first, last)
|
|
226
|
+
{}
|
|
227
|
+
|
|
228
|
+
//! <b>Effects</b>: Constructs an empty map using the specified comparison object and
|
|
229
|
+
//! inserts elements from the ordered unique range [first ,last). This function
|
|
230
|
+
//! is more efficient than the normal range creation for ordered ranges.
|
|
231
|
+
//!
|
|
232
|
+
//! <b>Requires</b>: [first ,last) must be ordered according to the predicate and must be
|
|
233
|
+
//! unique values.
|
|
234
|
+
//!
|
|
235
|
+
//! <b>Complexity</b>: Linear in N.
|
|
236
|
+
//!
|
|
237
|
+
//! <b>Note</b>: Non-standard extension.
|
|
238
|
+
template <class InputIterator>
|
|
239
|
+
BOOST_CONTAINER_FORCEINLINE map( ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp)
|
|
240
|
+
: base_t(ordered_range, first, last, comp)
|
|
241
|
+
{}
|
|
230
242
|
|
|
231
243
|
//! <b>Effects</b>: Constructs an empty map using the specified comparison object and
|
|
232
244
|
//! allocator, and inserts elements from the ordered unique range [first ,last). This function
|
|
@@ -239,43 +251,76 @@ class map
|
|
|
239
251
|
//!
|
|
240
252
|
//! <b>Note</b>: Non-standard extension.
|
|
241
253
|
template <class InputIterator>
|
|
242
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
243
|
-
|
|
244
|
-
, const Compare& comp = Compare(), const allocator_type& a = allocator_type())
|
|
254
|
+
BOOST_CONTAINER_FORCEINLINE map( ordered_unique_range_t, InputIterator first, InputIterator last
|
|
255
|
+
, const Compare& comp, const allocator_type& a)
|
|
245
256
|
: base_t(ordered_range, first, last, comp, a)
|
|
246
|
-
{
|
|
247
|
-
//A type must be std::pair<CONST Key, T>
|
|
248
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
249
|
-
}
|
|
257
|
+
{}
|
|
250
258
|
|
|
251
259
|
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
260
|
+
//! <b>Effects</b>: Constructs an empty map and
|
|
261
|
+
//! inserts elements from the range [il.begin(), il.end()).
|
|
262
|
+
//!
|
|
263
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted according
|
|
264
|
+
//! to the predicate and otherwise N logN, where N is il.first() - il.end().
|
|
265
|
+
BOOST_CONTAINER_FORCEINLINE map(std::initializer_list<value_type> il)
|
|
266
|
+
: base_t(true, il.begin(), il.end())
|
|
267
|
+
{}
|
|
268
|
+
|
|
252
269
|
//! <b>Effects</b>: Constructs an empty map using the specified comparison object and
|
|
253
|
-
//!
|
|
270
|
+
//! inserts elements from the range [il.begin(), il.end()).
|
|
254
271
|
//!
|
|
255
272
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
256
|
-
//!
|
|
257
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
{
|
|
261
|
-
//A type must be std::pair<CONST Key, T>
|
|
262
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
263
|
-
}
|
|
273
|
+
//! the predicate and otherwise N logN, where N is il.first() - il.end().
|
|
274
|
+
BOOST_CONTAINER_FORCEINLINE map(std::initializer_list<value_type> il, const Compare& comp)
|
|
275
|
+
: base_t(true, il.begin(), il.end(), comp)
|
|
276
|
+
{}
|
|
264
277
|
|
|
265
278
|
//! <b>Effects</b>: Constructs an empty map using the specified
|
|
266
279
|
//! allocator, and inserts elements from the range [il.begin(), il.end()).
|
|
267
280
|
//!
|
|
268
281
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
269
|
-
//!
|
|
270
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
271
|
-
map(std::initializer_list<value_type> il, const allocator_type& a)
|
|
282
|
+
//! the predicate and otherwise N logN, where N is il.first() - il.end().
|
|
283
|
+
BOOST_CONTAINER_FORCEINLINE map(std::initializer_list<value_type> il, const allocator_type& a)
|
|
272
284
|
: base_t(true, il.begin(), il.end(), Compare(), a)
|
|
273
|
-
{
|
|
274
|
-
//A type must be std::pair<CONST Key, T>
|
|
275
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
276
|
-
}
|
|
285
|
+
{}
|
|
277
286
|
|
|
278
|
-
//! <b>Effects</b>: Constructs an empty
|
|
287
|
+
//! <b>Effects</b>: Constructs an empty map using the specified comparison object and
|
|
288
|
+
//! allocator, and inserts elements from the range [il.begin(), il.end()).
|
|
289
|
+
//!
|
|
290
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
291
|
+
//! the predicate and otherwise N logN, where N is il.first() - il.end().
|
|
292
|
+
BOOST_CONTAINER_FORCEINLINE map(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
|
|
293
|
+
: base_t(true, il.begin(), il.end(), comp, a)
|
|
294
|
+
{}
|
|
295
|
+
|
|
296
|
+
//! <b>Effects</b>: Constructs an empty map and inserts elements from the ordered unique range [il.begin(), il.end()).
|
|
297
|
+
//! This function is more efficient than the normal range creation for ordered ranges.
|
|
298
|
+
//!
|
|
299
|
+
//! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
|
|
300
|
+
//! unique values.
|
|
301
|
+
//!
|
|
302
|
+
//! <b>Complexity</b>: Linear in N.
|
|
303
|
+
//!
|
|
304
|
+
//! <b>Note</b>: Non-standard extension.
|
|
305
|
+
BOOST_CONTAINER_FORCEINLINE map(ordered_unique_range_t, std::initializer_list<value_type> il)
|
|
306
|
+
: base_t(ordered_range, il.begin(), il.end())
|
|
307
|
+
{}
|
|
308
|
+
|
|
309
|
+
//! <b>Effects</b>: Constructs an empty map using the specified comparison object,
|
|
310
|
+
//! and inserts elements from the ordered unique range [il.begin(), il.end()). This function
|
|
311
|
+
//! is more efficient than the normal range creation for ordered ranges.
|
|
312
|
+
//!
|
|
313
|
+
//! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
|
|
314
|
+
//! unique values.
|
|
315
|
+
//!
|
|
316
|
+
//! <b>Complexity</b>: Linear in N.
|
|
317
|
+
//!
|
|
318
|
+
//! <b>Note</b>: Non-standard extension.
|
|
319
|
+
BOOST_CONTAINER_FORCEINLINE map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp)
|
|
320
|
+
: base_t(ordered_range, il.begin(), il.end(), comp)
|
|
321
|
+
{}
|
|
322
|
+
|
|
323
|
+
//! <b>Effects</b>: Constructs an empty map using the specified comparison object and
|
|
279
324
|
//! allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function
|
|
280
325
|
//! is more efficient than the normal range creation for ordered ranges.
|
|
281
326
|
//!
|
|
@@ -285,51 +330,36 @@ class map
|
|
|
285
330
|
//! <b>Complexity</b>: Linear in N.
|
|
286
331
|
//!
|
|
287
332
|
//! <b>Note</b>: Non-standard extension.
|
|
288
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
289
|
-
|
|
290
|
-
const allocator_type& a = allocator_type())
|
|
333
|
+
BOOST_CONTAINER_FORCEINLINE map( ordered_unique_range_t, std::initializer_list<value_type> il
|
|
334
|
+
, const Compare& comp, const allocator_type& a)
|
|
291
335
|
: base_t(ordered_range, il.begin(), il.end(), comp, a)
|
|
292
|
-
{
|
|
293
|
-
|
|
294
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
295
|
-
}
|
|
336
|
+
{}
|
|
337
|
+
|
|
296
338
|
#endif
|
|
297
339
|
|
|
298
340
|
//! <b>Effects</b>: Copy constructs a map.
|
|
299
341
|
//!
|
|
300
342
|
//! <b>Complexity</b>: Linear in x.size().
|
|
301
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
302
|
-
map(const map& x)
|
|
343
|
+
BOOST_CONTAINER_FORCEINLINE map(const map& x)
|
|
303
344
|
: base_t(static_cast<const base_t&>(x))
|
|
304
|
-
{
|
|
305
|
-
//A type must be std::pair<CONST Key, T>
|
|
306
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
307
|
-
}
|
|
345
|
+
{}
|
|
308
346
|
|
|
309
347
|
//! <b>Effects</b>: Move constructs a map. Constructs *this using x's resources.
|
|
310
348
|
//!
|
|
311
349
|
//! <b>Complexity</b>: Constant.
|
|
312
350
|
//!
|
|
313
351
|
//! <b>Postcondition</b>: x is emptied.
|
|
314
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
315
|
-
|
|
316
|
-
BOOST_NOEXCEPT_IF(boost::container::container_detail::is_nothrow_move_constructible<Compare>::value)
|
|
352
|
+
BOOST_CONTAINER_FORCEINLINE map(BOOST_RV_REF(map) x)
|
|
353
|
+
BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
|
|
317
354
|
: base_t(BOOST_MOVE_BASE(base_t, x))
|
|
318
|
-
{
|
|
319
|
-
//A type must be std::pair<CONST Key, T>
|
|
320
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
321
|
-
}
|
|
355
|
+
{}
|
|
322
356
|
|
|
323
357
|
//! <b>Effects</b>: Copy constructs a map using the specified allocator.
|
|
324
358
|
//!
|
|
325
359
|
//! <b>Complexity</b>: Linear in x.size().
|
|
326
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
327
|
-
map(const map& x, const allocator_type &a)
|
|
360
|
+
BOOST_CONTAINER_FORCEINLINE map(const map& x, const allocator_type &a)
|
|
328
361
|
: base_t(static_cast<const base_t&>(x), a)
|
|
329
|
-
{
|
|
330
|
-
//A type must be std::pair<CONST Key, T>
|
|
331
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
332
|
-
}
|
|
362
|
+
{}
|
|
333
363
|
|
|
334
364
|
//! <b>Effects</b>: Move constructs a map using the specified allocator.
|
|
335
365
|
//! Constructs *this using x's resources.
|
|
@@ -337,19 +367,14 @@ class map
|
|
|
337
367
|
//! <b>Complexity</b>: Constant if x == x.get_allocator(), linear otherwise.
|
|
338
368
|
//!
|
|
339
369
|
//! <b>Postcondition</b>: x is emptied.
|
|
340
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
341
|
-
map(BOOST_RV_REF(map) x, const allocator_type &a)
|
|
370
|
+
BOOST_CONTAINER_FORCEINLINE map(BOOST_RV_REF(map) x, const allocator_type &a)
|
|
342
371
|
: base_t(BOOST_MOVE_BASE(base_t, x), a)
|
|
343
|
-
{
|
|
344
|
-
//A type must be std::pair<CONST Key, T>
|
|
345
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
346
|
-
}
|
|
372
|
+
{}
|
|
347
373
|
|
|
348
374
|
//! <b>Effects</b>: Makes *this a copy of x.
|
|
349
375
|
//!
|
|
350
376
|
//! <b>Complexity</b>: Linear in x.size().
|
|
351
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
352
|
-
map& operator=(BOOST_COPY_ASSIGN_REF(map) x)
|
|
377
|
+
BOOST_CONTAINER_FORCEINLINE map& operator=(BOOST_COPY_ASSIGN_REF(map) x)
|
|
353
378
|
{ return static_cast<map&>(this->base_t::operator=(static_cast<const base_t&>(x))); }
|
|
354
379
|
|
|
355
380
|
//! <b>Effects</b>: this->swap(x.get()).
|
|
@@ -360,18 +385,16 @@ class map
|
|
|
360
385
|
//! <b>Complexity</b>: Constant if allocator_traits_type::
|
|
361
386
|
//! propagate_on_container_move_assignment is true or
|
|
362
387
|
//! this->get>allocator() == x.get_allocator(). Linear otherwise.
|
|
363
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
364
|
-
map& operator=(BOOST_RV_REF(map) x)
|
|
388
|
+
BOOST_CONTAINER_FORCEINLINE map& operator=(BOOST_RV_REF(map) x)
|
|
365
389
|
BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
|
|
366
390
|
allocator_traits_type::is_always_equal::value) &&
|
|
367
|
-
boost::container::
|
|
391
|
+
boost::container::dtl::is_nothrow_move_assignable<Compare>::value)
|
|
368
392
|
{ return static_cast<map&>(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); }
|
|
369
393
|
|
|
370
394
|
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
371
395
|
//! <b>Effects</b>: Assign content of il to *this.
|
|
372
396
|
//!
|
|
373
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
374
|
-
map& operator=(std::initializer_list<value_type> il)
|
|
397
|
+
BOOST_CONTAINER_FORCEINLINE map& operator=(std::initializer_list<value_type> il)
|
|
375
398
|
{
|
|
376
399
|
this->clear();
|
|
377
400
|
insert(il.begin(), il.end());
|
|
@@ -716,7 +739,7 @@ class map
|
|
|
716
739
|
//!
|
|
717
740
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
|
718
741
|
//! is inserted right before p.
|
|
719
|
-
iterator insert(const_iterator p, BOOST_RV_REF(nonconst_value_type) x)
|
|
742
|
+
BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, BOOST_RV_REF(nonconst_value_type) x)
|
|
720
743
|
{ return this->try_emplace(p, boost::move(x.first), boost::move(x.second)); }
|
|
721
744
|
|
|
722
745
|
//! <b>Effects</b>: Move constructs a new value from x if and only if there is
|
|
@@ -728,7 +751,7 @@ class map
|
|
|
728
751
|
//!
|
|
729
752
|
//! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
|
|
730
753
|
//! is inserted right before p.
|
|
731
|
-
iterator insert(const_iterator p, BOOST_RV_REF(movable_value_type) x)
|
|
754
|
+
BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, BOOST_RV_REF(movable_value_type) x)
|
|
732
755
|
{ return this->try_emplace(p, boost::move(x.first), boost::move(x.second)); }
|
|
733
756
|
|
|
734
757
|
//! <b>Effects</b>: Inserts a copy of x in the container.
|
|
@@ -746,7 +769,7 @@ class map
|
|
|
746
769
|
//! <b>Returns</b>: An iterator pointing to the element with key equivalent to the key of x.
|
|
747
770
|
//!
|
|
748
771
|
//! <b>Complexity</b>: Logarithmic.
|
|
749
|
-
iterator insert(const_iterator p, BOOST_RV_REF(value_type) x)
|
|
772
|
+
BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, BOOST_RV_REF(value_type) x)
|
|
750
773
|
{ return this->base_t::insert_unique(p, boost::move(x)); }
|
|
751
774
|
|
|
752
775
|
//! <b>Requires</b>: first, last are not iterators into *this.
|
|
@@ -991,7 +1014,7 @@ class map
|
|
|
991
1014
|
template<class C2>
|
|
992
1015
|
BOOST_CONTAINER_FORCEINLINE void merge(map<Key, T, C2, Allocator, Options>& source)
|
|
993
1016
|
{
|
|
994
|
-
typedef
|
|
1017
|
+
typedef dtl::tree
|
|
995
1018
|
<value_type_impl, select_1st_t, C2, Allocator, Options> base2_t;
|
|
996
1019
|
this->merge_unique(static_cast<base2_t&>(source));
|
|
997
1020
|
}
|
|
@@ -1005,7 +1028,7 @@ class map
|
|
|
1005
1028
|
template<class C2>
|
|
1006
1029
|
BOOST_CONTAINER_FORCEINLINE void merge(multimap<Key, T, C2, Allocator, Options>& source)
|
|
1007
1030
|
{
|
|
1008
|
-
typedef
|
|
1031
|
+
typedef dtl::tree
|
|
1009
1032
|
<value_type_impl, select_1st_t, C2, Allocator, Options> base2_t;
|
|
1010
1033
|
this->base_t::merge_unique(static_cast<base2_t&>(source));
|
|
1011
1034
|
}
|
|
@@ -1023,7 +1046,7 @@ class map
|
|
|
1023
1046
|
//! <b>Complexity</b>: Constant.
|
|
1024
1047
|
void swap(map& x)
|
|
1025
1048
|
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
|
1026
|
-
&& boost::container::
|
|
1049
|
+
&& boost::container::dtl::is_nothrow_swappable<Compare>::value )
|
|
1027
1050
|
|
|
1028
1051
|
//! <b>Effects</b>: erase(a.begin(),a.end()).
|
|
1029
1052
|
//!
|
|
@@ -1196,9 +1219,9 @@ template <class Key, class T, class Compare, class Allocator, class Options>
|
|
|
1196
1219
|
#endif
|
|
1197
1220
|
class multimap
|
|
1198
1221
|
///@cond
|
|
1199
|
-
: public
|
|
1222
|
+
: public dtl::tree
|
|
1200
1223
|
< std::pair<const Key, T>
|
|
1201
|
-
,
|
|
1224
|
+
, dtl::select1st<Key>
|
|
1202
1225
|
, Compare, Allocator, Options>
|
|
1203
1226
|
///@endcond
|
|
1204
1227
|
{
|
|
@@ -1206,11 +1229,11 @@ class multimap
|
|
|
1206
1229
|
private:
|
|
1207
1230
|
BOOST_COPYABLE_AND_MOVABLE(multimap)
|
|
1208
1231
|
|
|
1209
|
-
typedef
|
|
1232
|
+
typedef dtl::select1st<Key> select_1st_t;
|
|
1210
1233
|
typedef std::pair<const Key, T> value_type_impl;
|
|
1211
|
-
typedef
|
|
1234
|
+
typedef dtl::tree
|
|
1212
1235
|
<value_type_impl, select_1st_t, Compare, Allocator, Options> base_t;
|
|
1213
|
-
typedef
|
|
1236
|
+
typedef dtl::pair <Key, T> movable_value_type_impl;
|
|
1214
1237
|
typedef typename base_t::value_compare value_compare_impl;
|
|
1215
1238
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
1216
1239
|
|
|
@@ -1225,7 +1248,7 @@ class multimap
|
|
|
1225
1248
|
|
|
1226
1249
|
typedef Key key_type;
|
|
1227
1250
|
typedef T mapped_type;
|
|
1228
|
-
typedef
|
|
1251
|
+
typedef typename boost::container::allocator_traits<Allocator>::value_type value_type;
|
|
1229
1252
|
typedef typename boost::container::allocator_traits<Allocator>::pointer pointer;
|
|
1230
1253
|
typedef typename boost::container::allocator_traits<Allocator>::const_pointer const_pointer;
|
|
1231
1254
|
typedef typename boost::container::allocator_traits<Allocator>::reference reference;
|
|
@@ -1243,12 +1266,13 @@ class multimap
|
|
|
1243
1266
|
typedef std::pair<key_type, mapped_type> nonconst_value_type;
|
|
1244
1267
|
typedef BOOST_CONTAINER_IMPDEF(movable_value_type_impl) movable_value_type;
|
|
1245
1268
|
typedef BOOST_CONTAINER_IMPDEF(node_handle<
|
|
1246
|
-
typename base_t::
|
|
1247
|
-
BOOST_MOVE_I value_type
|
|
1248
|
-
BOOST_MOVE_I allocator_type
|
|
1269
|
+
typename base_t::stored_allocator_type
|
|
1249
1270
|
BOOST_MOVE_I pair_key_mapped_of_value
|
|
1250
1271
|
<key_type BOOST_MOVE_I mapped_type> >) node_type;
|
|
1251
1272
|
|
|
1273
|
+
//allocator_type::value_type type must be std::pair<CONST Key, T>
|
|
1274
|
+
BOOST_STATIC_ASSERT((dtl::is_same<typename allocator_type::value_type, std::pair<const Key, T> >::value));
|
|
1275
|
+
|
|
1252
1276
|
//////////////////////////////////////////////
|
|
1253
1277
|
//
|
|
1254
1278
|
// construct/copy/destroy
|
|
@@ -1258,66 +1282,102 @@ class multimap
|
|
|
1258
1282
|
//! <b>Effects</b>: Default constructs an empty multimap.
|
|
1259
1283
|
//!
|
|
1260
1284
|
//! <b>Complexity</b>: Constant.
|
|
1261
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
1262
|
-
|
|
1263
|
-
|
|
1285
|
+
BOOST_CONTAINER_FORCEINLINE multimap()
|
|
1286
|
+
BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<Allocator>::value &&
|
|
1287
|
+
dtl::is_nothrow_default_constructible<Compare>::value)
|
|
1264
1288
|
: base_t()
|
|
1265
|
-
{
|
|
1266
|
-
//A type must be std::pair<CONST Key, T>
|
|
1267
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
1268
|
-
}
|
|
1289
|
+
{}
|
|
1269
1290
|
|
|
1270
|
-
//! <b>Effects</b>: Constructs an empty multimap using the specified allocator
|
|
1291
|
+
//! <b>Effects</b>: Constructs an empty multimap using the specified allocator
|
|
1292
|
+
//! object and allocator.
|
|
1271
1293
|
//!
|
|
1272
1294
|
//! <b>Complexity</b>: Constant.
|
|
1273
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
{
|
|
1277
|
-
//A type must be std::pair<CONST Key, T>
|
|
1278
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
1279
|
-
}
|
|
1295
|
+
BOOST_CONTAINER_FORCEINLINE explicit multimap(const allocator_type& a)
|
|
1296
|
+
: base_t(a)
|
|
1297
|
+
{}
|
|
1280
1298
|
|
|
1281
|
-
//! <b>Effects</b>: Constructs an empty multimap using the specified comparison
|
|
1282
|
-
//! object and allocator.
|
|
1299
|
+
//! <b>Effects</b>: Constructs an empty multimap using the specified comparison.
|
|
1283
1300
|
//!
|
|
1284
1301
|
//! <b>Complexity</b>: Constant.
|
|
1285
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
{
|
|
1289
|
-
//A type must be std::pair<CONST Key, T>
|
|
1290
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
1291
|
-
}
|
|
1302
|
+
BOOST_CONTAINER_FORCEINLINE explicit multimap(const Compare& comp)
|
|
1303
|
+
: base_t(comp)
|
|
1304
|
+
{}
|
|
1292
1305
|
|
|
1293
|
-
//! <b>Effects</b>: Constructs an empty multimap using the specified comparison
|
|
1294
|
-
//!
|
|
1306
|
+
//! <b>Effects</b>: Constructs an empty multimap using the specified comparison and allocator.
|
|
1307
|
+
//!
|
|
1308
|
+
//! <b>Complexity</b>: Constant.
|
|
1309
|
+
BOOST_CONTAINER_FORCEINLINE multimap(const Compare& comp, const allocator_type& a)
|
|
1310
|
+
: base_t(comp, a)
|
|
1311
|
+
{}
|
|
1312
|
+
|
|
1313
|
+
//! <b>Effects</b>: Constructs an empty multimap and
|
|
1314
|
+
//! inserts elements from the range [first ,last ).
|
|
1295
1315
|
//!
|
|
1296
1316
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1297
|
-
//!
|
|
1317
|
+
//! the predicate and otherwise N logN, where N is last - first.
|
|
1298
1318
|
template <class InputIterator>
|
|
1299
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
const allocator_type& a = allocator_type())
|
|
1303
|
-
: base_t(false, first, last, comp, a)
|
|
1304
|
-
{
|
|
1305
|
-
//A type must be std::pair<CONST Key, T>
|
|
1306
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
1307
|
-
}
|
|
1319
|
+
BOOST_CONTAINER_FORCEINLINE multimap(InputIterator first, InputIterator last)
|
|
1320
|
+
: base_t(false, first, last)
|
|
1321
|
+
{}
|
|
1308
1322
|
|
|
1309
1323
|
//! <b>Effects</b>: Constructs an empty multimap using the specified
|
|
1310
1324
|
//! allocator, and inserts elements from the range [first ,last ).
|
|
1311
1325
|
//!
|
|
1312
1326
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1313
|
-
//!
|
|
1327
|
+
//! the predicate and otherwise N logN, where N is last - first.
|
|
1314
1328
|
template <class InputIterator>
|
|
1315
1329
|
BOOST_CONTAINER_FORCEINLINE multimap(InputIterator first, InputIterator last, const allocator_type& a)
|
|
1316
1330
|
: base_t(false, first, last, Compare(), a)
|
|
1317
|
-
{
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1331
|
+
{}
|
|
1332
|
+
|
|
1333
|
+
//! <b>Effects</b>: Constructs an empty multimap using the specified comparison object and
|
|
1334
|
+
//! inserts elements from the range [first ,last ).
|
|
1335
|
+
//!
|
|
1336
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1337
|
+
//! the predicate and otherwise N logN, where N is last - first.
|
|
1338
|
+
template <class InputIterator>
|
|
1339
|
+
BOOST_CONTAINER_FORCEINLINE multimap(InputIterator first, InputIterator last, const Compare& comp)
|
|
1340
|
+
: base_t(false, first, last, comp)
|
|
1341
|
+
{}
|
|
1342
|
+
|
|
1343
|
+
//! <b>Effects</b>: Constructs an empty multimap using the specified comparison object
|
|
1344
|
+
//! and allocator, and inserts elements from the range [first ,last ).
|
|
1345
|
+
//!
|
|
1346
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1347
|
+
//! the predicate and otherwise N logN, where N is last - first.
|
|
1348
|
+
template <class InputIterator>
|
|
1349
|
+
BOOST_CONTAINER_FORCEINLINE multimap(InputIterator first, InputIterator last,
|
|
1350
|
+
const Compare& comp, const allocator_type& a)
|
|
1351
|
+
: base_t(false, first, last, comp, a)
|
|
1352
|
+
{}
|
|
1353
|
+
|
|
1354
|
+
//! <b>Effects</b>: Constructs an empty multimap and
|
|
1355
|
+
//! inserts elements from the ordered range [first ,last). This function
|
|
1356
|
+
//! is more efficient than the normal range creation for ordered ranges.
|
|
1357
|
+
//!
|
|
1358
|
+
//! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
|
|
1359
|
+
//!
|
|
1360
|
+
//! <b>Complexity</b>: Linear in N.
|
|
1361
|
+
//!
|
|
1362
|
+
//! <b>Note</b>: Non-standard extension.
|
|
1363
|
+
template <class InputIterator>
|
|
1364
|
+
BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, InputIterator first, InputIterator last)
|
|
1365
|
+
: base_t(ordered_range, first, last)
|
|
1366
|
+
{}
|
|
1367
|
+
|
|
1368
|
+
//! <b>Effects</b>: Constructs an empty multimap using the specified comparison object and
|
|
1369
|
+
//! inserts elements from the ordered range [first ,last). This function
|
|
1370
|
+
//! is more efficient than the normal range creation for ordered ranges.
|
|
1371
|
+
//!
|
|
1372
|
+
//! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
|
|
1373
|
+
//!
|
|
1374
|
+
//! <b>Complexity</b>: Linear in N.
|
|
1375
|
+
//!
|
|
1376
|
+
//! <b>Note</b>: Non-standard extension.
|
|
1377
|
+
template <class InputIterator>
|
|
1378
|
+
BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp)
|
|
1379
|
+
: base_t(ordered_range, first, last, comp)
|
|
1380
|
+
{}
|
|
1321
1381
|
|
|
1322
1382
|
//! <b>Effects</b>: Constructs an empty multimap using the specified comparison object and
|
|
1323
1383
|
//! allocator, and inserts elements from the ordered range [first ,last). This function
|
|
@@ -1329,41 +1389,51 @@ class multimap
|
|
|
1329
1389
|
//!
|
|
1330
1390
|
//! <b>Note</b>: Non-standard extension.
|
|
1331
1391
|
template <class InputIterator>
|
|
1332
|
-
BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp
|
|
1333
|
-
const allocator_type& a
|
|
1392
|
+
BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp,
|
|
1393
|
+
const allocator_type& a)
|
|
1334
1394
|
: base_t(ordered_range, first, last, comp, a)
|
|
1335
1395
|
{}
|
|
1336
1396
|
|
|
1337
1397
|
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
1338
|
-
//! <b>Effects</b>: Constructs an empty multimap
|
|
1339
|
-
//!
|
|
1398
|
+
//! <b>Effects</b>: Constructs an empty multimap and
|
|
1399
|
+
//! and inserts elements from the range [il.begin(), il.end()).
|
|
1340
1400
|
//!
|
|
1341
1401
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1342
|
-
//!
|
|
1343
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
: base_t(false, il.begin(), il.end(), comp, a)
|
|
1347
|
-
{
|
|
1348
|
-
//A type must be std::pair<CONST Key, T>
|
|
1349
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
1350
|
-
}
|
|
1402
|
+
//! the predicate and otherwise N logN, where N is il.first() - il.end().
|
|
1403
|
+
BOOST_CONTAINER_FORCEINLINE multimap(std::initializer_list<value_type> il)
|
|
1404
|
+
: base_t(false, il.begin(), il.end())
|
|
1405
|
+
{}
|
|
1351
1406
|
|
|
1352
1407
|
//! <b>Effects</b>: Constructs an empty multimap using the specified
|
|
1353
1408
|
//! allocator, and inserts elements from the range [il.begin(), il.end()).
|
|
1354
1409
|
//!
|
|
1355
1410
|
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1356
|
-
//!
|
|
1357
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
1358
|
-
multimap(std::initializer_list<value_type> il, const allocator_type& a)
|
|
1411
|
+
//! the predicate and otherwise N logN, where N is il.first() - il.end().
|
|
1412
|
+
BOOST_CONTAINER_FORCEINLINE multimap(std::initializer_list<value_type> il, const allocator_type& a)
|
|
1359
1413
|
: base_t(false, il.begin(), il.end(), Compare(), a)
|
|
1360
|
-
{
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1414
|
+
{}
|
|
1415
|
+
|
|
1416
|
+
//! <b>Effects</b>: Constructs an empty multimap using the specified comparison object and
|
|
1417
|
+
//! inserts elements from the range [il.begin(), il.end()).
|
|
1418
|
+
//!
|
|
1419
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1420
|
+
//! the predicate and otherwise N logN, where N is il.first() - il.end().
|
|
1421
|
+
BOOST_CONTAINER_FORCEINLINE multimap(std::initializer_list<value_type> il, const Compare& comp)
|
|
1422
|
+
: base_t(false, il.begin(), il.end(), comp)
|
|
1423
|
+
{}
|
|
1364
1424
|
|
|
1365
|
-
//! <b>Effects</b>: Constructs an empty
|
|
1366
|
-
//! allocator, and inserts elements from the
|
|
1425
|
+
//! <b>Effects</b>: Constructs an empty multimap using the specified comparison object and
|
|
1426
|
+
//! allocator, and inserts elements from the range [il.begin(), il.end()).
|
|
1427
|
+
//!
|
|
1428
|
+
//! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
|
|
1429
|
+
//! the predicate and otherwise N logN, where N is il.first() - il.end().
|
|
1430
|
+
BOOST_CONTAINER_FORCEINLINE multimap(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
|
|
1431
|
+
: base_t(false, il.begin(), il.end(), comp, a)
|
|
1432
|
+
{}
|
|
1433
|
+
|
|
1434
|
+
|
|
1435
|
+
//! <b>Effects</b>: Constructs an empty map and
|
|
1436
|
+
//! inserts elements from the ordered range [il.begin(), il.end()). This function
|
|
1367
1437
|
//! is more efficient than the normal range creation for ordered ranges.
|
|
1368
1438
|
//!
|
|
1369
1439
|
//! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
|
|
@@ -1371,14 +1441,36 @@ class multimap
|
|
|
1371
1441
|
//! <b>Complexity</b>: Linear in N.
|
|
1372
1442
|
//!
|
|
1373
1443
|
//! <b>Note</b>: Non-standard extension.
|
|
1374
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
1375
|
-
|
|
1376
|
-
|
|
1444
|
+
BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, std::initializer_list<value_type> il)
|
|
1445
|
+
: base_t(ordered_range, il.begin(), il.end())
|
|
1446
|
+
{}
|
|
1447
|
+
|
|
1448
|
+
//! <b>Effects</b>: Constructs an empty map using the specified comparison object and
|
|
1449
|
+
//! inserts elements from the ordered range [il.begin(), il.end()). This function
|
|
1450
|
+
//! is more efficient than the normal range creation for ordered ranges.
|
|
1451
|
+
//!
|
|
1452
|
+
//! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
|
|
1453
|
+
//!
|
|
1454
|
+
//! <b>Complexity</b>: Linear in N.
|
|
1455
|
+
//!
|
|
1456
|
+
//! <b>Note</b>: Non-standard extension.
|
|
1457
|
+
BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp)
|
|
1458
|
+
: base_t(ordered_range, il.begin(), il.end(), comp)
|
|
1459
|
+
{}
|
|
1460
|
+
|
|
1461
|
+
//! <b>Effects</b>: Constructs an empty map and
|
|
1462
|
+
//! inserts elements from the ordered range [il.begin(), il.end()). This function
|
|
1463
|
+
//! is more efficient than the normal range creation for ordered ranges.
|
|
1464
|
+
//!
|
|
1465
|
+
//! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
|
|
1466
|
+
//!
|
|
1467
|
+
//! <b>Complexity</b>: Linear in N.
|
|
1468
|
+
//!
|
|
1469
|
+
//! <b>Note</b>: Non-standard extension.
|
|
1470
|
+
BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
|
|
1377
1471
|
: base_t(ordered_range, il.begin(), il.end(), comp, a)
|
|
1378
|
-
{
|
|
1379
|
-
|
|
1380
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
1381
|
-
}
|
|
1472
|
+
{}
|
|
1473
|
+
|
|
1382
1474
|
#endif
|
|
1383
1475
|
|
|
1384
1476
|
//! <b>Effects</b>: Copy constructs a multimap.
|
|
@@ -1386,10 +1478,7 @@ class multimap
|
|
|
1386
1478
|
//! <b>Complexity</b>: Linear in x.size().
|
|
1387
1479
|
BOOST_CONTAINER_FORCEINLINE multimap(const multimap& x)
|
|
1388
1480
|
: base_t(static_cast<const base_t&>(x))
|
|
1389
|
-
{
|
|
1390
|
-
//A type must be std::pair<CONST Key, T>
|
|
1391
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
1392
|
-
}
|
|
1481
|
+
{}
|
|
1393
1482
|
|
|
1394
1483
|
//! <b>Effects</b>: Move constructs a multimap. Constructs *this using x's resources.
|
|
1395
1484
|
//!
|
|
@@ -1397,22 +1486,16 @@ class multimap
|
|
|
1397
1486
|
//!
|
|
1398
1487
|
//! <b>Postcondition</b>: x is emptied.
|
|
1399
1488
|
BOOST_CONTAINER_FORCEINLINE multimap(BOOST_RV_REF(multimap) x)
|
|
1400
|
-
BOOST_NOEXCEPT_IF(boost::container::
|
|
1489
|
+
BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
|
|
1401
1490
|
: base_t(BOOST_MOVE_BASE(base_t, x))
|
|
1402
|
-
{
|
|
1403
|
-
//A type must be std::pair<CONST Key, T>
|
|
1404
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
1405
|
-
}
|
|
1491
|
+
{}
|
|
1406
1492
|
|
|
1407
1493
|
//! <b>Effects</b>: Copy constructs a multimap.
|
|
1408
1494
|
//!
|
|
1409
1495
|
//! <b>Complexity</b>: Linear in x.size().
|
|
1410
1496
|
BOOST_CONTAINER_FORCEINLINE multimap(const multimap& x, const allocator_type &a)
|
|
1411
1497
|
: base_t(static_cast<const base_t&>(x), a)
|
|
1412
|
-
{
|
|
1413
|
-
//A type must be std::pair<CONST Key, T>
|
|
1414
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
1415
|
-
}
|
|
1498
|
+
{}
|
|
1416
1499
|
|
|
1417
1500
|
//! <b>Effects</b>: Move constructs a multimap using the specified allocator.
|
|
1418
1501
|
//! Constructs *this using x's resources.
|
|
@@ -1421,10 +1504,7 @@ class multimap
|
|
|
1421
1504
|
//! <b>Postcondition</b>: x is emptied.
|
|
1422
1505
|
BOOST_CONTAINER_FORCEINLINE multimap(BOOST_RV_REF(multimap) x, const allocator_type &a)
|
|
1423
1506
|
: base_t(BOOST_MOVE_BASE(base_t, x), a)
|
|
1424
|
-
{
|
|
1425
|
-
//A type must be std::pair<CONST Key, T>
|
|
1426
|
-
BOOST_STATIC_ASSERT((container_detail::is_same<std::pair<const Key, T>, typename Allocator::value_type>::value));
|
|
1427
|
-
}
|
|
1507
|
+
{}
|
|
1428
1508
|
|
|
1429
1509
|
//! <b>Effects</b>: Makes *this a copy of x.
|
|
1430
1510
|
//!
|
|
@@ -1438,7 +1518,7 @@ class multimap
|
|
|
1438
1518
|
BOOST_CONTAINER_FORCEINLINE multimap& operator=(BOOST_RV_REF(multimap) x)
|
|
1439
1519
|
BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
|
|
1440
1520
|
allocator_traits_type::is_always_equal::value) &&
|
|
1441
|
-
boost::container::
|
|
1521
|
+
boost::container::dtl::is_nothrow_move_assignable<Compare>::value)
|
|
1442
1522
|
{ return static_cast<multimap&>(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); }
|
|
1443
1523
|
|
|
1444
1524
|
#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
|
|
@@ -1708,37 +1788,37 @@ class multimap
|
|
|
1708
1788
|
//!
|
|
1709
1789
|
//! <b>Complexity</b>: N log(a.size() + N) (N has the value source.size())
|
|
1710
1790
|
template<class C2>
|
|
1711
|
-
void merge(multimap<Key, T, C2, Allocator, Options>& source)
|
|
1791
|
+
BOOST_CONTAINER_FORCEINLINE void merge(multimap<Key, T, C2, Allocator, Options>& source)
|
|
1712
1792
|
{
|
|
1713
|
-
typedef
|
|
1793
|
+
typedef dtl::tree
|
|
1714
1794
|
<value_type_impl, select_1st_t, C2, Allocator, Options> base2_t;
|
|
1715
1795
|
this->base_t::merge_equal(static_cast<base2_t&>(source));
|
|
1716
1796
|
}
|
|
1717
1797
|
|
|
1718
1798
|
//! @copydoc ::boost::container::multimap::merge(multimap<Key, T, C2, Allocator, Options>&)
|
|
1719
1799
|
template<class C2>
|
|
1720
|
-
void merge(BOOST_RV_REF_BEG multimap<Key, T, C2, Allocator, Options> BOOST_RV_REF_END source)
|
|
1800
|
+
BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG multimap<Key, T, C2, Allocator, Options> BOOST_RV_REF_END source)
|
|
1721
1801
|
{ return this->merge(static_cast<multimap<Key, T, C2, Allocator, Options>&>(source)); }
|
|
1722
1802
|
|
|
1723
1803
|
//! @copydoc ::boost::container::multimap::merge(multimap<Key, T, C2, Allocator, Options>&)
|
|
1724
1804
|
template<class C2>
|
|
1725
|
-
void merge(map<Key, T, C2, Allocator, Options>& source)
|
|
1805
|
+
BOOST_CONTAINER_FORCEINLINE void merge(map<Key, T, C2, Allocator, Options>& source)
|
|
1726
1806
|
{
|
|
1727
|
-
typedef
|
|
1807
|
+
typedef dtl::tree
|
|
1728
1808
|
<value_type_impl, select_1st_t, C2, Allocator, Options> base2_t;
|
|
1729
1809
|
this->base_t::merge_equal(static_cast<base2_t&>(source));
|
|
1730
1810
|
}
|
|
1731
1811
|
|
|
1732
1812
|
//! @copydoc ::boost::container::multimap::merge(multimap<Key, T, C2, Allocator, Options>&)
|
|
1733
1813
|
template<class C2>
|
|
1734
|
-
void merge(BOOST_RV_REF_BEG map<Key, T, C2, Allocator, Options> BOOST_RV_REF_END source)
|
|
1814
|
+
BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG map<Key, T, C2, Allocator, Options> BOOST_RV_REF_END source)
|
|
1735
1815
|
{ return this->merge(static_cast<map<Key, T, C2, Allocator, Options>&>(source)); }
|
|
1736
1816
|
|
|
1737
1817
|
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
1738
1818
|
//! @copydoc ::boost::container::set::swap
|
|
1739
1819
|
void swap(multiset& x)
|
|
1740
1820
|
BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
|
|
1741
|
-
&& boost::container::
|
|
1821
|
+
&& boost::container::dtl::is_nothrow_swappable<Compare>::value );
|
|
1742
1822
|
|
|
1743
1823
|
//! @copydoc ::boost::container::set::clear
|
|
1744
1824
|
void clear() BOOST_NOEXCEPT_OR_NOTHROW;
|