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,7 +33,7 @@ namespace boost { namespace container {
|
|
|
33
33
|
|
|
34
34
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
35
35
|
|
|
36
|
-
namespace
|
|
36
|
+
namespace dtl {
|
|
37
37
|
|
|
38
38
|
template<class T, std::size_t N>
|
|
39
39
|
class static_storage_allocator
|
|
@@ -51,17 +51,17 @@ class static_storage_allocator
|
|
|
51
51
|
{ return *this; }
|
|
52
52
|
|
|
53
53
|
BOOST_CONTAINER_FORCEINLINE T* internal_storage() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
54
|
-
{ return const_cast<T*>(static_cast<const T*>(static_cast<const void*>(
|
|
54
|
+
{ return const_cast<T*>(static_cast<const T*>(static_cast<const void*>(storage.data))); }
|
|
55
55
|
|
|
56
56
|
BOOST_CONTAINER_FORCEINLINE T* internal_storage() BOOST_NOEXCEPT_OR_NOTHROW
|
|
57
|
-
{ return static_cast<T*>(static_cast<void*>(
|
|
57
|
+
{ return static_cast<T*>(static_cast<void*>(storage.data)); }
|
|
58
58
|
|
|
59
59
|
static const std::size_t internal_capacity = N;
|
|
60
60
|
|
|
61
61
|
std::size_t max_size() const
|
|
62
62
|
{ return N; }
|
|
63
63
|
|
|
64
|
-
typedef boost::container::
|
|
64
|
+
typedef boost::container::dtl::version_type<static_storage_allocator, 0> version;
|
|
65
65
|
|
|
66
66
|
BOOST_CONTAINER_FORCEINLINE friend bool operator==(const static_storage_allocator &, const static_storage_allocator &) BOOST_NOEXCEPT_OR_NOTHROW
|
|
67
67
|
{ return false; }
|
|
@@ -73,7 +73,7 @@ class static_storage_allocator
|
|
|
73
73
|
typename aligned_storage<sizeof(T)*N, alignment_of<T>::value>::type storage;
|
|
74
74
|
};
|
|
75
75
|
|
|
76
|
-
} //namespace
|
|
76
|
+
} //namespace dtl {
|
|
77
77
|
|
|
78
78
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
79
79
|
|
|
@@ -103,16 +103,18 @@ class static_storage_allocator
|
|
|
103
103
|
//!@tparam Capacity The maximum number of elements static_vector can store, fixed at compile time.
|
|
104
104
|
template <typename Value, std::size_t Capacity>
|
|
105
105
|
class static_vector
|
|
106
|
-
: public vector<Value,
|
|
106
|
+
: public vector<Value, dtl::static_storage_allocator<Value, Capacity> >
|
|
107
107
|
{
|
|
108
108
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
109
|
-
typedef vector<Value,
|
|
109
|
+
typedef vector<Value, dtl::static_storage_allocator<Value, Capacity> > base_t;
|
|
110
110
|
|
|
111
111
|
BOOST_COPYABLE_AND_MOVABLE(static_vector)
|
|
112
112
|
|
|
113
113
|
template<class U, std::size_t OtherCapacity>
|
|
114
114
|
friend class static_vector;
|
|
115
115
|
|
|
116
|
+
public:
|
|
117
|
+
typedef dtl::static_storage_allocator<Value, Capacity> allocator_type;
|
|
116
118
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
117
119
|
|
|
118
120
|
public:
|
|
@@ -252,6 +254,19 @@ public:
|
|
|
252
254
|
: base_t(other)
|
|
253
255
|
{}
|
|
254
256
|
|
|
257
|
+
BOOST_CONTAINER_FORCEINLINE static_vector(static_vector const& other, const allocator_type &)
|
|
258
|
+
: base_t(other)
|
|
259
|
+
{}
|
|
260
|
+
|
|
261
|
+
BOOST_CONTAINER_FORCEINLINE static_vector(BOOST_RV_REF(static_vector) other, const allocator_type &)
|
|
262
|
+
BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<value_type>::value)
|
|
263
|
+
: base_t(BOOST_MOVE_BASE(base_t, other))
|
|
264
|
+
{}
|
|
265
|
+
|
|
266
|
+
BOOST_CONTAINER_FORCEINLINE explicit static_vector(const allocator_type &)
|
|
267
|
+
: base_t()
|
|
268
|
+
{}
|
|
269
|
+
|
|
255
270
|
//! @pre <tt>other.size() <= capacity()</tt>.
|
|
256
271
|
//!
|
|
257
272
|
//! @brief Constructs a copy of other static_vector.
|
|
@@ -279,7 +294,7 @@ public:
|
|
|
279
294
|
//! @par Complexity
|
|
280
295
|
//! Linear O(N).
|
|
281
296
|
BOOST_CONTAINER_FORCEINLINE static_vector(BOOST_RV_REF(static_vector) other)
|
|
282
|
-
BOOST_NOEXCEPT_IF(boost::container::
|
|
297
|
+
BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<value_type>::value)
|
|
283
298
|
: base_t(BOOST_MOVE_BASE(base_t, other))
|
|
284
299
|
{}
|
|
285
300
|
|
|
@@ -1213,7 +1228,7 @@ inline void swap(static_vector<V, C1> & x, static_vector<V, C2> & y);
|
|
|
1213
1228
|
|
|
1214
1229
|
template<typename V, std::size_t C1, std::size_t C2>
|
|
1215
1230
|
inline void swap(static_vector<V, C1> & x, static_vector<V, C2> & y
|
|
1216
|
-
, typename
|
|
1231
|
+
, typename dtl::enable_if_c< C1 != C2>::type * = 0)
|
|
1217
1232
|
{
|
|
1218
1233
|
x.swap(y);
|
|
1219
1234
|
}
|
|
@@ -35,10 +35,11 @@
|
|
|
35
35
|
#include <boost/container/detail/min_max.hpp>
|
|
36
36
|
#include <boost/container/detail/mpl.hpp>
|
|
37
37
|
#include <boost/container/detail/next_capacity.hpp>
|
|
38
|
-
#include <boost/
|
|
38
|
+
#include <boost/move/detail/to_raw_pointer.hpp>
|
|
39
39
|
#include <boost/container/detail/version_type.hpp>
|
|
40
40
|
#include <boost/container/detail/type_traits.hpp>
|
|
41
41
|
#include <boost/container/detail/minimal_char_traits_header.hpp>
|
|
42
|
+
#include <boost/container/detail/algorithm.hpp>
|
|
42
43
|
|
|
43
44
|
#include <boost/intrusive/pointer_traits.hpp>
|
|
44
45
|
|
|
@@ -51,7 +52,6 @@
|
|
|
51
52
|
#include <boost/functional/hash.hpp>
|
|
52
53
|
|
|
53
54
|
#include <algorithm>
|
|
54
|
-
#include <functional> //bind2nd, etc.
|
|
55
55
|
#include <iosfwd>
|
|
56
56
|
#include <istream>
|
|
57
57
|
#include <ostream>
|
|
@@ -70,7 +70,7 @@ namespace boost {
|
|
|
70
70
|
namespace container {
|
|
71
71
|
|
|
72
72
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
73
|
-
namespace
|
|
73
|
+
namespace dtl {
|
|
74
74
|
// ------------------------------------------------------------
|
|
75
75
|
// Class basic_string_base.
|
|
76
76
|
|
|
@@ -170,8 +170,8 @@ class basic_string_base
|
|
|
170
170
|
//This type has the same alignment and size as long_t but it's POD
|
|
171
171
|
//so, unlike long_t, it can be placed in a union
|
|
172
172
|
|
|
173
|
-
typedef typename
|
|
174
|
-
<sizeof(long_t),
|
|
173
|
+
typedef typename dtl::aligned_storage
|
|
174
|
+
<sizeof(long_t), dtl::alignment_of<long_t>::value>::type long_raw_t;
|
|
175
175
|
|
|
176
176
|
protected:
|
|
177
177
|
static const size_type MinInternalBufferChars = 8;
|
|
@@ -199,7 +199,7 @@ class basic_string_base
|
|
|
199
199
|
{ return s; }
|
|
200
200
|
|
|
201
201
|
const long_t &long_repr() const
|
|
202
|
-
{ return *static_cast<const long_t*>(static_cast<const void*>(
|
|
202
|
+
{ return *static_cast<const long_t*>(static_cast<const void*>(r.data)); }
|
|
203
203
|
|
|
204
204
|
short_t &short_repr()
|
|
205
205
|
{ return s; }
|
|
@@ -274,8 +274,8 @@ class basic_string_base
|
|
|
274
274
|
|
|
275
275
|
protected:
|
|
276
276
|
|
|
277
|
-
typedef
|
|
278
|
-
boost::container::
|
|
277
|
+
typedef dtl::integral_constant<unsigned,
|
|
278
|
+
boost::container::dtl::version<Allocator>::value> alloc_version;
|
|
279
279
|
|
|
280
280
|
pointer allocation_command(allocation_type command,
|
|
281
281
|
size_type limit_size,
|
|
@@ -286,16 +286,14 @@ class basic_string_base
|
|
|
286
286
|
reuse = 0;
|
|
287
287
|
command &= ~(expand_fwd | expand_bwd);
|
|
288
288
|
}
|
|
289
|
-
return
|
|
289
|
+
return dtl::allocator_version_traits<Allocator>::allocation_command
|
|
290
290
|
(this->alloc(), command, limit_size, prefer_in_recvd_out_size, reuse);
|
|
291
291
|
}
|
|
292
292
|
|
|
293
293
|
size_type next_capacity(size_type additional_objects) const
|
|
294
294
|
{
|
|
295
|
-
return
|
|
296
|
-
|
|
297
|
-
get( allocator_traits_type::max_size(this->alloc())
|
|
298
|
-
, this->priv_storage(), additional_objects );
|
|
295
|
+
return growth_factor_100()
|
|
296
|
+
( this->priv_storage(), additional_objects, allocator_traits_type::max_size(this->alloc()));
|
|
299
297
|
}
|
|
300
298
|
|
|
301
299
|
void deallocate(pointer p, size_type n)
|
|
@@ -308,14 +306,14 @@ class basic_string_base
|
|
|
308
306
|
{
|
|
309
307
|
allocator_traits_type::construct
|
|
310
308
|
( this->alloc()
|
|
311
|
-
,
|
|
309
|
+
, boost::movelib::to_raw_pointer(p)
|
|
312
310
|
, value
|
|
313
311
|
);
|
|
314
312
|
}
|
|
315
313
|
|
|
316
314
|
void destroy(pointer p, size_type n)
|
|
317
315
|
{
|
|
318
|
-
value_type *raw_p =
|
|
316
|
+
value_type *raw_p = boost::movelib::to_raw_pointer(p);
|
|
319
317
|
for(; n--; ++raw_p){
|
|
320
318
|
allocator_traits_type::destroy( this->alloc(), raw_p);
|
|
321
319
|
}
|
|
@@ -325,7 +323,7 @@ class basic_string_base
|
|
|
325
323
|
{
|
|
326
324
|
allocator_traits_type::destroy
|
|
327
325
|
( this->alloc()
|
|
328
|
-
,
|
|
326
|
+
, boost::movelib::to_raw_pointer(p)
|
|
329
327
|
);
|
|
330
328
|
}
|
|
331
329
|
|
|
@@ -460,7 +458,7 @@ class basic_string_base
|
|
|
460
458
|
}
|
|
461
459
|
};
|
|
462
460
|
|
|
463
|
-
} //namespace
|
|
461
|
+
} //namespace dtl {
|
|
464
462
|
|
|
465
463
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
466
464
|
|
|
@@ -502,13 +500,13 @@ template <class CharT, class Traits = std::char_traits<CharT>, class Allocator =
|
|
|
502
500
|
template <class CharT, class Traits, class Allocator>
|
|
503
501
|
#endif
|
|
504
502
|
class basic_string
|
|
505
|
-
: private
|
|
503
|
+
: private dtl::basic_string_base<Allocator>
|
|
506
504
|
{
|
|
507
505
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
508
506
|
private:
|
|
509
507
|
typedef allocator_traits<Allocator> allocator_traits_type;
|
|
510
508
|
BOOST_COPYABLE_AND_MOVABLE(basic_string)
|
|
511
|
-
typedef
|
|
509
|
+
typedef dtl::basic_string_base<Allocator> base_t;
|
|
512
510
|
static const typename base_t::size_type InternalBufferChars = base_t::InternalBufferChars;
|
|
513
511
|
|
|
514
512
|
protected:
|
|
@@ -541,8 +539,8 @@ class basic_string
|
|
|
541
539
|
|
|
542
540
|
bool operator()(const typename Tr::char_type& x) const
|
|
543
541
|
{
|
|
544
|
-
return
|
|
545
|
-
|
|
542
|
+
return boost::container::find_if(m_first, m_last,
|
|
543
|
+
boost::container::bind1st(Eq_traits<Tr>(), x)) == m_last;
|
|
546
544
|
}
|
|
547
545
|
};
|
|
548
546
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
@@ -598,7 +596,7 @@ class basic_string
|
|
|
598
596
|
//! <b>Effects</b>: Default constructs a basic_string.
|
|
599
597
|
//!
|
|
600
598
|
//! <b>Throws</b>: If allocator_type's default constructor throws.
|
|
601
|
-
basic_string() BOOST_NOEXCEPT_IF(
|
|
599
|
+
basic_string() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<Allocator>::value)
|
|
602
600
|
: base_t()
|
|
603
601
|
{ this->priv_terminate_string(); }
|
|
604
602
|
|
|
@@ -689,7 +687,7 @@ class basic_string
|
|
|
689
687
|
throw_out_of_range("basic_string::basic_string out of range position");
|
|
690
688
|
else
|
|
691
689
|
this->assign
|
|
692
|
-
(s.begin() + pos, s.begin() + pos +
|
|
690
|
+
(s.begin() + pos, s.begin() + pos + dtl::min_value(n, s.size() - pos));
|
|
693
691
|
}
|
|
694
692
|
|
|
695
693
|
//! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
|
|
@@ -702,7 +700,7 @@ class basic_string
|
|
|
702
700
|
throw_out_of_range("basic_string::basic_string out of range position");
|
|
703
701
|
else
|
|
704
702
|
this->assign
|
|
705
|
-
(s.begin() + pos, s.begin() + pos +
|
|
703
|
+
(s.begin() + pos, s.begin() + pos + dtl::min_value(n, s.size() - pos));
|
|
706
704
|
}
|
|
707
705
|
|
|
708
706
|
//! <b>Effects</b>: Constructs a basic_string taking a default-constructed allocator,
|
|
@@ -827,7 +825,7 @@ class basic_string
|
|
|
827
825
|
if (&x != this){
|
|
828
826
|
allocator_type &this_alloc = this->alloc();
|
|
829
827
|
const allocator_type &x_alloc = x.alloc();
|
|
830
|
-
|
|
828
|
+
dtl::bool_<allocator_traits_type::
|
|
831
829
|
propagate_on_container_copy_assignment::value> flag;
|
|
832
830
|
if(flag && this_alloc != x_alloc){
|
|
833
831
|
if(!this->is_short()){
|
|
@@ -837,7 +835,7 @@ class basic_string
|
|
|
837
835
|
this->priv_short_size(0);
|
|
838
836
|
}
|
|
839
837
|
}
|
|
840
|
-
|
|
838
|
+
dtl::assign_alloc(this->alloc(), x.alloc(), flag);
|
|
841
839
|
this->assign(x.begin(), x.end());
|
|
842
840
|
}
|
|
843
841
|
return *this;
|
|
@@ -861,7 +859,7 @@ class basic_string
|
|
|
861
859
|
allocator_type &x_alloc = x.alloc();
|
|
862
860
|
const bool propagate_alloc = allocator_traits_type::
|
|
863
861
|
propagate_on_container_move_assignment::value;
|
|
864
|
-
|
|
862
|
+
dtl::bool_<propagate_alloc> flag;
|
|
865
863
|
const bool allocators_equal = this_alloc == x_alloc; (void)allocators_equal;
|
|
866
864
|
//Resources can be transferred if both allocators are
|
|
867
865
|
//going to be equal after this function (either propagated or already equal)
|
|
@@ -869,7 +867,7 @@ class basic_string
|
|
|
869
867
|
//Destroy objects but retain memory in case x reuses it in the future
|
|
870
868
|
this->clear();
|
|
871
869
|
//Move allocator if needed
|
|
872
|
-
|
|
870
|
+
dtl::move_alloc(this_alloc, x_alloc, flag);
|
|
873
871
|
//Nothrow swap
|
|
874
872
|
this->swap_data(x);
|
|
875
873
|
}
|
|
@@ -1158,8 +1156,8 @@ class basic_string
|
|
|
1158
1156
|
size_type long_storage = this->priv_long_storage();
|
|
1159
1157
|
size_type long_size = this->priv_long_size();
|
|
1160
1158
|
//Shrink from allocated buffer to the internal one, including trailing null
|
|
1161
|
-
Traits::copy(
|
|
1162
|
-
,
|
|
1159
|
+
Traits::copy( boost::movelib::to_raw_pointer(this->priv_short_addr())
|
|
1160
|
+
, boost::movelib::to_raw_pointer(long_addr)
|
|
1163
1161
|
, long_size+1);
|
|
1164
1162
|
this->is_short(true);
|
|
1165
1163
|
this->alloc().deallocate(long_addr, long_storage);
|
|
@@ -1356,7 +1354,7 @@ class basic_string
|
|
|
1356
1354
|
if (pos > s.size())
|
|
1357
1355
|
throw_out_of_range("basic_string::append out of range position");
|
|
1358
1356
|
return this->append(s.begin() + pos,
|
|
1359
|
-
s.begin() + pos +
|
|
1357
|
+
s.begin() + pos + dtl::min_value(n, s.size() - pos));
|
|
1360
1358
|
}
|
|
1361
1359
|
|
|
1362
1360
|
//! <b>Requires</b>: s points to an array of at least n elements of CharT.
|
|
@@ -1457,7 +1455,7 @@ class basic_string
|
|
|
1457
1455
|
if (pos > s.size())
|
|
1458
1456
|
throw_out_of_range("basic_string::assign out of range position");
|
|
1459
1457
|
return this->assign(s.begin() + pos,
|
|
1460
|
-
s.begin() + pos +
|
|
1458
|
+
s.begin() + pos + dtl::min_value(n, s.size() - pos));
|
|
1461
1459
|
}
|
|
1462
1460
|
|
|
1463
1461
|
//! <b>Requires</b>: s points to an array of at least n elements of CharT.
|
|
@@ -1492,7 +1490,7 @@ class basic_string
|
|
|
1492
1490
|
{
|
|
1493
1491
|
size_type n = static_cast<size_type>(last - first);
|
|
1494
1492
|
this->reserve(n);
|
|
1495
|
-
CharT* ptr =
|
|
1493
|
+
CharT* ptr = boost::movelib::to_raw_pointer(this->priv_addr());
|
|
1496
1494
|
Traits::copy(ptr, first, n);
|
|
1497
1495
|
this->priv_construct_null(ptr + n);
|
|
1498
1496
|
this->priv_size(n);
|
|
@@ -1505,13 +1503,13 @@ class basic_string
|
|
|
1505
1503
|
template <class InputIter>
|
|
1506
1504
|
basic_string& assign(InputIter first, InputIter last
|
|
1507
1505
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
1508
|
-
, typename
|
|
1506
|
+
, typename dtl::disable_if_convertible<InputIter, size_type>::type * = 0
|
|
1509
1507
|
#endif
|
|
1510
1508
|
)
|
|
1511
1509
|
{
|
|
1512
1510
|
size_type cur = 0;
|
|
1513
1511
|
const pointer addr = this->priv_addr();
|
|
1514
|
-
CharT *ptr =
|
|
1512
|
+
CharT *ptr = boost::movelib::to_raw_pointer(addr);
|
|
1515
1513
|
const size_type old_size = this->priv_size();
|
|
1516
1514
|
while (first != last && cur != old_size) {
|
|
1517
1515
|
Traits::assign(*ptr, *first);
|
|
@@ -1567,10 +1565,10 @@ class basic_string
|
|
|
1567
1565
|
const size_type str_size = s.size();
|
|
1568
1566
|
if (pos1 > sz || pos2 > str_size)
|
|
1569
1567
|
throw_out_of_range("basic_string::insert out of range position");
|
|
1570
|
-
size_type len =
|
|
1568
|
+
size_type len = dtl::min_value(n, str_size - pos2);
|
|
1571
1569
|
if (sz > this->max_size() - len)
|
|
1572
1570
|
throw_length_error("basic_string::insert max_size() exceeded");
|
|
1573
|
-
const CharT *beg_ptr =
|
|
1571
|
+
const CharT *beg_ptr = boost::movelib::to_raw_pointer(s.begin()) + pos2;
|
|
1574
1572
|
const CharT *end_ptr = beg_ptr + len;
|
|
1575
1573
|
this->insert(this->priv_addr() + pos1, beg_ptr, end_ptr);
|
|
1576
1574
|
return *this;
|
|
@@ -1666,10 +1664,10 @@ class basic_string
|
|
|
1666
1664
|
template <class InputIter>
|
|
1667
1665
|
iterator insert(const_iterator p, InputIter first, InputIter last
|
|
1668
1666
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
1669
|
-
, typename
|
|
1667
|
+
, typename dtl::disable_if_or
|
|
1670
1668
|
< void
|
|
1671
|
-
,
|
|
1672
|
-
,
|
|
1669
|
+
, dtl::is_convertible<InputIter, size_type>
|
|
1670
|
+
, dtl::is_not_input_iterator<InputIter>
|
|
1673
1671
|
>::type * = 0
|
|
1674
1672
|
#endif
|
|
1675
1673
|
)
|
|
@@ -1684,10 +1682,10 @@ class basic_string
|
|
|
1684
1682
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
1685
1683
|
template <class ForwardIter>
|
|
1686
1684
|
iterator insert(const_iterator p, ForwardIter first, ForwardIter last
|
|
1687
|
-
, typename
|
|
1685
|
+
, typename dtl::disable_if_or
|
|
1688
1686
|
< void
|
|
1689
|
-
,
|
|
1690
|
-
,
|
|
1687
|
+
, dtl::is_convertible<ForwardIter, size_type>
|
|
1688
|
+
, dtl::is_input_iterator<ForwardIter>
|
|
1691
1689
|
>::type * = 0
|
|
1692
1690
|
)
|
|
1693
1691
|
{
|
|
@@ -1730,10 +1728,10 @@ class basic_string
|
|
|
1730
1728
|
pointer_past_last, pointer_past_last);
|
|
1731
1729
|
|
|
1732
1730
|
this->priv_size(old_size+n);
|
|
1733
|
-
Traits::move(const_cast<CharT*>(
|
|
1734
|
-
|
|
1731
|
+
Traits::move(const_cast<CharT*>(boost::movelib::to_raw_pointer(p + n)),
|
|
1732
|
+
boost::movelib::to_raw_pointer(p),
|
|
1735
1733
|
(elems_after - n) + 1);
|
|
1736
|
-
this->priv_copy(first, last, const_cast<CharT*>(
|
|
1734
|
+
this->priv_copy(first, last, const_cast<CharT*>(boost::movelib::to_raw_pointer(p)));
|
|
1737
1735
|
}
|
|
1738
1736
|
else {
|
|
1739
1737
|
ForwardIter mid = first;
|
|
@@ -1746,7 +1744,7 @@ class basic_string
|
|
|
1746
1744
|
(p, const_iterator(old_start + old_length + 1),
|
|
1747
1745
|
old_start + newer_size);
|
|
1748
1746
|
this->priv_size(newer_size + elems_after);
|
|
1749
|
-
this->priv_copy(first, mid, const_cast<CharT*>(
|
|
1747
|
+
this->priv_copy(first, mid, const_cast<CharT*>(boost::movelib::to_raw_pointer(p)));
|
|
1750
1748
|
}
|
|
1751
1749
|
}
|
|
1752
1750
|
else{
|
|
@@ -1773,9 +1771,9 @@ class basic_string
|
|
|
1773
1771
|
else{
|
|
1774
1772
|
//value_type is POD, so backwards expansion is much easier
|
|
1775
1773
|
//than with vector<T>
|
|
1776
|
-
value_type * const oldbuf =
|
|
1777
|
-
value_type * const newbuf =
|
|
1778
|
-
const value_type *const pos =
|
|
1774
|
+
value_type * const oldbuf = boost::movelib::to_raw_pointer(old_start);
|
|
1775
|
+
value_type * const newbuf = boost::movelib::to_raw_pointer(new_start);
|
|
1776
|
+
const value_type *const pos = boost::movelib::to_raw_pointer(p);
|
|
1779
1777
|
const size_type before = pos - oldbuf;
|
|
1780
1778
|
|
|
1781
1779
|
//First move old data
|
|
@@ -1834,7 +1832,7 @@ class basic_string
|
|
|
1834
1832
|
if (pos > this->size())
|
|
1835
1833
|
throw_out_of_range("basic_string::erase out of range position");
|
|
1836
1834
|
const pointer addr = this->priv_addr();
|
|
1837
|
-
erase(addr + pos, addr + pos +
|
|
1835
|
+
erase(addr + pos, addr + pos + dtl::min_value(n, this->size() - pos));
|
|
1838
1836
|
return *this;
|
|
1839
1837
|
}
|
|
1840
1838
|
|
|
@@ -1847,10 +1845,10 @@ class basic_string
|
|
|
1847
1845
|
iterator erase(const_iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1848
1846
|
{
|
|
1849
1847
|
// The move includes the terminating null.
|
|
1850
|
-
CharT * const ptr = const_cast<CharT*>(
|
|
1848
|
+
CharT * const ptr = const_cast<CharT*>(boost::movelib::to_raw_pointer(p));
|
|
1851
1849
|
const size_type old_size = this->priv_size();
|
|
1852
1850
|
Traits::move(ptr,
|
|
1853
|
-
|
|
1851
|
+
boost::movelib::to_raw_pointer(p + 1),
|
|
1854
1852
|
old_size - (p - this->priv_addr()));
|
|
1855
1853
|
this->priv_size(old_size-1);
|
|
1856
1854
|
return iterator(ptr);
|
|
@@ -1866,12 +1864,12 @@ class basic_string
|
|
|
1866
1864
|
//! the other elements being erased. If no such element exists, end() is returned.
|
|
1867
1865
|
iterator erase(const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1868
1866
|
{
|
|
1869
|
-
CharT * f = const_cast<CharT*>(
|
|
1867
|
+
CharT * f = const_cast<CharT*>(boost::movelib::to_raw_pointer(first));
|
|
1870
1868
|
if (first != last) { // The move includes the terminating null.
|
|
1871
1869
|
const size_type num_erased = last - first;
|
|
1872
1870
|
const size_type old_size = this->priv_size();
|
|
1873
1871
|
Traits::move(f,
|
|
1874
|
-
|
|
1872
|
+
boost::movelib::to_raw_pointer(last),
|
|
1875
1873
|
(old_size + 1)-(last - this->priv_addr()));
|
|
1876
1874
|
const size_type new_length = old_size - num_erased;
|
|
1877
1875
|
this->priv_size(new_length);
|
|
@@ -1903,7 +1901,7 @@ class basic_string
|
|
|
1903
1901
|
{
|
|
1904
1902
|
if (pos1 > this->size())
|
|
1905
1903
|
throw_out_of_range("basic_string::replace out of range position");
|
|
1906
|
-
const size_type len =
|
|
1904
|
+
const size_type len = dtl::min_value(n1, this->size() - pos1);
|
|
1907
1905
|
if (this->size() - len >= this->max_size() - str.size())
|
|
1908
1906
|
throw_length_error("basic_string::replace max_size() exceeded");
|
|
1909
1907
|
const pointer addr = this->priv_addr();
|
|
@@ -1934,7 +1932,7 @@ class basic_string
|
|
|
1934
1932
|
{
|
|
1935
1933
|
if (pos2 > str.size())
|
|
1936
1934
|
throw_out_of_range("basic_string::replace out of range position");
|
|
1937
|
-
return this->replace(pos1, n1, str.data()+pos2,
|
|
1935
|
+
return this->replace(pos1, n1, str.data()+pos2, dtl::min_value(n2, str.size() - pos2));
|
|
1938
1936
|
}
|
|
1939
1937
|
|
|
1940
1938
|
//! <b>Throws</b>: out_of_range if pos1 > size() or pos2 > sv.size().
|
|
@@ -1949,7 +1947,7 @@ class basic_string
|
|
|
1949
1947
|
{
|
|
1950
1948
|
if (pos2 > sv.size())
|
|
1951
1949
|
throw_out_of_range("basic_string::replace out of range position");
|
|
1952
|
-
return this->replace(pos1, n1, sv.data()+pos2,
|
|
1950
|
+
return this->replace(pos1, n1, sv.data()+pos2, dtl::min_value(n2, sv.size() - pos2));
|
|
1953
1951
|
}
|
|
1954
1952
|
|
|
1955
1953
|
//! <b>Requires</b>: pos1 <= size() and s points to an array of at least n2 elements of CharT.
|
|
@@ -1970,7 +1968,7 @@ class basic_string
|
|
|
1970
1968
|
{
|
|
1971
1969
|
if (pos1 > this->size())
|
|
1972
1970
|
throw_out_of_range("basic_string::replace out of range position");
|
|
1973
|
-
const size_type len =
|
|
1971
|
+
const size_type len = dtl::min_value(n1, this->size() - pos1);
|
|
1974
1972
|
const size_type max_size = this->max_size();
|
|
1975
1973
|
if (n2 > max_size || (this->size() - len) >= (max_size - n2))
|
|
1976
1974
|
throw_length_error("basic_string::replace max_size() exceeded");
|
|
@@ -2009,7 +2007,7 @@ class basic_string
|
|
|
2009
2007
|
{
|
|
2010
2008
|
if (pos1 > this->size())
|
|
2011
2009
|
throw_out_of_range("basic_string::replace out of range position");
|
|
2012
|
-
const size_type len =
|
|
2010
|
+
const size_type len = dtl::min_value(n1, this->size() - pos1);
|
|
2013
2011
|
if (n2 > this->max_size() || this->size() - len >= this->max_size() - n2)
|
|
2014
2012
|
throw_length_error("basic_string::replace max_size() exceeded");
|
|
2015
2013
|
const pointer addr = this->priv_addr();
|
|
@@ -2059,11 +2057,11 @@ class basic_string
|
|
|
2059
2057
|
{
|
|
2060
2058
|
const size_type len = static_cast<size_type>(i2 - i1);
|
|
2061
2059
|
if (len >= n) {
|
|
2062
|
-
Traits::assign(const_cast<CharT*>(
|
|
2060
|
+
Traits::assign(const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)), n, c);
|
|
2063
2061
|
erase(i1 + n, i2);
|
|
2064
2062
|
}
|
|
2065
2063
|
else {
|
|
2066
|
-
Traits::assign(const_cast<CharT*>(
|
|
2064
|
+
Traits::assign(const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)), len, c);
|
|
2067
2065
|
insert(i2, n - len, c);
|
|
2068
2066
|
}
|
|
2069
2067
|
return *this;
|
|
@@ -2079,16 +2077,16 @@ class basic_string
|
|
|
2079
2077
|
template <class InputIter>
|
|
2080
2078
|
basic_string& replace(const_iterator i1, const_iterator i2, InputIter j1, InputIter j2
|
|
2081
2079
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
2082
|
-
, typename
|
|
2080
|
+
, typename dtl::disable_if_or
|
|
2083
2081
|
< void
|
|
2084
|
-
,
|
|
2085
|
-
,
|
|
2082
|
+
, dtl::is_convertible<InputIter, size_type>
|
|
2083
|
+
, dtl::is_input_iterator<InputIter>
|
|
2086
2084
|
>::type * = 0
|
|
2087
2085
|
#endif
|
|
2088
2086
|
)
|
|
2089
2087
|
{
|
|
2090
2088
|
for ( ; i1 != i2 && j1 != j2; ++i1, ++j1){
|
|
2091
|
-
Traits::assign(*const_cast<CharT*>(
|
|
2089
|
+
Traits::assign(*const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)), *j1);
|
|
2092
2090
|
}
|
|
2093
2091
|
|
|
2094
2092
|
if (j1 == j2)
|
|
@@ -2101,23 +2099,23 @@ class basic_string
|
|
|
2101
2099
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
2102
2100
|
template <class ForwardIter>
|
|
2103
2101
|
basic_string& replace(const_iterator i1, const_iterator i2, ForwardIter j1, ForwardIter j2
|
|
2104
|
-
, typename
|
|
2102
|
+
, typename dtl::disable_if_or
|
|
2105
2103
|
< void
|
|
2106
|
-
,
|
|
2107
|
-
,
|
|
2104
|
+
, dtl::is_convertible<ForwardIter, size_type>
|
|
2105
|
+
, dtl::is_not_input_iterator<ForwardIter>
|
|
2108
2106
|
>::type * = 0
|
|
2109
2107
|
)
|
|
2110
2108
|
{
|
|
2111
2109
|
difference_type n = boost::container::iterator_distance(j1, j2);
|
|
2112
2110
|
const difference_type len = i2 - i1;
|
|
2113
2111
|
if (len >= n) {
|
|
2114
|
-
this->priv_copy(j1, j2, const_cast<CharT*>(
|
|
2112
|
+
this->priv_copy(j1, j2, const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)));
|
|
2115
2113
|
this->erase(i1 + n, i2);
|
|
2116
2114
|
}
|
|
2117
2115
|
else {
|
|
2118
2116
|
ForwardIter m = j1;
|
|
2119
2117
|
boost::container::iterator_advance(m, len);
|
|
2120
|
-
this->priv_copy(j1, m, const_cast<CharT*>(
|
|
2118
|
+
this->priv_copy(j1, m, const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)));
|
|
2121
2119
|
this->insert(i2, m, j2);
|
|
2122
2120
|
}
|
|
2123
2121
|
return *this;
|
|
@@ -2128,7 +2126,7 @@ class basic_string
|
|
|
2128
2126
|
//!
|
|
2129
2127
|
//! <b>Effects</b>: Calls `replace(i1 - begin(), i2 - i1, sv).`.
|
|
2130
2128
|
//!
|
|
2131
|
-
//! <
|
|
2129
|
+
//! <b>Returns</b>: *this.
|
|
2132
2130
|
template<template <class, class> class BasicStringView>
|
|
2133
2131
|
basic_string& replace(const_iterator i1, const_iterator i2, BasicStringView<CharT, Traits> sv)
|
|
2134
2132
|
{
|
|
@@ -2141,7 +2139,7 @@ class basic_string
|
|
|
2141
2139
|
//!
|
|
2142
2140
|
//! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, il.begin(), il.size()).
|
|
2143
2141
|
//!
|
|
2144
|
-
//! <
|
|
2142
|
+
//! <b>Returns</b>: *this.
|
|
2145
2143
|
basic_string& replace(const_iterator i1, const_iterator i2, std::initializer_list<CharT> il)
|
|
2146
2144
|
{
|
|
2147
2145
|
return this->replace( static_cast<size_type>(i1 - this->cbegin())
|
|
@@ -2165,8 +2163,8 @@ class basic_string
|
|
|
2165
2163
|
{
|
|
2166
2164
|
if (pos > this->size())
|
|
2167
2165
|
throw_out_of_range("basic_string::copy out of range position");
|
|
2168
|
-
const size_type len =
|
|
2169
|
-
Traits::copy(s,
|
|
2166
|
+
const size_type len = dtl::min_value(n, this->size() - pos);
|
|
2167
|
+
Traits::copy(s, boost::movelib::to_raw_pointer(this->priv_addr() + pos), len);
|
|
2170
2168
|
return len;
|
|
2171
2169
|
}
|
|
2172
2170
|
|
|
@@ -2179,8 +2177,8 @@ class basic_string
|
|
|
2179
2177
|
|| allocator_traits_type::is_always_equal::value)
|
|
2180
2178
|
{
|
|
2181
2179
|
this->base_t::swap_data(x);
|
|
2182
|
-
|
|
2183
|
-
|
|
2180
|
+
dtl::bool_<allocator_traits_type::propagate_on_container_swap::value> flag;
|
|
2181
|
+
dtl::swap_alloc(this->alloc(), x.alloc(), flag);
|
|
2184
2182
|
}
|
|
2185
2183
|
|
|
2186
2184
|
//////////////////////////////////////////////
|
|
@@ -2195,7 +2193,7 @@ class basic_string
|
|
|
2195
2193
|
//!
|
|
2196
2194
|
//! <b>Complexity</b>: constant time.
|
|
2197
2195
|
const CharT* c_str() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2198
|
-
{ return
|
|
2196
|
+
{ return boost::movelib::to_raw_pointer(this->priv_addr()); }
|
|
2199
2197
|
|
|
2200
2198
|
//! <b>Requires</b>: The program shall not alter any of the values stored in the character array.
|
|
2201
2199
|
//!
|
|
@@ -2203,13 +2201,13 @@ class basic_string
|
|
|
2203
2201
|
//!
|
|
2204
2202
|
//! <b>Complexity</b>: constant time.
|
|
2205
2203
|
const CharT* data() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
2206
|
-
{ return
|
|
2204
|
+
{ return boost::movelib::to_raw_pointer(this->priv_addr()); }
|
|
2207
2205
|
|
|
2208
2206
|
//! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
|
|
2209
2207
|
//!
|
|
2210
2208
|
//! <b>Complexity</b>: constant time.
|
|
2211
2209
|
CharT* data() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2212
|
-
{ return
|
|
2210
|
+
{ return boost::movelib::to_raw_pointer(this->priv_addr()); }
|
|
2213
2211
|
|
|
2214
2212
|
#ifndef BOOST_CONTAINER_TEMPLATED_CONVERSION_OPERATOR_BROKEN
|
|
2215
2213
|
//! <b>Returns</b>: a string_view to the characters in the string.
|
|
@@ -2272,8 +2270,8 @@ class basic_string
|
|
|
2272
2270
|
const pointer addr = this->priv_addr();
|
|
2273
2271
|
pointer finish = addr + this->priv_size();
|
|
2274
2272
|
const const_iterator result =
|
|
2275
|
-
|
|
2276
|
-
|
|
2273
|
+
boost::container::search(boost::movelib::to_raw_pointer(addr + pos),
|
|
2274
|
+
boost::movelib::to_raw_pointer(finish),
|
|
2277
2275
|
s, s + n, Eq_traits<Traits>());
|
|
2278
2276
|
return result != finish ? result - begin() : npos;
|
|
2279
2277
|
}
|
|
@@ -2299,8 +2297,8 @@ class basic_string
|
|
|
2299
2297
|
const pointer addr = this->priv_addr();
|
|
2300
2298
|
pointer finish = addr + sz;
|
|
2301
2299
|
const const_iterator result =
|
|
2302
|
-
|
|
2303
|
-
|
|
2300
|
+
boost::container::find_if(addr + pos, finish,
|
|
2301
|
+
boost::container::bind2nd(Eq_traits<Traits>(), c));
|
|
2304
2302
|
return result != finish ? result - begin() : npos;
|
|
2305
2303
|
}
|
|
2306
2304
|
}
|
|
@@ -2340,9 +2338,9 @@ class basic_string
|
|
|
2340
2338
|
if (n > len)
|
|
2341
2339
|
return npos;
|
|
2342
2340
|
else if (n == 0)
|
|
2343
|
-
return
|
|
2341
|
+
return dtl::min_value(len, pos);
|
|
2344
2342
|
else {
|
|
2345
|
-
const const_iterator last = begin() +
|
|
2343
|
+
const const_iterator last = begin() + dtl::min_value(len - n, pos) + n;
|
|
2346
2344
|
const const_iterator result = find_end(begin(), last,
|
|
2347
2345
|
s, s + n,
|
|
2348
2346
|
Eq_traits<Traits>());
|
|
@@ -2369,10 +2367,10 @@ class basic_string
|
|
|
2369
2367
|
if (len < 1)
|
|
2370
2368
|
return npos;
|
|
2371
2369
|
else {
|
|
2372
|
-
const const_iterator last = begin() +
|
|
2370
|
+
const const_iterator last = begin() + dtl::min_value(len - 1, pos) + 1;
|
|
2373
2371
|
const_reverse_iterator rresult =
|
|
2374
|
-
|
|
2375
|
-
|
|
2372
|
+
boost::container::find_if(const_reverse_iterator(last), rend(),
|
|
2373
|
+
boost::container::bind2nd(Eq_traits<Traits>(), c));
|
|
2376
2374
|
return rresult != rend() ? (rresult.base() - 1) - begin() : npos;
|
|
2377
2375
|
}
|
|
2378
2376
|
}
|
|
@@ -2385,7 +2383,7 @@ class basic_string
|
|
|
2385
2383
|
//!
|
|
2386
2384
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
|
2387
2385
|
size_type find_first_of(const basic_string& str, size_type pos = 0) const
|
|
2388
|
-
{ return find_first_of(str.c_str(), pos, str.size()); }
|
|
2386
|
+
{ return this->find_first_of(str.c_str(), pos, str.size()); }
|
|
2389
2387
|
|
|
2390
2388
|
//! <b>Effects</b>: Determines the lowest position xpos, if possible, such that both of the
|
|
2391
2389
|
//! following conditions obtain: a) pos <= xpos and xpos < size();
|
|
@@ -2396,7 +2394,7 @@ class basic_string
|
|
|
2396
2394
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
|
2397
2395
|
template<template <class, class> class BasicStringView>
|
|
2398
2396
|
size_type find_first_of(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
|
|
2399
|
-
{ return find_first_of(sv.data(), pos, sv.size()); }
|
|
2397
|
+
{ return this->find_first_of(sv.data(), pos, sv.size()); }
|
|
2400
2398
|
|
|
2401
2399
|
//! <b>Requires</b>: s points to an array of at least n elements of CharT.
|
|
2402
2400
|
//!
|
|
@@ -2411,7 +2409,7 @@ class basic_string
|
|
|
2411
2409
|
else {
|
|
2412
2410
|
const pointer addr = this->priv_addr();
|
|
2413
2411
|
pointer finish = addr + sz;
|
|
2414
|
-
const_iterator result =
|
|
2412
|
+
const_iterator result = boost::container::find_first_of
|
|
2415
2413
|
(addr + pos, finish, s, s + n, Eq_traits<Traits>());
|
|
2416
2414
|
return result != finish ? result - this->begin() : npos;
|
|
2417
2415
|
}
|
|
@@ -2423,7 +2421,7 @@ class basic_string
|
|
|
2423
2421
|
//!
|
|
2424
2422
|
//! <b>Returns</b>: find_first_of(basic_string(s), pos).
|
|
2425
2423
|
size_type find_first_of(const CharT* s, size_type pos = 0) const
|
|
2426
|
-
{ return find_first_of(s, pos, Traits::length(s)); }
|
|
2424
|
+
{ return this->find_first_of(s, pos, Traits::length(s)); }
|
|
2427
2425
|
|
|
2428
2426
|
//! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
|
|
2429
2427
|
//!
|
|
@@ -2431,7 +2429,7 @@ class basic_string
|
|
|
2431
2429
|
//!
|
|
2432
2430
|
//! <b>Returns</b>: find_first_of(basic_string<CharT,traits,Allocator>(1,c), pos).
|
|
2433
2431
|
size_type find_first_of(CharT c, size_type pos = 0) const
|
|
2434
|
-
{ return find(c, pos); }
|
|
2432
|
+
{ return this->find(c, pos); }
|
|
2435
2433
|
|
|
2436
2434
|
//! <b>Effects</b>: Determines the highest position xpos, if possible, such that both of
|
|
2437
2435
|
//! the following conditions obtain: a) xpos <= pos and xpos < size(); b)
|
|
@@ -2441,7 +2439,7 @@ class basic_string
|
|
|
2441
2439
|
//!
|
|
2442
2440
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
|
2443
2441
|
size_type find_last_of(const basic_string& str, size_type pos = npos) const
|
|
2444
|
-
{ return find_last_of(str.c_str(), pos, str.size()); }
|
|
2442
|
+
{ return this->find_last_of(str.c_str(), pos, str.size()); }
|
|
2445
2443
|
|
|
2446
2444
|
//! <b>Effects</b>: Determines the highest position xpos, if possible, such that both of
|
|
2447
2445
|
//! the following conditions obtain: a) xpos <= pos and xpos < size(); b)
|
|
@@ -2452,7 +2450,7 @@ class basic_string
|
|
|
2452
2450
|
//! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
|
|
2453
2451
|
template<template <class, class> class BasicStringView>
|
|
2454
2452
|
size_type find_last_of(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
|
|
2455
|
-
{ return find_last_of(sv.data(), pos, sv.size()); }
|
|
2453
|
+
{ return this->find_last_of(sv.data(), pos, sv.size()); }
|
|
2456
2454
|
|
|
2457
2455
|
//! <b>Requires</b>: s points to an array of at least n elements of CharT.
|
|
2458
2456
|
//!
|
|
@@ -2467,9 +2465,9 @@ class basic_string
|
|
|
2467
2465
|
return npos;
|
|
2468
2466
|
else {
|
|
2469
2467
|
const pointer addr = this->priv_addr();
|
|
2470
|
-
const const_iterator last = addr +
|
|
2468
|
+
const const_iterator last = addr + dtl::min_value(len - 1, pos) + 1;
|
|
2471
2469
|
const const_reverse_iterator rresult =
|
|
2472
|
-
|
|
2470
|
+
boost::container::find_first_of(const_reverse_iterator(last), rend(),
|
|
2473
2471
|
s, s + n, Eq_traits<Traits>());
|
|
2474
2472
|
return rresult != rend() ? (rresult.base() - 1) - addr : npos;
|
|
2475
2473
|
}
|
|
@@ -2524,7 +2522,7 @@ class basic_string
|
|
|
2524
2522
|
else {
|
|
2525
2523
|
const pointer addr = this->priv_addr();
|
|
2526
2524
|
const pointer finish = addr + this->priv_size();
|
|
2527
|
-
const const_iterator result =
|
|
2525
|
+
const const_iterator result = boost::container::find_if
|
|
2528
2526
|
(addr + pos, finish, Not_within_traits<Traits>(s, s + n));
|
|
2529
2527
|
return result != finish ? result - addr : npos;
|
|
2530
2528
|
}
|
|
@@ -2549,8 +2547,8 @@ class basic_string
|
|
|
2549
2547
|
const pointer addr = this->priv_addr();
|
|
2550
2548
|
const pointer finish = addr + this->priv_size();
|
|
2551
2549
|
const const_iterator result
|
|
2552
|
-
=
|
|
2553
|
-
|
|
2550
|
+
= boost::container::find_if(addr + pos, finish,
|
|
2551
|
+
boost::container::not1(boost::container::bind2nd(Eq_traits<Traits>(), c)));
|
|
2554
2552
|
return result != finish ? result - begin() : npos;
|
|
2555
2553
|
}
|
|
2556
2554
|
}
|
|
@@ -2588,9 +2586,9 @@ class basic_string
|
|
|
2588
2586
|
if (len < 1)
|
|
2589
2587
|
return npos;
|
|
2590
2588
|
else {
|
|
2591
|
-
const const_iterator last = begin() +
|
|
2589
|
+
const const_iterator last = begin() + dtl::min_value(len - 1, pos) + 1;
|
|
2592
2590
|
const const_reverse_iterator rresult =
|
|
2593
|
-
|
|
2591
|
+
boost::container::find_if(const_reverse_iterator(last), rend(),
|
|
2594
2592
|
Not_within_traits<Traits>(s, s + n));
|
|
2595
2593
|
return rresult != rend() ? (rresult.base() - 1) - begin() : npos;
|
|
2596
2594
|
}
|
|
@@ -2614,10 +2612,10 @@ class basic_string
|
|
|
2614
2612
|
if (len < 1)
|
|
2615
2613
|
return npos;
|
|
2616
2614
|
else {
|
|
2617
|
-
const const_iterator last = begin() +
|
|
2615
|
+
const const_iterator last = begin() + dtl::min_value(len - 1, pos) + 1;
|
|
2618
2616
|
const const_reverse_iterator rresult =
|
|
2619
|
-
|
|
2620
|
-
|
|
2617
|
+
boost::container::find_if(const_reverse_iterator(last), rend(),
|
|
2618
|
+
boost::container::not1(boost::container::bind2nd(Eq_traits<Traits>(), c)));
|
|
2621
2619
|
return rresult != rend() ? (rresult.base() - 1) - begin() : npos;
|
|
2622
2620
|
}
|
|
2623
2621
|
}
|
|
@@ -2636,7 +2634,7 @@ class basic_string
|
|
|
2636
2634
|
throw_out_of_range("basic_string::substr out of range position");
|
|
2637
2635
|
const pointer addr = this->priv_addr();
|
|
2638
2636
|
return basic_string(addr + pos,
|
|
2639
|
-
addr + pos +
|
|
2637
|
+
addr + pos + dtl::min_value(n, size() - pos), this->alloc());
|
|
2640
2638
|
}
|
|
2641
2639
|
|
|
2642
2640
|
//! <b>Effects</b>: Determines the effective length rlen of the string to compare as
|
|
@@ -2681,7 +2679,7 @@ class basic_string
|
|
|
2681
2679
|
const pointer addr = this->priv_addr();
|
|
2682
2680
|
const pointer str_addr = str.priv_addr();
|
|
2683
2681
|
return s_compare(addr + pos1,
|
|
2684
|
-
addr + pos1 +
|
|
2682
|
+
addr + pos1 + dtl::min_value(n1, this->size() - pos1),
|
|
2685
2683
|
str_addr, str_addr + str.priv_size());
|
|
2686
2684
|
}
|
|
2687
2685
|
|
|
@@ -2697,7 +2695,7 @@ class basic_string
|
|
|
2697
2695
|
throw_out_of_range("basic_string::compare out of range position");
|
|
2698
2696
|
const pointer addr = this->priv_addr() + pos1;
|
|
2699
2697
|
const CharT* str_addr = sv.data();
|
|
2700
|
-
return s_compare(addr, addr +
|
|
2698
|
+
return s_compare(addr, addr + dtl::min_value(n1, this->size() - pos1),
|
|
2701
2699
|
str_addr, str_addr + sv.size());
|
|
2702
2700
|
}
|
|
2703
2701
|
|
|
@@ -2715,8 +2713,8 @@ class basic_string
|
|
|
2715
2713
|
throw_out_of_range("basic_string::compare out of range position");
|
|
2716
2714
|
const pointer addr = this->priv_addr() + pos1;
|
|
2717
2715
|
const pointer str_addr = str.priv_addr() + pos2;
|
|
2718
|
-
return s_compare(addr, addr +
|
|
2719
|
-
str_addr, str_addr +
|
|
2716
|
+
return s_compare(addr, addr + dtl::min_value(n1, this->size() - pos1),
|
|
2717
|
+
str_addr, str_addr + dtl::min_value(n2, str.size() - pos2));
|
|
2720
2718
|
}
|
|
2721
2719
|
|
|
2722
2720
|
//! <b>Requires</b>: pos1 <= size() and pos2 <= str.size()
|
|
@@ -2734,8 +2732,8 @@ class basic_string
|
|
|
2734
2732
|
throw_out_of_range("basic_string::compare out of range position");
|
|
2735
2733
|
const pointer addr = this->priv_addr() + pos1;
|
|
2736
2734
|
const CharT * str_addr = sv.data() + pos2;
|
|
2737
|
-
return s_compare(addr, addr +
|
|
2738
|
-
str_addr, str_addr +
|
|
2735
|
+
return s_compare(addr, addr + dtl::min_value(n1, this->size() - pos1),
|
|
2736
|
+
str_addr, str_addr + dtl::min_value(n2, sv.size() - pos2));
|
|
2739
2737
|
}
|
|
2740
2738
|
|
|
2741
2739
|
//! <b>Throws</b>: Nothing
|
|
@@ -2758,7 +2756,7 @@ class basic_string
|
|
|
2758
2756
|
throw_out_of_range("basic_string::compare out of range position");
|
|
2759
2757
|
const pointer addr = this->priv_addr();
|
|
2760
2758
|
return s_compare( addr + pos1,
|
|
2761
|
-
addr + pos1 +
|
|
2759
|
+
addr + pos1 + dtl::min_value(n1, this->size() - pos1),
|
|
2762
2760
|
s, s + n2);
|
|
2763
2761
|
}
|
|
2764
2762
|
|
|
@@ -2779,7 +2777,7 @@ class basic_string
|
|
|
2779
2777
|
}
|
|
2780
2778
|
|
|
2781
2779
|
if (this->capacity() < res_arg){
|
|
2782
|
-
size_type n =
|
|
2780
|
+
size_type n = dtl::max_value(res_arg, this->size()) + 1;
|
|
2783
2781
|
size_type new_cap = this->next_capacity(n);
|
|
2784
2782
|
pointer reuse = 0;
|
|
2785
2783
|
pointer new_start = this->allocation_command(allocate_new, n, new_cap, reuse);
|
|
@@ -2804,16 +2802,16 @@ class basic_string
|
|
|
2804
2802
|
{
|
|
2805
2803
|
const difference_type n1 = l1 - f1;
|
|
2806
2804
|
const difference_type n2 = l2 - f2;
|
|
2807
|
-
const int cmp = Traits::compare(
|
|
2808
|
-
|
|
2809
|
-
|
|
2805
|
+
const int cmp = Traits::compare(boost::movelib::to_raw_pointer(f1),
|
|
2806
|
+
boost::movelib::to_raw_pointer(f2),
|
|
2807
|
+
dtl::min_value(n1, n2));
|
|
2810
2808
|
return cmp != 0 ? cmp : (n1 < n2 ? -1 : (n1 > n2 ? 1 : 0));
|
|
2811
2809
|
}
|
|
2812
2810
|
|
|
2813
2811
|
template<class AllocVersion>
|
|
2814
2812
|
void priv_shrink_to_fit_dynamic_buffer
|
|
2815
2813
|
( AllocVersion
|
|
2816
|
-
, typename
|
|
2814
|
+
, typename dtl::enable_if<dtl::is_same<AllocVersion, version_1> >::type* = 0)
|
|
2817
2815
|
{
|
|
2818
2816
|
//Allocate a new buffer.
|
|
2819
2817
|
size_type real_cap = 0;
|
|
@@ -2826,8 +2824,8 @@ class basic_string
|
|
|
2826
2824
|
real_cap = long_size+1;
|
|
2827
2825
|
const pointer ret = this->allocation_command(allocate_new, long_size+1, real_cap, reuse);
|
|
2828
2826
|
//Copy and update
|
|
2829
|
-
Traits::copy(
|
|
2830
|
-
,
|
|
2827
|
+
Traits::copy( boost::movelib::to_raw_pointer(ret)
|
|
2828
|
+
, boost::movelib::to_raw_pointer(this->priv_long_addr())
|
|
2831
2829
|
, long_size+1);
|
|
2832
2830
|
this->priv_long_addr(ret);
|
|
2833
2831
|
this->priv_storage(real_cap);
|
|
@@ -2843,7 +2841,7 @@ class basic_string
|
|
|
2843
2841
|
template<class AllocVersion>
|
|
2844
2842
|
void priv_shrink_to_fit_dynamic_buffer
|
|
2845
2843
|
( AllocVersion
|
|
2846
|
-
, typename
|
|
2844
|
+
, typename dtl::enable_if<dtl::is_same<AllocVersion, version_2> >::type* = 0)
|
|
2847
2845
|
{
|
|
2848
2846
|
size_type received_size = this->priv_long_size()+1;
|
|
2849
2847
|
pointer hint = this->priv_long_addr();
|
|
@@ -2920,13 +2918,13 @@ class basic_string
|
|
|
2920
2918
|
template <class Integer>
|
|
2921
2919
|
basic_string& priv_replace_dispatch(const_iterator first, const_iterator last,
|
|
2922
2920
|
Integer n, Integer x,
|
|
2923
|
-
|
|
2921
|
+
dtl::true_)
|
|
2924
2922
|
{ return this->replace(first, last, (size_type) n, (CharT) x); }
|
|
2925
2923
|
|
|
2926
2924
|
template <class InputIter>
|
|
2927
2925
|
basic_string& priv_replace_dispatch(const_iterator first, const_iterator last,
|
|
2928
2926
|
InputIter f, InputIter l,
|
|
2929
|
-
|
|
2927
|
+
dtl::false_)
|
|
2930
2928
|
{
|
|
2931
2929
|
typedef typename boost::container::iterator_traits<InputIter>::iterator_category Category;
|
|
2932
2930
|
return this->priv_replace(first, last, f, l, Category());
|
|
@@ -2953,6 +2951,24 @@ typedef basic_string
|
|
|
2953
2951
|
,new_allocator<wchar_t> >
|
|
2954
2952
|
wstring;
|
|
2955
2953
|
|
|
2954
|
+
#else
|
|
2955
|
+
|
|
2956
|
+
template <class CharT, class Traits, class Allocator>
|
|
2957
|
+
const typename basic_string<CharT,Traits,Allocator>::size_type
|
|
2958
|
+
basic_string<CharT,Traits,Allocator>::npos;
|
|
2959
|
+
|
|
2960
|
+
template<class S>
|
|
2961
|
+
struct is_string
|
|
2962
|
+
{
|
|
2963
|
+
static const bool value = false;
|
|
2964
|
+
};
|
|
2965
|
+
|
|
2966
|
+
template<class C, class T, class A>
|
|
2967
|
+
struct is_string< basic_string<C, T, A> >
|
|
2968
|
+
{
|
|
2969
|
+
static const bool value = true;
|
|
2970
|
+
};
|
|
2971
|
+
|
|
2956
2972
|
#endif
|
|
2957
2973
|
|
|
2958
2974
|
// ------------------------------------------------------------
|
|
@@ -3060,16 +3076,22 @@ operator==(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
|
|
|
3060
3076
|
}
|
|
3061
3077
|
|
|
3062
3078
|
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
|
3063
|
-
inline
|
|
3064
|
-
|
|
3079
|
+
inline
|
|
3080
|
+
BOOST_CONTAINER_DOC1ST( bool,
|
|
3081
|
+
typename dtl::disable_if
|
|
3082
|
+
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
|
3083
|
+
operator==( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
|
|
3065
3084
|
{
|
|
3066
3085
|
return x.size() == y.size() &&
|
|
3067
3086
|
Traits::compare(x.data(), y.data(), x.size()) == 0;
|
|
3068
3087
|
}
|
|
3069
3088
|
|
|
3070
3089
|
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
|
3071
|
-
inline
|
|
3072
|
-
|
|
3090
|
+
inline
|
|
3091
|
+
BOOST_CONTAINER_DOC1ST( bool,
|
|
3092
|
+
typename dtl::disable_if
|
|
3093
|
+
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
|
3094
|
+
operator==( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
|
|
3073
3095
|
{
|
|
3074
3096
|
return x.size() == y.size() &&
|
|
3075
3097
|
Traits::compare(x.data(), y.data(), x.size()) == 0;
|
|
@@ -3092,12 +3114,18 @@ operator!=(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
|
|
|
3092
3114
|
|
|
3093
3115
|
|
|
3094
3116
|
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
|
3095
|
-
inline
|
|
3117
|
+
inline
|
|
3118
|
+
BOOST_CONTAINER_DOC1ST( bool,
|
|
3119
|
+
typename dtl::disable_if
|
|
3120
|
+
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
|
3096
3121
|
operator!=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
|
|
3097
3122
|
{ return !(x == y); }
|
|
3098
3123
|
|
|
3099
3124
|
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
|
3100
|
-
inline
|
|
3125
|
+
inline
|
|
3126
|
+
BOOST_CONTAINER_DOC1ST( bool,
|
|
3127
|
+
typename dtl::disable_if
|
|
3128
|
+
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
|
3101
3129
|
operator!=( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
|
|
3102
3130
|
{ return !(x == y); }
|
|
3103
3131
|
|
|
@@ -3124,12 +3152,18 @@ operator<(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
|
|
|
3124
3152
|
}
|
|
3125
3153
|
|
|
3126
3154
|
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
|
3127
|
-
inline
|
|
3155
|
+
inline
|
|
3156
|
+
BOOST_CONTAINER_DOC1ST( bool,
|
|
3157
|
+
typename dtl::disable_if
|
|
3158
|
+
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
|
3128
3159
|
operator<( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
|
|
3129
3160
|
{ return y.compare(x) > 0; }
|
|
3130
3161
|
|
|
3131
3162
|
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
|
3132
|
-
inline
|
|
3163
|
+
inline
|
|
3164
|
+
BOOST_CONTAINER_DOC1ST( bool,
|
|
3165
|
+
typename dtl::disable_if
|
|
3166
|
+
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
|
3133
3167
|
operator<( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
|
|
3134
3168
|
{ return x.compare(y) < 0; }
|
|
3135
3169
|
|
|
@@ -3153,12 +3187,18 @@ operator>(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
|
|
|
3153
3187
|
}
|
|
3154
3188
|
|
|
3155
3189
|
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
|
3156
|
-
inline
|
|
3190
|
+
inline
|
|
3191
|
+
BOOST_CONTAINER_DOC1ST( bool,
|
|
3192
|
+
typename dtl::disable_if
|
|
3193
|
+
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
|
3157
3194
|
operator>( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
|
|
3158
3195
|
{ return y < x; }
|
|
3159
3196
|
|
|
3160
3197
|
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
|
3161
|
-
inline
|
|
3198
|
+
inline
|
|
3199
|
+
BOOST_CONTAINER_DOC1ST( bool,
|
|
3200
|
+
typename dtl::disable_if
|
|
3201
|
+
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
|
3162
3202
|
operator>( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
|
|
3163
3203
|
{ return y < x; }
|
|
3164
3204
|
|
|
@@ -3181,12 +3221,18 @@ operator<=(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
|
|
|
3181
3221
|
|
|
3182
3222
|
|
|
3183
3223
|
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
|
3184
|
-
inline
|
|
3224
|
+
inline
|
|
3225
|
+
BOOST_CONTAINER_DOC1ST( bool,
|
|
3226
|
+
typename dtl::disable_if
|
|
3227
|
+
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
|
3185
3228
|
operator<=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
|
|
3186
3229
|
{ return !(y < x); }
|
|
3187
3230
|
|
|
3188
3231
|
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
|
3189
|
-
inline
|
|
3232
|
+
inline
|
|
3233
|
+
BOOST_CONTAINER_DOC1ST( bool,
|
|
3234
|
+
typename dtl::disable_if
|
|
3235
|
+
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
|
3190
3236
|
operator<=( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
|
|
3191
3237
|
{ return !(y < x); }
|
|
3192
3238
|
|
|
@@ -3207,12 +3253,18 @@ operator>=(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
|
|
|
3207
3253
|
{ return !(x < s); }
|
|
3208
3254
|
|
|
3209
3255
|
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
|
3210
|
-
inline
|
|
3256
|
+
inline
|
|
3257
|
+
BOOST_CONTAINER_DOC1ST( bool,
|
|
3258
|
+
typename dtl::disable_if
|
|
3259
|
+
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
|
3211
3260
|
operator>=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
|
|
3212
3261
|
{ return !(x < y); }
|
|
3213
3262
|
|
|
3214
3263
|
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
|
3215
|
-
inline
|
|
3264
|
+
inline
|
|
3265
|
+
BOOST_CONTAINER_DOC1ST( bool,
|
|
3266
|
+
typename dtl::disable_if
|
|
3267
|
+
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
|
3216
3268
|
operator>=( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
|
|
3217
3269
|
{ return !(x < y); }
|
|
3218
3270
|
|
|
@@ -3223,7 +3275,7 @@ inline void swap(basic_string<CharT,Traits,Allocator>& x, basic_string<CharT,Tra
|
|
|
3223
3275
|
|
|
3224
3276
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
3225
3277
|
// I/O.
|
|
3226
|
-
namespace
|
|
3278
|
+
namespace dtl {
|
|
3227
3279
|
|
|
3228
3280
|
template <class CharT, class Traits>
|
|
3229
3281
|
inline bool
|
|
@@ -3240,7 +3292,7 @@ string_fill(std::basic_ostream<CharT, Traits>& os,
|
|
|
3240
3292
|
return ok;
|
|
3241
3293
|
}
|
|
3242
3294
|
|
|
3243
|
-
} //namespace
|
|
3295
|
+
} //namespace dtl {
|
|
3244
3296
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
3245
3297
|
|
|
3246
3298
|
template <class CharT, class Traits, class Allocator>
|
|
@@ -3262,13 +3314,13 @@ operator<<(std::basic_ostream<CharT, Traits>& os, const basic_string<CharT,Trait
|
|
|
3262
3314
|
pad_len = w - n;
|
|
3263
3315
|
|
|
3264
3316
|
if (!left)
|
|
3265
|
-
ok =
|
|
3317
|
+
ok = dtl::string_fill(os, buf, pad_len);
|
|
3266
3318
|
|
|
3267
3319
|
ok = ok &&
|
|
3268
3320
|
buf->sputn(s.data(), std::streamsize(n)) == std::streamsize(n);
|
|
3269
3321
|
|
|
3270
3322
|
if (left)
|
|
3271
|
-
ok = ok &&
|
|
3323
|
+
ok = ok && dtl::string_fill(os, buf, pad_len);
|
|
3272
3324
|
}
|
|
3273
3325
|
|
|
3274
3326
|
if (!ok)
|