passenger 6.0.7 → 6.0.8
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 +29 -0
- data/CONTRIBUTORS +1 -0
- data/README.md +2 -9
- data/build/common_library.rb +4 -4
- data/build/packaging.rb +4 -2
- data/build/support/cxx_dependency_map.rb +1 -0
- data/dev/copy_boost_headers +1 -1
- data/resources/release.txt +1 -0
- data/resources/templates/config/installation_utils/user_support_binaries_dir_not_writable.txt.erb +1 -0
- data/resources/templates/standalone/global.erb +4 -0
- data/src/agent/Core/AdminPanelConnector.h +1 -1
- data/src/agent/Core/ApplicationPool/Group.h +1 -1
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +2 -2
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Options.h +2 -2
- data/src/agent/Core/ApplicationPool/Pool.h +1 -1
- data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +1 -1
- data/src/agent/Core/Config.h +2 -2
- data/src/agent/Core/Controller/Config.h +2 -2
- data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +1 -1
- data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
- data/src/agent/Core/SpawningKit/SmartSpawner.h +1 -1
- data/src/agent/Core/SpawningKit/Spawner.h +1 -0
- data/src/agent/Core/TelemetryCollector.h +1 -1
- data/src/agent/Shared/ApiServerUtils.h +1 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/agent/Watchdog/InstanceDirToucher.cpp +1 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +1 -1
- data/src/cxx_supportlib/BackgroundEventLoop.cpp +1 -1
- data/src/cxx_supportlib/ConfigKit/Schema.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Translator.h +1 -1
- data/src/cxx_supportlib/Constants.h +2 -2
- data/src/cxx_supportlib/FileTools/FileManip.cpp +10 -1
- data/src/cxx_supportlib/FileTools/FileManip.h +16 -0
- data/src/cxx_supportlib/IOTools/BufferedIO.h +1 -1
- data/src/cxx_supportlib/IOTools/MessageIO.h +1 -1
- data/src/cxx_supportlib/SafeLibev.h +1 -1
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +1 -1
- data/src/cxx_supportlib/SystemTools/ProcessMetricsCollector.h +1 -1
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +9 -12
- data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +5 -1
- data/src/cxx_supportlib/oxt/thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/changelog.md +107 -5
- data/src/cxx_supportlib/vendor-copy/websocketpp/readme.md +2 -2
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/close.hpp +12 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/asio.hpp +13 -3
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/memory.hpp +0 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/thread.hpp +6 -2
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/core.hpp +13 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/connection.hpp +6 -15
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/endpoint.hpp +24 -24
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/extensions/permessage_deflate/disabled.hpp +1 -0
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/extensions/permessage_deflate/enabled.hpp +84 -19
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/frame.hpp +3 -0
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/impl/parser.hpp +4 -0
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/parser.hpp +10 -0
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/impl/connection_impl.hpp +150 -147
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/impl/endpoint_impl.hpp +4 -4
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/base.hpp +1 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/hybi13.hpp +47 -25
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/roles/client_endpoint.hpp +3 -3
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/roles/server_endpoint.hpp +14 -9
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/sha1/sha1.hpp +189 -189
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/connection.hpp +59 -66
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/endpoint.hpp +73 -38
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/security/none.hpp +9 -7
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/security/tls.hpp +12 -22
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/base/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/debug/connection.hpp +11 -11
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/debug/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/iostream/connection.hpp +13 -13
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/iostream/endpoint.hpp +3 -3
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/stub/connection.hpp +8 -8
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/uri.hpp +1 -0
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/utilities.hpp +2 -4
- data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/version.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/compare.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/case_conv.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/classification.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/finder.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/trim.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find_format.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/formatter.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/iter_find.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/predicate.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/split.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/array.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +47 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +37 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +426 -65
- data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +135 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +432 -257
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +178 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +433 -257
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +286 -143
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +315 -96
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +241 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +364 -227
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +976 -461
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +21 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +15 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +329 -197
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +221 -115
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +11 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +416 -89
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +23 -27
- 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 +31 -30
- 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 +23 -27
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +473 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +138 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +118 -102
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +33 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +114 -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 +20 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +145 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +109 -0
- 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 +107 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +1 -1
- 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 +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +481 -129
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +1 -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 +29 -12
- 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 +25 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +36 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +36 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +205 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +1 -1
- 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/functional.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +55 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +24 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +27 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +378 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +218 -84
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +12 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +40 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_serial_port_service.ipp +16 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +37 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +87 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +22 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +674 -283
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +15 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +211 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +9 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +6 -5
- 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 +1 -1
- 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 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +177 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +65 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +56 -0
- 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 +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +63 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +15 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +16 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +62 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +15 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_serial_port_service.hpp +15 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +53 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +20 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +43 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +42 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +26 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +48 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +43 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +82 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +77 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +15 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +4 -2
- 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 +16 -14
- 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 +31 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +31 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +22 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +21 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +1 -1
- 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 +11 -7
- 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 +24 -12
- 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 +47 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +47 -0
- 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 +13 -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 +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +26 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +67 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +65 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +177 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +13 -8
- 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 +84 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +46 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +27 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +251 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +2266 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +1353 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +1066 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +394 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +1020 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +490 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +187 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +203 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_invocable.hpp +154 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_receiver.hpp +130 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/bulk_sender.hpp +263 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/submit_receiver.hpp +235 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/void_receiver.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +240 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/receiver_invocation_error.ipp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +919 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +180 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +96 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +723 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +329 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +282 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +722 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +294 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +88 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +313 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +257 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +257 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +490 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +254 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +454 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +8 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +129 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +29 -6
- 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 +30 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +438 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +154 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +148 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +300 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +637 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +299 -243
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +204 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +199 -34
- 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 +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +16 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +14 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +209 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +204 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +619 -132
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +194 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +2278 -445
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/impl → impl}/redirect_error.hpp +148 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +59 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +25 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +114 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +261 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +73 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +281 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +131 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +562 -132
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +185 -91
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +714 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +46 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +35 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +32 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +41 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +24 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +200 -190
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +21 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +26 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +7 -7
- 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_applicable_property.hpp +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +14 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +189 -74
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +180 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +5 -612
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +3 -326
- data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +29 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +660 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +300 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +398 -57
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +51 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +1460 -423
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/redirect_error.hpp → redirect_error.hpp} +9 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +528 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +314 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +3 -736
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +3 -422
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +26 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +13 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +4 -1
- 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 +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +37 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +51 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +17 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +41 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +21 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +44 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +235 -97
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +264 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +16 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +558 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +917 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_free.hpp +116 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_member.hpp +116 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_free.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_member.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_free.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_member.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_free.hpp +236 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_member.hpp +236 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_free.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_member.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +125 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +125 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_free.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_member.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +101 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +295 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +363 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +186 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +188 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +3 -346
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +4 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +38 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +3 -344
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +3 -328
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +372 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +51 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +178 -11
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +85 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/capabilities.hpp +2 -191
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/aligned_variable.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +129 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{atomic_template.hpp → atomic_impl.hpp} +327 -429
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +1126 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +23 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/capabilities.hpp +217 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_aarch32.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_aarch64.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{caps_gcc_alpha.hpp → caps_arch_gcc_alpha.hpp} +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{hwcaps_gcc_arm.hpp → caps_arch_gcc_arm.hpp} +37 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{hwcaps_gcc_ppc.hpp → caps_arch_gcc_ppc.hpp} +19 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{caps_gcc_sparc.hpp → caps_arch_gcc_sparc.hpp} +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{hwcaps_gcc_x86.hpp → caps_arch_gcc_x86.hpp} +22 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{caps_msvc_arm.hpp → caps_arch_msvc_arm.hpp} +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{caps_msvc_x86.hpp → caps_arch_msvc_x86.hpp} +12 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_atomic.hpp +100 -75
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sync.hpp +0 -7
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +81 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +39 -15
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_operations.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_operations_fwd.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +1121 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +1909 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_alpha.hpp → core_arch_ops_gcc_alpha.hpp} +280 -289
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_arm.hpp → core_arch_ops_gcc_arm.hpp} +467 -447
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_ppc.hpp → core_arch_ops_gcc_ppc.hpp} +75 -94
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_sparc.hpp → core_arch_ops_gcc_sparc.hpp} +33 -58
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_x86_dcas.hpp → core_arch_ops_gcc_x86.hpp} +507 -20
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_msvc_arm.hpp → core_arch_ops_msvc_arm.hpp} +58 -54
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_msvc_x86.hpp → core_arch_ops_msvc_x86.hpp} +69 -101
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +195 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated_fwd.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_fwd.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_cas_based.hpp → core_ops_cas_based.hpp} +9 -22
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +306 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_sync.hpp → core_ops_gcc_sync.hpp} +75 -52
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_linux_arm.hpp → core_ops_linux_arm.hpp} +32 -43
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_windows.hpp +201 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_extending_cas_based.hpp → extending_cas_based_arithmetic.hpp} +12 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_operations_fwd.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +23 -12
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +12 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_operations_fwd.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +60 -40
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +1060 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +1330 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +363 -355
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +94 -91
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +232 -102
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +9 -17
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +119 -92
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_windows.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/footer.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_operations_fwd.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +147 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_arm_asm_common.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/header.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{integral_extend.hpp → integral_conversions.hpp} +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +35 -11
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +151 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_aarch32_common.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_aarch64_common.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +8 -79
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_common.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +23 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +64 -27
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +187 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_capabilities.hpp +363 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_dragonfly_umtx.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_freebsd_umtx.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_futex.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_windows.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_operations.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_operations_fwd.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +97 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +119 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +143 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_windows.hpp +150 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +7 -18
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +85 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +85 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind.hpp +20 -1
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_template.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +25 -11
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_cc.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/bind/storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +26 -6
- data/src/cxx_supportlib/vendor-modified/boost/chrono/system_clocks.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +107 -105
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +25 -31
- data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/abi_prefix.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/abi_suffix.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +72 -22
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +155 -10
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +21 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +15 -7
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_stdlib_config.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +68 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/vxworks.hpp +63 -74
- data/src/cxx_supportlib/vendor-modified/boost/config/requires_threads.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcomo.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/modena.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/msl.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/roguewave.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/sgi.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/stlport.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/vacpp.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/xlcpp_zos.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/user.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/workaround.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +19 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +117 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +250 -208
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_list.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_slist.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_or_allocator_rebind.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +21 -116
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +11 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +30 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +133 -117
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +83 -18
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +103 -69
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_functors.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +3 -12
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +51 -45
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +24 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +83 -77
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +82 -87
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +17 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +278 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_set.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/global_resource.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +30 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +90 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/unsynchronized_pool_resource.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +80 -80
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +63 -67
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +48 -42
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +150 -105
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +174 -155
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +157 -105
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +54 -53
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +207 -207
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/extensions.hpp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/addressof.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/alloc_construct.hpp +169 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +633 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +148 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +16 -6
- data/src/cxx_supportlib/vendor-modified/boost/core/first_scalar.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +157 -50
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +82 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/no_exceptions_support.hpp +14 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/noinit_adaptor.hpp +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/nvp.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/pointer_traits.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/uncaught_exceptions.hpp +155 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/use_default.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/cstdint.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/current_function.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/c_time.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +4 -17
- data/src/cxx_supportlib/vendor-modified/boost/date_time/constrained_value.hpp +19 -11
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +23 -23
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration.hpp +17 -22
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration_types.hpp +44 -49
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_facet.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_generators.hpp +24 -19
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_parsing.hpp +51 -25
- data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_rules.hpp +56 -56
- data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_transition_generators.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/find_match.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/format_date_parser.hpp +98 -98
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +22 -14
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration.hpp +44 -32
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration_types.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_month.hpp +51 -23
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_serialize.hpp +29 -27
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_weekday.hpp +43 -9
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_year.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/parsers.hpp +32 -13
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.hpp +15 -17
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.ipp +27 -22
- data/src/cxx_supportlib/vendor-modified/boost/date_time/int_adapter.hpp +57 -37
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_time_io.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/locale_config.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +44 -47
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period_formatter.hpp +34 -31
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period_parser.hpp +27 -28
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/date_duration_operators.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_config.hpp +13 -26
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/ptime.hpp +22 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_serialize.hpp +28 -12
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_formatter.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_parser.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/string_parse_tree.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/strings_from_facet.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time.hpp +24 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +56 -44
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +8 -11
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +3 -8
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_resolution_traits.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_counted.hpp +65 -50
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_split.hpp +43 -30
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_names.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/tz_db_base.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/wrapping_int.hpp +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/date_time/year_month_day.hpp +7 -5
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/current_exception_cast.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +12 -7
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +63 -8
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/shared_ptr.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +15 -6
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +19 -57
- data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception_ptr.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +4 -12
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +22 -4
- data/src/cxx_supportlib/vendor-modified/boost/integer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_ct.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +30 -28
- data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/integer/integer_log2.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/integer/mod_inverse.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/integer/static_log2.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/integer/static_min_max.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/integer_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +18 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +15 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +7 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +23 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +13 -17
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/intrusive_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/options.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +93 -66
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +17 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +67 -60
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/io/ios_state.hpp +361 -315
- data/src/cxx_supportlib/vendor-modified/boost/io_fwd.hpp +45 -49
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +18 -13
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +43 -43
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/c_regex_traits.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/instances.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_traits_defaults.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wc_regex_traits.cpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/winstances.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once.cpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +12 -7
- data/src/cxx_supportlib/vendor-modified/boost/math/policies/policy.hpp +50 -52
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +41 -7
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/promotion.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/user.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +6 -12
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +35 -26
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +18 -12
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +103 -318
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +437 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge_sort.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/set_difference.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +11 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/common_name_wknd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/adl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/arrays.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bcc.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bind.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/compiler.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ctps.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/dtp.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/forwarding.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/integral.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/operators.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/overload_resolution.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/preprocessor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ttp.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/count_impl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_impl_body.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_rebind.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/integral_wrapper.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_support.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/nested_type_wknd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/size_impl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/static_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/has_xxx.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mpl/if.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/integral_c.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/lower_bound.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/numeric_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/upper_bound.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/at.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/none.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/converter_policies.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +31 -24
- data/src/cxx_supportlib/vendor-modified/boost/optional/bad_optional_access.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/parameter/are_tagged_arguments.hpp +125 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/always_true_predicate.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/arg_list.hpp +1252 -358
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/as_lvalue.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/augment_predicate.hpp +198 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/cast.hpp +7 -136
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/default.hpp +90 -59
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/has_nested_template_fn.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/is_maybe.hpp +42 -16
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/is_placeholder.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/is_tagged_argument.hpp +95 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/lambda_tag.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/maybe.hpp +128 -97
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/name.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/as_parameter_requirements.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/deduce_tag.hpp +217 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/deduced_item.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/insert_tagged.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/is_named_argument.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/item.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_arg_list.hpp +438 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_deduced_items.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_items.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_parameter_spec_items.hpp +244 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/parameter_requirements.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/predicate.hpp +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/satisfies.hpp +142 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_deduced.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg_ref.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_template_keyword_arg.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_type.hpp +89 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/unmatched_argument.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/parameter_requirements.hpp +7 -20
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/parenthesized_type.hpp +8 -31
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pp_impl/argument_pack.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pp_impl/match.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pp_impl/unwrap_predicate.hpp +97 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/binary_seq_for_each.hpp +1638 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/binary_seq_for_each_inc.hpp +1796 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/binary_seq_to_args.hpp +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/convert_binary_seq.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/flatten.hpp +7 -110
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/for_each.hpp +7 -98
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/for_each_pred.hpp +1029 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/argument_specs.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/arity_range.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/flatten.hpp +143 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/for_each.hpp +152 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/forwarding_overloads.hpp +509 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_cast.hpp +730 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_dispatch_layer.hpp +474 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_dispatch_tuple.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_forward_match.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_name.hpp +152 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/no_spec_overloads.hpp +331 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/parenthesized_return_type.hpp +122 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/parenthesized_type.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/specification.hpp +109 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/split_args.hpp +71 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/inc_binary_seq.hpp +78 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/is_binary.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/is_nullary.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/no_perfect_forwarding_begin.hpp +165 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/no_perfect_forwarding_end.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/nullptr.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/overloads.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/qualifier.hpp +88 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/seq_enum.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/seq_merge.hpp +1807 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/result_of0.hpp +46 -29
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/set.hpp +94 -42
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tag.hpp +149 -27
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tagged_argument.hpp +865 -159
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tagged_argument_fwd.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/template_keyword.hpp +76 -34
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +159 -76
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/use_default.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/use_default_tag.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/void.hpp +25 -16
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/yesno.hpp +30 -14
- data/src/cxx_supportlib/vendor-modified/boost/parameter/binding.hpp +154 -70
- data/src/cxx_supportlib/vendor-modified/boost/parameter/compose.hpp +210 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/config.hpp +75 -6
- data/src/cxx_supportlib/vendor-modified/boost/parameter/deduced.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/is_argument_pack.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/keyword.hpp +724 -102
- data/src/cxx_supportlib/vendor-modified/boost/parameter/keyword_fwd.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/macros.hpp +205 -72
- data/src/cxx_supportlib/vendor-modified/boost/parameter/match.hpp +37 -44
- data/src/cxx_supportlib/vendor-modified/boost/parameter/name.hpp +100 -126
- data/src/cxx_supportlib/vendor-modified/boost/parameter/nested_keyword.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/optional.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/parameters.hpp +553 -884
- data/src/cxx_supportlib/vendor-modified/boost/parameter/preprocessor.hpp +156 -1016
- data/src/cxx_supportlib/vendor-modified/boost/parameter/preprocessor_no_spec.hpp +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/required.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/template_keyword.hpp +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/value_type.hpp +152 -70
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/alpha.h +17 -16
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +86 -32
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/blackfin.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/convex.h +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ia64.h +17 -16
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/m68k.h +28 -27
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/mips.h +21 -20
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/parisc.h +19 -18
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ppc.h +23 -22
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/pyramid.h +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/riscv.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/rs6k.h +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sparc.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/superh.h +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys370.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys390.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86.h +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/32.h +26 -25
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/64.h +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/z.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/borland.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/clang.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/comeau.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/diab.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/digitalmars.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/dignus.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/edg.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ekopath.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc_xml.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/greenhills.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/hp_acc.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/iar.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ibm.h +15 -14
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/intel.h +18 -17
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/kai.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/llvm.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metaware.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metrowerks.h +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/microtec.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/mpw.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/palm.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/pgi.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sgi_mipspro.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sunpro.h +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/tendra.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/visualc.h +13 -12
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/watcom.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd.h +95 -46
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm.h +21 -19
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm/versions.h +16 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc.h +21 -19
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc/versions.h +27 -21
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86.h +39 -37
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86/versions.h +73 -67
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd.h +25 -23
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd/versions.h +24 -19
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/objc.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdc.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdcpp.h +39 -32
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/cloudabi.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/gnu.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/uc.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/vms.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/zos.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/cxx.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/dinkumware.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/libcomo.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/modena.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msl.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/roguewave.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/sgi.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stdcpp3.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stlport.h +13 -12
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/vacpp.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +97 -35
- data/src/cxx_supportlib/vendor-modified/boost/predef/os.h +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/aix.h +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/amigaos.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/beos.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd.h +22 -23
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/bsdi.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/dragonfly.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/free.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/net.h +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/open.h +59 -58
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/haiku.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/hpux.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/ios.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/irix.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/linux.h +14 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/macos.h +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/os400.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/qnxnto.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/solaris.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/unix.h +24 -22
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/windows.h +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/workaround.h +22 -14
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/android.h +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/cloudabi.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/ios.h +14 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw32.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw64.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_desktop.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_phone.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_runtime.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_server.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_store.h +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_system.h +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_uwp.h +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/version_number.h +16 -14
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/detail/get_data.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_list.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_seq.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_tuple.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/check_empty.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/detail/is_empty.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty_variadic.hpp +28 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/va_opt.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_array.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_tuple.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/for.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/binary_transform.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/is_empty.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each_i.hpp +28 -28
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/replace.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/rest_n.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/detail/is_single_return.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/elem.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/insert.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_back.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_front.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_back.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_front.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/rem.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/remove.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/replace.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/reverse.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_list.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_seq.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/has_opt.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/is_single_return.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/integer_log2.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/range/rbegin.hpp +0 -13
- data/src/cxx_supportlib/vendor-modified/boost/range/rend.hpp +0 -13
- data/src/cxx_supportlib/vendor-modified/boost/range/size.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +33 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +17 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +27 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +36 -15
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +26 -16
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +16 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +92 -388
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_nt.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_std_atomic.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_sp_deleter.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +87 -47
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_convertible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +12 -16
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +148 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +25 -16
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +16 -8
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +25 -17
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +23 -26
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_thread_pause.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_thread_sleep.hpp +104 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_typeinfo_.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp +85 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_std_atomic.hpp +13 -5
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -146
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +47 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +58 -23
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +79 -8
- data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +5 -11
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +57 -16
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +32 -16
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +9 -21
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +9 -21
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_op_status.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_bounded_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_deque.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_priority_queue.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_queue.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_timed_queue.hpp +80 -14
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +16 -17
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/platform_time.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +4 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp.orig +841 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor_adaptor.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/generic_executor_ref.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/inline_executor.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/loop_executor.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduled_thread_pool.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduler.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduling_adaptor.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor_cont.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/thread_executor.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/work.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/task_region.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/interruption.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/once.hpp.orig +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/poly_lockable.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/poly_shared_lockable.hpp +16 -12
- data/src/cxx_supportlib/vendor-modified/boost/thread/poly_shared_lockable_adapter.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +18 -24
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +6 -13
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +11 -37
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once.hpp +29 -28
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once_atomic.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_helpers.hpp +163 -18
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +1 -69
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +9 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/tss.hpp +23 -41
- data/src/cxx_supportlib/vendor-modified/boost/thread/user_scheduler.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +138 -59
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +15 -11
- data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +51 -0
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/aligned_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/alignment_of.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/conjunction.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_cv_ref.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_reference.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +25 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_binary_operator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +102 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_tester.hpp +415 -255
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +1345 -1542
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +143 -28
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/disjunction.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/extent.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_copy.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_promotion.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_array.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_base_and_derived.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_bounded_array.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_compound.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_const.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_constructible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_convertible.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_default_constructible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_destructible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_empty.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_enum.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_fundamental.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_integral.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_lvalue_reference.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_same.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_scoped_enum.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_signed.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_trivially_copyable.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unbounded_array.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unscoped_enum.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unsigned.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_volatile.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/negation.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/rank.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_all_extents.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_const.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_extent.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_volatile.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_iterate.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +3 -42
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +4 -43
- data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +29 -67
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/nginx_module/Configuration.c +3 -3
- data/src/nginx_module/config +2 -0
- data/src/nginx_module/ngx_http_passenger_module.c +2 -2
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +4 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +2 -0
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +17 -9
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -3
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +1 -1
- metadata +302 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/datagram_socket_service.hpp +0 -468
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer_service.hpp +0 -175
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental.hpp +0 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +0 -228
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detached.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_spawn.hpp +0 -878
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/detached.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_type.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_service.hpp +0 -202
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor_service.hpp +0 -281
- data/src/cxx_supportlib/vendor-modified/boost/asio/raw_socket_service.hpp +0 -468
- data/src/cxx_supportlib/vendor-modified/boost/asio/seq_packet_socket_service.hpp +0 -418
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_service.hpp +0 -251
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_service.hpp +0 -144
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_acceptor_service.hpp +0 -374
- data/src/cxx_supportlib/vendor-modified/boost/asio/stream_socket_service.hpp +0 -414
- data/src/cxx_supportlib/vendor-modified/boost/asio/waitable_timer_service.hpp +0 -212
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_handle.hpp +0 -275
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle_service.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle_service.hpp +0 -216
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle_service.hpp +0 -212
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_arm.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_ppc.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_x86.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lockpool.hpp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations.hpp +0 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_fwd.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_lockfree.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_emulated.hpp +0 -162
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_atomic.hpp +0 -392
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86.hpp +0 -563
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_type.hpp +0 -207
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +0 -89
- data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/detail/endian.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/detail/iterator.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/detail/sp_typeinfo.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/overloads.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +0 -28
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/android.h +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_solaris.hpp +0 -59
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +0 -151
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +0 -161
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +0 -116
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync.hpp +0 -69
|
@@ -87,9 +87,9 @@ class basic_string_base
|
|
|
87
87
|
basic_string_base & operator=(const basic_string_base &);
|
|
88
88
|
basic_string_base(const basic_string_base &);
|
|
89
89
|
|
|
90
|
-
typedef
|
|
90
|
+
typedef Allocator allocator_type;
|
|
91
91
|
public:
|
|
92
|
-
typedef
|
|
92
|
+
typedef allocator_traits<allocator_type> allocator_traits_type;
|
|
93
93
|
typedef allocator_type stored_allocator_type;
|
|
94
94
|
typedef typename allocator_traits_type::pointer pointer;
|
|
95
95
|
typedef typename allocator_traits_type::value_type value_type;
|
|
@@ -207,7 +207,7 @@ class basic_string_base
|
|
|
207
207
|
};
|
|
208
208
|
|
|
209
209
|
struct members_holder
|
|
210
|
-
: public
|
|
210
|
+
: public allocator_type
|
|
211
211
|
{
|
|
212
212
|
void init()
|
|
213
213
|
{
|
|
@@ -217,12 +217,12 @@ class basic_string_base
|
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
members_holder()
|
|
220
|
-
:
|
|
220
|
+
: allocator_type()
|
|
221
221
|
{ this->init(); }
|
|
222
222
|
|
|
223
223
|
template<class AllocatorConvertible>
|
|
224
224
|
explicit members_holder(BOOST_FWD_REF(AllocatorConvertible) a)
|
|
225
|
-
:
|
|
225
|
+
: allocator_type(boost::forward<AllocatorConvertible>(a))
|
|
226
226
|
{ this->init(); }
|
|
227
227
|
|
|
228
228
|
const short_t *pshort_repr() const
|
|
@@ -240,10 +240,10 @@ class basic_string_base
|
|
|
240
240
|
repr_t m_repr;
|
|
241
241
|
} members_;
|
|
242
242
|
|
|
243
|
-
const
|
|
243
|
+
const allocator_type &alloc() const
|
|
244
244
|
{ return members_; }
|
|
245
245
|
|
|
246
|
-
|
|
246
|
+
allocator_type &alloc()
|
|
247
247
|
{ return members_; }
|
|
248
248
|
|
|
249
249
|
static const size_type InternalBufferChars = (sizeof(repr_t) - ShortDataOffset)/sizeof(value_type);
|
|
@@ -311,7 +311,7 @@ class basic_string_base
|
|
|
311
311
|
protected:
|
|
312
312
|
|
|
313
313
|
typedef dtl::integral_constant<unsigned,
|
|
314
|
-
boost::container::dtl::version<
|
|
314
|
+
boost::container::dtl::version<allocator_type>::value> alloc_version;
|
|
315
315
|
|
|
316
316
|
pointer allocation_command(allocation_type command,
|
|
317
317
|
size_type limit_size,
|
|
@@ -322,7 +322,7 @@ class basic_string_base
|
|
|
322
322
|
reuse = 0;
|
|
323
323
|
command &= ~(expand_fwd | expand_bwd);
|
|
324
324
|
}
|
|
325
|
-
return dtl::allocator_version_traits<
|
|
325
|
+
return dtl::allocator_version_traits<allocator_type>::allocation_command
|
|
326
326
|
(this->alloc(), command, limit_size, prefer_in_recvd_out_size, reuse);
|
|
327
327
|
}
|
|
328
328
|
|
|
@@ -538,18 +538,18 @@ class basic_string_base
|
|
|
538
538
|
//! \tparam Traits The Character Traits type, which encapsulates basic character operations
|
|
539
539
|
//! \tparam Allocator The allocator, used for internal memory management.
|
|
540
540
|
#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
541
|
-
template <class CharT, class Traits = std::char_traits<CharT>, class Allocator =
|
|
541
|
+
template <class CharT, class Traits = std::char_traits<CharT>, class Allocator = void >
|
|
542
542
|
#else
|
|
543
543
|
template <class CharT, class Traits, class Allocator>
|
|
544
544
|
#endif
|
|
545
545
|
class basic_string
|
|
546
|
-
: private dtl::basic_string_base<Allocator>
|
|
546
|
+
: private dtl::basic_string_base<typename real_allocator<CharT, Allocator>::type>
|
|
547
547
|
{
|
|
548
548
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
549
549
|
private:
|
|
550
|
-
typedef allocator_traits<Allocator> allocator_traits_type;
|
|
551
550
|
BOOST_COPYABLE_AND_MOVABLE(basic_string)
|
|
552
|
-
typedef dtl::basic_string_base<Allocator> base_t;
|
|
551
|
+
typedef dtl::basic_string_base<typename real_allocator<CharT, Allocator>::type> base_t;
|
|
552
|
+
typedef typename base_t::allocator_traits_type allocator_traits_type;
|
|
553
553
|
static const typename base_t::size_type InternalBufferChars = base_t::InternalBufferChars;
|
|
554
554
|
|
|
555
555
|
protected:
|
|
@@ -596,13 +596,13 @@ class basic_string
|
|
|
596
596
|
//////////////////////////////////////////////
|
|
597
597
|
typedef Traits traits_type;
|
|
598
598
|
typedef CharT value_type;
|
|
599
|
-
typedef typename
|
|
600
|
-
typedef typename ::boost::container::allocator_traits<
|
|
601
|
-
typedef typename ::boost::container::allocator_traits<
|
|
602
|
-
typedef typename ::boost::container::allocator_traits<
|
|
603
|
-
typedef typename ::boost::container::allocator_traits<
|
|
604
|
-
typedef typename ::boost::container::allocator_traits<
|
|
605
|
-
typedef
|
|
599
|
+
typedef typename real_allocator<CharT, Allocator>::type allocator_type;
|
|
600
|
+
typedef typename ::boost::container::allocator_traits<allocator_type>::pointer pointer;
|
|
601
|
+
typedef typename ::boost::container::allocator_traits<allocator_type>::const_pointer const_pointer;
|
|
602
|
+
typedef typename ::boost::container::allocator_traits<allocator_type>::reference reference;
|
|
603
|
+
typedef typename ::boost::container::allocator_traits<allocator_type>::const_reference const_reference;
|
|
604
|
+
typedef typename ::boost::container::allocator_traits<allocator_type>::size_type size_type;
|
|
605
|
+
typedef typename ::boost::container::allocator_traits<allocator_type>::difference_type difference_type;
|
|
606
606
|
typedef BOOST_CONTAINER_IMPDEF(allocator_type) stored_allocator_type;
|
|
607
607
|
typedef BOOST_CONTAINER_IMPDEF(pointer) iterator;
|
|
608
608
|
typedef BOOST_CONTAINER_IMPDEF(const_pointer) const_iterator;
|
|
@@ -639,7 +639,7 @@ class basic_string
|
|
|
639
639
|
//! <b>Effects</b>: Default constructs a basic_string.
|
|
640
640
|
//!
|
|
641
641
|
//! <b>Throws</b>: If allocator_type's default constructor throws.
|
|
642
|
-
basic_string() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<
|
|
642
|
+
basic_string() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value)
|
|
643
643
|
: base_t()
|
|
644
644
|
{ this->priv_terminate_string(); }
|
|
645
645
|
|
|
@@ -667,7 +667,7 @@ class basic_string
|
|
|
667
667
|
//!
|
|
668
668
|
//! <b>Throws</b>: If allocator_type's default constructor or allocation throws.
|
|
669
669
|
template<template <class, class> class BasicStringView>
|
|
670
|
-
explicit basic_string(BasicStringView<CharT, Traits> sv, const
|
|
670
|
+
explicit basic_string(BasicStringView<CharT, Traits> sv, const allocator_type& a = allocator_type())
|
|
671
671
|
: base_t(allocator_traits_type::select_on_container_copy_construction(a))
|
|
672
672
|
{
|
|
673
673
|
this->priv_terminate_string();
|
|
@@ -712,7 +712,7 @@ class basic_string
|
|
|
712
712
|
: base_t(a)
|
|
713
713
|
{
|
|
714
714
|
this->priv_terminate_string();
|
|
715
|
-
if(
|
|
715
|
+
if(s.alloc() == this->alloc()){
|
|
716
716
|
this->swap_data(s);
|
|
717
717
|
}
|
|
718
718
|
else{
|
|
@@ -865,7 +865,7 @@ class basic_string
|
|
|
865
865
|
//! <b>Complexity</b>: Linear to the elements x contains.
|
|
866
866
|
basic_string& operator=(BOOST_COPY_ASSIGN_REF(basic_string) x)
|
|
867
867
|
{
|
|
868
|
-
if (
|
|
868
|
+
if (BOOST_LIKELY(this != &x)) {
|
|
869
869
|
allocator_type &this_alloc = this->alloc();
|
|
870
870
|
const allocator_type &x_alloc = x.alloc();
|
|
871
871
|
dtl::bool_<allocator_traits_type::
|
|
@@ -896,27 +896,27 @@ class basic_string
|
|
|
896
896
|
BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value
|
|
897
897
|
|| allocator_traits_type::is_always_equal::value)
|
|
898
898
|
{
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
899
|
+
if (BOOST_LIKELY(this != &x)) {
|
|
900
|
+
allocator_type &this_alloc = this->alloc();
|
|
901
|
+
allocator_type &x_alloc = x.alloc();
|
|
902
|
+
const bool propagate_alloc = allocator_traits_type::
|
|
903
|
+
propagate_on_container_move_assignment::value;
|
|
904
|
+
dtl::bool_<propagate_alloc> flag;
|
|
905
|
+
const bool allocators_equal = this_alloc == x_alloc; (void)allocators_equal;
|
|
906
|
+
//Resources can be transferred if both allocators are
|
|
907
|
+
//going to be equal after this function (either propagated or already equal)
|
|
908
|
+
if(propagate_alloc || allocators_equal){
|
|
909
|
+
//Destroy objects but retain memory in case x reuses it in the future
|
|
910
|
+
this->clear();
|
|
911
|
+
//Move allocator if needed
|
|
912
|
+
dtl::move_alloc(this_alloc, x_alloc, flag);
|
|
913
|
+
//Nothrow swap
|
|
914
|
+
this->swap_data(x);
|
|
915
|
+
}
|
|
916
|
+
//Else do a one by one move
|
|
917
|
+
else{
|
|
918
|
+
this->assign( x.begin(), x.end());
|
|
919
|
+
}
|
|
920
920
|
}
|
|
921
921
|
return *this;
|
|
922
922
|
}
|
|
@@ -2306,7 +2306,7 @@ class basic_string
|
|
|
2306
2306
|
//!
|
|
2307
2307
|
//! <b>Throws</b>: Nothing
|
|
2308
2308
|
//!
|
|
2309
|
-
//! <b>Returns</b>: find(basic_string<CharT,traits,
|
|
2309
|
+
//! <b>Returns</b>: find(basic_string<CharT,traits,allocator_type>(s,n),pos).
|
|
2310
2310
|
size_type find(const CharT* s, size_type pos, size_type n) const
|
|
2311
2311
|
{
|
|
2312
2312
|
if (pos + n > this->size())
|
|
@@ -2332,7 +2332,7 @@ class basic_string
|
|
|
2332
2332
|
|
|
2333
2333
|
//! <b>Throws</b>: Nothing
|
|
2334
2334
|
//!
|
|
2335
|
-
//! <b>Returns</b>: find(basic_string<CharT,traits,
|
|
2335
|
+
//! <b>Returns</b>: find(basic_string<CharT,traits,allocator_type>(1,c), pos).
|
|
2336
2336
|
size_type find(CharT c, size_type pos = 0) const
|
|
2337
2337
|
{
|
|
2338
2338
|
const size_type sz = this->size();
|
|
@@ -2404,7 +2404,7 @@ class basic_string
|
|
|
2404
2404
|
|
|
2405
2405
|
//! <b>Throws</b>: Nothing
|
|
2406
2406
|
//!
|
|
2407
|
-
//! <b>Returns</b>: rfind(basic_string<CharT,traits,
|
|
2407
|
+
//! <b>Returns</b>: rfind(basic_string<CharT,traits,allocator_type>(1,c),pos).
|
|
2408
2408
|
size_type rfind(CharT c, size_type pos = npos) const
|
|
2409
2409
|
{
|
|
2410
2410
|
const size_type len = this->size();
|
|
@@ -2472,7 +2472,7 @@ class basic_string
|
|
|
2472
2472
|
//!
|
|
2473
2473
|
//! <b>Throws</b>: Nothing
|
|
2474
2474
|
//!
|
|
2475
|
-
//! <b>Returns</b>: find_first_of(basic_string<CharT,traits,
|
|
2475
|
+
//! <b>Returns</b>: find_first_of(basic_string<CharT,traits,allocator_type>(1,c), pos).
|
|
2476
2476
|
size_type find_first_of(CharT c, size_type pos = 0) const
|
|
2477
2477
|
{ return this->find(c, pos); }
|
|
2478
2478
|
|
|
@@ -2522,7 +2522,7 @@ class basic_string
|
|
|
2522
2522
|
//!
|
|
2523
2523
|
//! <b>Throws</b>: Nothing
|
|
2524
2524
|
//!
|
|
2525
|
-
//! <b>Returns</b>: find_last_of(basic_string<CharT,traits,
|
|
2525
|
+
//! <b>Returns</b>: find_last_of(basic_string<CharT,traits,allocator_type>(1,c),pos).
|
|
2526
2526
|
size_type find_last_of(const CharT* s, size_type pos = npos) const
|
|
2527
2527
|
{ return find_last_of(s, pos, Traits::length(s)); }
|
|
2528
2528
|
|
|
@@ -2672,7 +2672,7 @@ class basic_string
|
|
|
2672
2672
|
//!
|
|
2673
2673
|
//! <b>Throws</b>: If memory allocation throws or out_of_range if pos > size().
|
|
2674
2674
|
//!
|
|
2675
|
-
//! <b>Returns</b>: basic_string<CharT,traits,
|
|
2675
|
+
//! <b>Returns</b>: basic_string<CharT,traits,allocator_type>(data()+pos,rlen).
|
|
2676
2676
|
basic_string substr(size_type pos = 0, size_type n = npos) const
|
|
2677
2677
|
{
|
|
2678
2678
|
if (pos > this->size())
|
|
@@ -3490,8 +3490,9 @@ namespace boost {
|
|
|
3490
3490
|
template <class C, class T, class Allocator>
|
|
3491
3491
|
struct has_trivial_destructor_after_move<boost::container::basic_string<C, T, Allocator> >
|
|
3492
3492
|
{
|
|
3493
|
-
typedef typename
|
|
3494
|
-
|
|
3493
|
+
typedef typename boost::container::basic_string<C, T, Allocator>::allocator_type allocator_type;
|
|
3494
|
+
typedef typename ::boost::container::allocator_traits<allocator_type>::pointer pointer;
|
|
3495
|
+
static const bool value = ::boost::has_trivial_destructor_after_move<allocator_type>::value &&
|
|
3495
3496
|
::boost::has_trivial_destructor_after_move<pointer>::value;
|
|
3496
3497
|
};
|
|
3497
3498
|
|
|
@@ -37,19 +37,19 @@ namespace container {
|
|
|
37
37
|
#if defined(BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS)
|
|
38
38
|
//The user must provide definitions for the following functions
|
|
39
39
|
|
|
40
|
-
void throw_bad_alloc();
|
|
40
|
+
BOOST_NORETURN void throw_bad_alloc();
|
|
41
41
|
|
|
42
|
-
void throw_out_of_range(const char* str);
|
|
42
|
+
BOOST_NORETURN void throw_out_of_range(const char* str);
|
|
43
43
|
|
|
44
|
-
void throw_length_error(const char* str);
|
|
44
|
+
BOOST_NORETURN void throw_length_error(const char* str);
|
|
45
45
|
|
|
46
|
-
void throw_logic_error(const char* str);
|
|
46
|
+
BOOST_NORETURN void throw_logic_error(const char* str);
|
|
47
47
|
|
|
48
|
-
void throw_runtime_error(const char* str);
|
|
48
|
+
BOOST_NORETURN void throw_runtime_error(const char* str);
|
|
49
49
|
|
|
50
50
|
#elif defined(BOOST_NO_EXCEPTIONS)
|
|
51
51
|
|
|
52
|
-
inline void throw_bad_alloc()
|
|
52
|
+
BOOST_NORETURN inline void throw_bad_alloc()
|
|
53
53
|
{
|
|
54
54
|
const char msg[] = "boost::container bad_alloc thrown";
|
|
55
55
|
(void)msg;
|
|
@@ -57,7 +57,7 @@ namespace container {
|
|
|
57
57
|
std::abort();
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
inline void throw_out_of_range(const char* str)
|
|
60
|
+
BOOST_NORETURN inline void throw_out_of_range(const char* str)
|
|
61
61
|
{
|
|
62
62
|
const char msg[] = "boost::container out_of_range thrown";
|
|
63
63
|
(void)msg; (void)str;
|
|
@@ -65,7 +65,7 @@ namespace container {
|
|
|
65
65
|
std::abort();
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
inline void throw_length_error(const char* str)
|
|
68
|
+
BOOST_NORETURN inline void throw_length_error(const char* str)
|
|
69
69
|
{
|
|
70
70
|
const char msg[] = "boost::container length_error thrown";
|
|
71
71
|
(void)msg; (void)str;
|
|
@@ -73,7 +73,7 @@ namespace container {
|
|
|
73
73
|
std::abort();
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
inline void throw_logic_error(const char* str)
|
|
76
|
+
BOOST_NORETURN inline void throw_logic_error(const char* str)
|
|
77
77
|
{
|
|
78
78
|
const char msg[] = "boost::container logic_error thrown";
|
|
79
79
|
(void)msg; (void)str;
|
|
@@ -81,7 +81,7 @@ namespace container {
|
|
|
81
81
|
std::abort();
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
inline void throw_runtime_error(const char* str)
|
|
84
|
+
BOOST_NORETURN inline void throw_runtime_error(const char* str)
|
|
85
85
|
{
|
|
86
86
|
const char msg[] = "boost::container runtime_error thrown";
|
|
87
87
|
(void)msg; (void)str;
|
|
@@ -102,7 +102,7 @@ namespace container {
|
|
|
102
102
|
//! <li>If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined
|
|
103
103
|
//! the user must provide an implementation and the function should not return.</li>
|
|
104
104
|
//! </ul>
|
|
105
|
-
inline void throw_bad_alloc()
|
|
105
|
+
BOOST_NORETURN inline void throw_bad_alloc()
|
|
106
106
|
{
|
|
107
107
|
throw std::bad_alloc();
|
|
108
108
|
}
|
|
@@ -118,7 +118,7 @@ namespace container {
|
|
|
118
118
|
//! <li>If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined
|
|
119
119
|
//! the user must provide an implementation and the function should not return.</li>
|
|
120
120
|
//! </ul>
|
|
121
|
-
inline void throw_out_of_range(const char* str)
|
|
121
|
+
BOOST_NORETURN inline void throw_out_of_range(const char* str)
|
|
122
122
|
{
|
|
123
123
|
throw std::out_of_range(str);
|
|
124
124
|
}
|
|
@@ -134,7 +134,7 @@ namespace container {
|
|
|
134
134
|
//! <li>If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined
|
|
135
135
|
//! the user must provide an implementation and the function should not return.</li>
|
|
136
136
|
//! </ul>
|
|
137
|
-
inline void throw_length_error(const char* str)
|
|
137
|
+
BOOST_NORETURN inline void throw_length_error(const char* str)
|
|
138
138
|
{
|
|
139
139
|
throw std::length_error(str);
|
|
140
140
|
}
|
|
@@ -151,7 +151,7 @@ namespace container {
|
|
|
151
151
|
//! <li>If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined
|
|
152
152
|
//! the user must provide an implementation and the function should not return.</li>
|
|
153
153
|
//! </ul>
|
|
154
|
-
inline void throw_logic_error(const char* str)
|
|
154
|
+
BOOST_NORETURN inline void throw_logic_error(const char* str)
|
|
155
155
|
{
|
|
156
156
|
throw std::logic_error(str);
|
|
157
157
|
}
|
|
@@ -167,7 +167,7 @@ namespace container {
|
|
|
167
167
|
//! <li>If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined
|
|
168
168
|
//! the user must provide an implementation and the function should not return.</li>
|
|
169
169
|
//! </ul>
|
|
170
|
-
inline void throw_runtime_error(const char* str)
|
|
170
|
+
BOOST_NORETURN inline void throw_runtime_error(const char* str)
|
|
171
171
|
{
|
|
172
172
|
throw std::runtime_error(str);
|
|
173
173
|
}
|
|
@@ -97,6 +97,16 @@ class vec_iterator
|
|
|
97
97
|
private:
|
|
98
98
|
Pointer m_ptr;
|
|
99
99
|
|
|
100
|
+
class nat
|
|
101
|
+
{
|
|
102
|
+
public:
|
|
103
|
+
Pointer get_ptr() const
|
|
104
|
+
{ return Pointer(); }
|
|
105
|
+
};
|
|
106
|
+
typedef typename dtl::if_c< IsConst
|
|
107
|
+
, vec_iterator<Pointer, false>
|
|
108
|
+
, nat>::type nonconst_iterator;
|
|
109
|
+
|
|
100
110
|
public:
|
|
101
111
|
BOOST_CONTAINER_FORCEINLINE const Pointer &get_ptr() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
102
112
|
{ return m_ptr; }
|
|
@@ -116,10 +126,17 @@ class vec_iterator
|
|
|
116
126
|
: m_ptr() //Value initialization to achieve "null iterators" (N3644)
|
|
117
127
|
{}
|
|
118
128
|
|
|
119
|
-
BOOST_CONTAINER_FORCEINLINE vec_iterator(vec_iterator
|
|
129
|
+
BOOST_CONTAINER_FORCEINLINE vec_iterator(const vec_iterator& other) BOOST_NOEXCEPT_OR_NOTHROW
|
|
130
|
+
: m_ptr(other.get_ptr())
|
|
131
|
+
{}
|
|
132
|
+
|
|
133
|
+
BOOST_CONTAINER_FORCEINLINE vec_iterator(const nonconst_iterator &other) BOOST_NOEXCEPT_OR_NOTHROW
|
|
120
134
|
: m_ptr(other.get_ptr())
|
|
121
135
|
{}
|
|
122
136
|
|
|
137
|
+
BOOST_CONTAINER_FORCEINLINE vec_iterator & operator=(const vec_iterator& other) BOOST_NOEXCEPT_OR_NOTHROW
|
|
138
|
+
{ m_ptr = other.get_ptr(); return *this; }
|
|
139
|
+
|
|
123
140
|
//Pointer like operators
|
|
124
141
|
BOOST_CONTAINER_FORCEINLINE reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
125
142
|
{ BOOST_ASSERT(!!m_ptr); return *m_ptr; }
|
|
@@ -236,7 +253,6 @@ struct vector_value_traits_base
|
|
|
236
253
|
static const bool nothrow_assign = dtl::is_nothrow_copy_assignable<T>::value || trivial_assign;
|
|
237
254
|
};
|
|
238
255
|
|
|
239
|
-
|
|
240
256
|
template <class Allocator>
|
|
241
257
|
struct vector_value_traits
|
|
242
258
|
: public vector_value_traits_base<typename Allocator::value_type>
|
|
@@ -265,14 +281,14 @@ struct vector_alloc_holder
|
|
|
265
281
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(vector_alloc_holder)
|
|
266
282
|
|
|
267
283
|
public:
|
|
268
|
-
typedef Allocator
|
|
269
|
-
typedef StoredSizeType
|
|
270
|
-
typedef boost::container::allocator_traits<
|
|
271
|
-
typedef typename allocator_traits_type::pointer
|
|
272
|
-
typedef typename allocator_traits_type::size_type
|
|
273
|
-
typedef typename allocator_traits_type::value_type
|
|
284
|
+
typedef Allocator allocator_type;
|
|
285
|
+
typedef StoredSizeType stored_size_type;
|
|
286
|
+
typedef boost::container::allocator_traits<allocator_type> allocator_traits_type;
|
|
287
|
+
typedef typename allocator_traits_type::pointer pointer;
|
|
288
|
+
typedef typename allocator_traits_type::size_type size_type;
|
|
289
|
+
typedef typename allocator_traits_type::value_type value_type;
|
|
274
290
|
|
|
275
|
-
static bool is_propagable_from(const allocator_type &from_alloc, pointer p, const allocator_type &to_alloc, bool const propagate_allocator)
|
|
291
|
+
BOOST_CONTAINER_FORCEINLINE static bool is_propagable_from(const allocator_type &from_alloc, pointer p, const allocator_type &to_alloc, bool const propagate_allocator)
|
|
276
292
|
{
|
|
277
293
|
(void)propagate_allocator; (void)p; (void)to_alloc; (void)from_alloc;
|
|
278
294
|
const bool all_storage_propagable = !allocator_traits_type::is_partially_propagable::value ||
|
|
@@ -280,7 +296,7 @@ struct vector_alloc_holder
|
|
|
280
296
|
return all_storage_propagable && (propagate_allocator || allocator_traits_type::equal(from_alloc, to_alloc));
|
|
281
297
|
}
|
|
282
298
|
|
|
283
|
-
static bool are_swap_propagable(const allocator_type &l_a, pointer l_p, const allocator_type &r_a, pointer r_p, bool const propagate_allocator)
|
|
299
|
+
BOOST_CONTAINER_FORCEINLINE static bool are_swap_propagable(const allocator_type &l_a, pointer l_p, const allocator_type &r_a, pointer r_p, bool const propagate_allocator)
|
|
284
300
|
{
|
|
285
301
|
(void)propagate_allocator; (void)l_p; (void)r_p; (void)l_a; (void)r_a;
|
|
286
302
|
const bool all_storage_propagable = !allocator_traits_type::is_partially_propagable::value ||
|
|
@@ -290,20 +306,20 @@ struct vector_alloc_holder
|
|
|
290
306
|
|
|
291
307
|
//Constructor, does not throw
|
|
292
308
|
vector_alloc_holder()
|
|
293
|
-
BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<
|
|
294
|
-
:
|
|
309
|
+
BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value)
|
|
310
|
+
: allocator_type(), m_start(), m_size(), m_capacity()
|
|
295
311
|
{}
|
|
296
312
|
|
|
297
313
|
//Constructor, does not throw
|
|
298
314
|
template<class AllocConvertible>
|
|
299
315
|
explicit vector_alloc_holder(BOOST_FWD_REF(AllocConvertible) a) BOOST_NOEXCEPT_OR_NOTHROW
|
|
300
|
-
:
|
|
316
|
+
: allocator_type(boost::forward<AllocConvertible>(a)), m_start(), m_size(), m_capacity()
|
|
301
317
|
{}
|
|
302
318
|
|
|
303
319
|
//Constructor, does not throw
|
|
304
320
|
template<class AllocConvertible>
|
|
305
321
|
vector_alloc_holder(vector_uninitialized_size_t, BOOST_FWD_REF(AllocConvertible) a, size_type initial_size)
|
|
306
|
-
:
|
|
322
|
+
: allocator_type(boost::forward<AllocConvertible>(a))
|
|
307
323
|
, m_start()
|
|
308
324
|
//Size is initialized here so vector should only call uninitialized_xxx after this
|
|
309
325
|
, m_size(static_cast<stored_size_type>(initial_size))
|
|
@@ -319,7 +335,7 @@ struct vector_alloc_holder
|
|
|
319
335
|
|
|
320
336
|
//Constructor, does not throw
|
|
321
337
|
vector_alloc_holder(vector_uninitialized_size_t, size_type initial_size)
|
|
322
|
-
:
|
|
338
|
+
: allocator_type()
|
|
323
339
|
, m_start()
|
|
324
340
|
//Size is initialized here so vector should only call uninitialized_xxx after this
|
|
325
341
|
, m_size(static_cast<stored_size_type>(initial_size))
|
|
@@ -334,7 +350,7 @@ struct vector_alloc_holder
|
|
|
334
350
|
}
|
|
335
351
|
|
|
336
352
|
vector_alloc_holder(BOOST_RV_REF(vector_alloc_holder) holder) BOOST_NOEXCEPT_OR_NOTHROW
|
|
337
|
-
:
|
|
353
|
+
: allocator_type(BOOST_MOVE_BASE(allocator_type, holder))
|
|
338
354
|
, m_start(holder.m_start)
|
|
339
355
|
, m_size(holder.m_size)
|
|
340
356
|
, m_capacity(holder.m_capacity)
|
|
@@ -343,38 +359,9 @@ struct vector_alloc_holder
|
|
|
343
359
|
holder.m_size = holder.m_capacity = 0;
|
|
344
360
|
}
|
|
345
361
|
|
|
346
|
-
vector_alloc_holder(initial_capacity_t, pointer p, size_type capacity, BOOST_RV_REF(vector_alloc_holder) holder)
|
|
347
|
-
: Allocator(BOOST_MOVE_BASE(Allocator, holder))
|
|
348
|
-
, m_start(p)
|
|
349
|
-
, m_size(holder.m_size)
|
|
350
|
-
, m_capacity(static_cast<stored_size_type>(capacity))
|
|
351
|
-
{
|
|
352
|
-
allocator_type &this_alloc = this->alloc();
|
|
353
|
-
allocator_type &x_alloc = holder.alloc();
|
|
354
|
-
if(this->is_propagable_from(x_alloc, holder.start(), this_alloc, true)){
|
|
355
|
-
if(this->m_capacity){
|
|
356
|
-
this->deallocate(this->m_start, this->m_capacity);
|
|
357
|
-
}
|
|
358
|
-
m_start = holder.m_start;
|
|
359
|
-
m_capacity = holder.m_capacity;
|
|
360
|
-
holder.m_start = pointer();
|
|
361
|
-
holder.m_capacity = holder.m_size = 0;
|
|
362
|
-
}
|
|
363
|
-
else if(this->m_capacity < holder.m_size){
|
|
364
|
-
size_type const n = holder.m_size;
|
|
365
|
-
pointer reuse = pointer();
|
|
366
|
-
size_type final_cap = n;
|
|
367
|
-
m_start = this->allocation_command(allocate_new, n, final_cap, reuse);
|
|
368
|
-
m_capacity = static_cast<stored_size_type>(final_cap);
|
|
369
|
-
#ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
|
|
370
|
-
this->num_alloc += n != 0;
|
|
371
|
-
#endif
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
|
|
375
362
|
vector_alloc_holder(initial_capacity_t, pointer p, size_type n)
|
|
376
|
-
BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<
|
|
377
|
-
:
|
|
363
|
+
BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value)
|
|
364
|
+
: allocator_type()
|
|
378
365
|
, m_start(p)
|
|
379
366
|
, m_size()
|
|
380
367
|
//n is guaranteed to fit into stored_size_type
|
|
@@ -383,7 +370,7 @@ struct vector_alloc_holder
|
|
|
383
370
|
|
|
384
371
|
template<class AllocFwd>
|
|
385
372
|
vector_alloc_holder(initial_capacity_t, pointer p, size_type n, BOOST_FWD_REF(AllocFwd) a)
|
|
386
|
-
:
|
|
373
|
+
: allocator_type(::boost::forward<AllocFwd>(a))
|
|
387
374
|
, m_start(p)
|
|
388
375
|
, m_size()
|
|
389
376
|
, m_capacity(n)
|
|
@@ -399,7 +386,7 @@ struct vector_alloc_holder
|
|
|
399
386
|
BOOST_CONTAINER_FORCEINLINE pointer allocation_command(boost::container::allocation_type command,
|
|
400
387
|
size_type limit_size, size_type &prefer_in_recvd_out_size, pointer &reuse)
|
|
401
388
|
{
|
|
402
|
-
typedef typename dtl::version<
|
|
389
|
+
typedef typename dtl::version<allocator_type>::type alloc_version;
|
|
403
390
|
return this->priv_allocation_command(alloc_version(), command, limit_size, prefer_in_recvd_out_size, reuse);
|
|
404
391
|
}
|
|
405
392
|
|
|
@@ -470,10 +457,10 @@ struct vector_alloc_holder
|
|
|
470
457
|
x.m_size = x.m_capacity = 0;
|
|
471
458
|
}
|
|
472
459
|
|
|
473
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
460
|
+
BOOST_CONTAINER_FORCEINLINE allocator_type &alloc() BOOST_NOEXCEPT_OR_NOTHROW
|
|
474
461
|
{ return *this; }
|
|
475
462
|
|
|
476
|
-
BOOST_CONTAINER_FORCEINLINE const
|
|
463
|
+
BOOST_CONTAINER_FORCEINLINE const allocator_type &alloc() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
477
464
|
{ return *this; }
|
|
478
465
|
|
|
479
466
|
BOOST_CONTAINER_FORCEINLINE const pointer &start() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
@@ -485,6 +472,9 @@ struct vector_alloc_holder
|
|
|
485
472
|
BOOST_CONTAINER_FORCEINLINE void capacity(const size_type &c) BOOST_NOEXCEPT_OR_NOTHROW
|
|
486
473
|
{ BOOST_ASSERT( c <= stored_size_type(-1)); m_capacity = c; }
|
|
487
474
|
|
|
475
|
+
static BOOST_CONTAINER_FORCEINLINE void on_capacity_overflow()
|
|
476
|
+
{ }
|
|
477
|
+
|
|
488
478
|
private:
|
|
489
479
|
void priv_first_allocation(size_type cap)
|
|
490
480
|
{
|
|
@@ -553,31 +543,33 @@ struct vector_alloc_holder<Allocator, StoredSizeType, version_0>
|
|
|
553
543
|
BOOST_MOVABLE_BUT_NOT_COPYABLE(vector_alloc_holder)
|
|
554
544
|
|
|
555
545
|
public:
|
|
556
|
-
typedef
|
|
546
|
+
typedef Allocator allocator_type;
|
|
547
|
+
typedef boost::container::
|
|
548
|
+
allocator_traits<allocator_type> allocator_traits_type;
|
|
557
549
|
typedef typename allocator_traits_type::pointer pointer;
|
|
558
550
|
typedef typename allocator_traits_type::size_type size_type;
|
|
559
551
|
typedef typename allocator_traits_type::value_type value_type;
|
|
560
552
|
typedef StoredSizeType stored_size_type;
|
|
561
|
-
|
|
553
|
+
|
|
562
554
|
template <class OtherAllocator, class OtherStoredSizeType, class OtherAllocatorVersion>
|
|
563
555
|
friend struct vector_alloc_holder;
|
|
564
556
|
|
|
565
557
|
//Constructor, does not throw
|
|
566
558
|
vector_alloc_holder()
|
|
567
|
-
BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<
|
|
568
|
-
:
|
|
559
|
+
BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value)
|
|
560
|
+
: allocator_type(), m_size()
|
|
569
561
|
{}
|
|
570
562
|
|
|
571
563
|
//Constructor, does not throw
|
|
572
564
|
template<class AllocConvertible>
|
|
573
565
|
explicit vector_alloc_holder(BOOST_FWD_REF(AllocConvertible) a) BOOST_NOEXCEPT_OR_NOTHROW
|
|
574
|
-
:
|
|
566
|
+
: allocator_type(boost::forward<AllocConvertible>(a)), m_size()
|
|
575
567
|
{}
|
|
576
568
|
|
|
577
569
|
//Constructor, does not throw
|
|
578
570
|
template<class AllocConvertible>
|
|
579
571
|
vector_alloc_holder(vector_uninitialized_size_t, BOOST_FWD_REF(AllocConvertible) a, size_type initial_size)
|
|
580
|
-
:
|
|
572
|
+
: allocator_type(boost::forward<AllocConvertible>(a))
|
|
581
573
|
, m_size(initial_size) //Size is initialized here...
|
|
582
574
|
{
|
|
583
575
|
//... and capacity here, so vector, must call uninitialized_xxx in the derived constructor
|
|
@@ -586,7 +578,7 @@ struct vector_alloc_holder<Allocator, StoredSizeType, version_0>
|
|
|
586
578
|
|
|
587
579
|
//Constructor, does not throw
|
|
588
580
|
vector_alloc_holder(vector_uninitialized_size_t, size_type initial_size)
|
|
589
|
-
:
|
|
581
|
+
: allocator_type()
|
|
590
582
|
, m_size(initial_size) //Size is initialized here...
|
|
591
583
|
{
|
|
592
584
|
//... and capacity here, so vector, must call uninitialized_xxx in the derived constructor
|
|
@@ -594,16 +586,19 @@ struct vector_alloc_holder<Allocator, StoredSizeType, version_0>
|
|
|
594
586
|
}
|
|
595
587
|
|
|
596
588
|
vector_alloc_holder(BOOST_RV_REF(vector_alloc_holder) holder)
|
|
597
|
-
:
|
|
589
|
+
: allocator_type(BOOST_MOVE_BASE(allocator_type, holder))
|
|
598
590
|
, m_size(holder.m_size) //Size is initialized here so vector should only call uninitialized_xxx after this
|
|
599
591
|
{
|
|
600
592
|
::boost::container::uninitialized_move_alloc_n
|
|
601
593
|
(this->alloc(), boost::movelib::to_raw_pointer(holder.start()), m_size, boost::movelib::to_raw_pointer(this->start()));
|
|
594
|
+
::boost::container::destroy_alloc_n
|
|
595
|
+
(this->alloc(), boost::movelib::to_raw_pointer(holder.start()), m_size);
|
|
596
|
+
holder.m_size = 0;
|
|
602
597
|
}
|
|
603
598
|
|
|
604
599
|
template<class OtherAllocator, class OtherStoredSizeType, class OtherAllocatorVersion>
|
|
605
600
|
vector_alloc_holder(BOOST_RV_REF_BEG vector_alloc_holder<OtherAllocator, OtherStoredSizeType, OtherAllocatorVersion> BOOST_RV_REF_END holder)
|
|
606
|
-
:
|
|
601
|
+
: allocator_type()
|
|
607
602
|
, m_size(holder.m_size) //Initialize it to m_size as first_allocation can only succeed or abort
|
|
608
603
|
{
|
|
609
604
|
//Different allocator type so we must check we have enough storage
|
|
@@ -613,10 +608,13 @@ struct vector_alloc_holder<Allocator, StoredSizeType, version_0>
|
|
|
613
608
|
(this->alloc(), boost::movelib::to_raw_pointer(holder.start()), n, boost::movelib::to_raw_pointer(this->start()));
|
|
614
609
|
}
|
|
615
610
|
|
|
611
|
+
static BOOST_CONTAINER_FORCEINLINE void on_capacity_overflow()
|
|
612
|
+
{ allocator_type::on_capacity_overflow(); }
|
|
613
|
+
|
|
616
614
|
BOOST_CONTAINER_FORCEINLINE void priv_first_allocation(size_type cap)
|
|
617
615
|
{
|
|
618
|
-
if(cap >
|
|
619
|
-
|
|
616
|
+
if(cap > allocator_type::internal_capacity){
|
|
617
|
+
on_capacity_overflow();
|
|
620
618
|
}
|
|
621
619
|
}
|
|
622
620
|
|
|
@@ -628,34 +626,39 @@ struct vector_alloc_holder<Allocator, StoredSizeType, version_0>
|
|
|
628
626
|
template<class OtherAllocator, class OtherStoredSizeType, class OtherAllocatorVersion>
|
|
629
627
|
void deep_swap(vector_alloc_holder<OtherAllocator, OtherStoredSizeType, OtherAllocatorVersion> &x)
|
|
630
628
|
{
|
|
631
|
-
|
|
632
|
-
|
|
629
|
+
typedef typename real_allocator<value_type, OtherAllocator>::type other_allocator_type;
|
|
630
|
+
if(this->m_size > other_allocator_type::internal_capacity || x.m_size > allocator_type::internal_capacity){
|
|
631
|
+
on_capacity_overflow();
|
|
633
632
|
}
|
|
634
633
|
this->priv_deep_swap(x);
|
|
635
634
|
}
|
|
636
635
|
|
|
637
636
|
BOOST_CONTAINER_FORCEINLINE void swap_resources(vector_alloc_holder &) BOOST_NOEXCEPT_OR_NOTHROW
|
|
638
637
|
{ //Containers with version 0 allocators can't be moved without moving elements one by one
|
|
639
|
-
|
|
638
|
+
on_capacity_overflow();
|
|
640
639
|
}
|
|
641
640
|
|
|
642
641
|
|
|
643
642
|
BOOST_CONTAINER_FORCEINLINE void steal_resources(vector_alloc_holder &)
|
|
644
643
|
{ //Containers with version 0 allocators can't be moved without moving elements one by one
|
|
645
|
-
|
|
644
|
+
on_capacity_overflow();
|
|
646
645
|
}
|
|
647
646
|
|
|
648
|
-
BOOST_CONTAINER_FORCEINLINE
|
|
647
|
+
BOOST_CONTAINER_FORCEINLINE allocator_type &alloc() BOOST_NOEXCEPT_OR_NOTHROW
|
|
649
648
|
{ return *this; }
|
|
650
649
|
|
|
651
|
-
BOOST_CONTAINER_FORCEINLINE const
|
|
650
|
+
BOOST_CONTAINER_FORCEINLINE const allocator_type &alloc() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
652
651
|
{ return *this; }
|
|
653
652
|
|
|
654
653
|
BOOST_CONTAINER_FORCEINLINE bool try_expand_fwd(size_type at_least)
|
|
655
654
|
{ return !at_least; }
|
|
656
655
|
|
|
657
|
-
BOOST_CONTAINER_FORCEINLINE pointer start() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
658
|
-
|
|
656
|
+
BOOST_CONTAINER_FORCEINLINE pointer start() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
657
|
+
{ return allocator_type::internal_storage(); }
|
|
658
|
+
|
|
659
|
+
BOOST_CONTAINER_FORCEINLINE size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
660
|
+
{ return allocator_type::internal_capacity; }
|
|
661
|
+
|
|
659
662
|
stored_size_type m_size;
|
|
660
663
|
|
|
661
664
|
private:
|
|
@@ -663,7 +666,7 @@ struct vector_alloc_holder<Allocator, StoredSizeType, version_0>
|
|
|
663
666
|
template<class OtherAllocator, class OtherStoredSizeType, class OtherAllocatorVersion>
|
|
664
667
|
void priv_deep_swap(vector_alloc_holder<OtherAllocator, OtherStoredSizeType, OtherAllocatorVersion> &x)
|
|
665
668
|
{
|
|
666
|
-
const size_type MaxTmpStorage = sizeof(value_type)*
|
|
669
|
+
const size_type MaxTmpStorage = sizeof(value_type)*allocator_type::internal_capacity;
|
|
667
670
|
value_type *const first_this = boost::movelib::to_raw_pointer(this->start());
|
|
668
671
|
value_type *const first_x = boost::movelib::to_raw_pointer(x.start());
|
|
669
672
|
|
|
@@ -679,18 +682,6 @@ struct vector_alloc_holder<Allocator, StoredSizeType, version_0>
|
|
|
679
682
|
|
|
680
683
|
struct growth_factor_60;
|
|
681
684
|
|
|
682
|
-
template<class T, class Default>
|
|
683
|
-
struct default_if_void
|
|
684
|
-
{
|
|
685
|
-
typedef T type;
|
|
686
|
-
};
|
|
687
|
-
|
|
688
|
-
template<class Default>
|
|
689
|
-
struct default_if_void<void, Default>
|
|
690
|
-
{
|
|
691
|
-
typedef Default type;
|
|
692
|
-
};
|
|
693
|
-
|
|
694
685
|
template<class Options, class AllocatorSizeType>
|
|
695
686
|
struct get_vector_opt
|
|
696
687
|
{
|
|
@@ -705,7 +696,6 @@ struct get_vector_opt<void, AllocatorSizeType>
|
|
|
705
696
|
typedef vector_opt<growth_factor_60, AllocatorSizeType> type;
|
|
706
697
|
};
|
|
707
698
|
|
|
708
|
-
|
|
709
699
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
710
700
|
|
|
711
701
|
//! A vector is a sequence that supports random access to elements, constant
|
|
@@ -714,14 +704,39 @@ struct get_vector_opt<void, AllocatorSizeType>
|
|
|
714
704
|
//! elements in a vector may vary dynamically; memory management is automatic.
|
|
715
705
|
//!
|
|
716
706
|
//! \tparam T The type of object that is stored in the vector
|
|
717
|
-
//! \tparam
|
|
707
|
+
//! \tparam A The allocator used for all internal memory management, use void
|
|
708
|
+
//! for the default allocator
|
|
718
709
|
//! \tparam Options A type produced from \c boost::container::vector_options.
|
|
719
|
-
template <class T, class
|
|
710
|
+
template <class T, class A BOOST_CONTAINER_DOCONLY(= void), class Options BOOST_CONTAINER_DOCONLY(= void) >
|
|
720
711
|
class vector
|
|
721
712
|
{
|
|
722
|
-
|
|
713
|
+
public:
|
|
714
|
+
//////////////////////////////////////////////
|
|
715
|
+
//
|
|
716
|
+
// types
|
|
717
|
+
//
|
|
718
|
+
//////////////////////////////////////////////
|
|
719
|
+
typedef T value_type;
|
|
720
|
+
typedef BOOST_CONTAINER_IMPDEF
|
|
721
|
+
(typename real_allocator<T BOOST_MOVE_I A>::type) allocator_type;
|
|
722
|
+
typedef ::boost::container::allocator_traits<allocator_type> allocator_traits_t;
|
|
723
|
+
typedef typename allocator_traits<allocator_type>::pointer pointer;
|
|
724
|
+
typedef typename allocator_traits<allocator_type>::const_pointer const_pointer;
|
|
725
|
+
typedef typename allocator_traits<allocator_type>::reference reference;
|
|
726
|
+
typedef typename allocator_traits<allocator_type>::const_reference const_reference;
|
|
727
|
+
typedef typename allocator_traits<allocator_type>::size_type size_type;
|
|
728
|
+
typedef typename allocator_traits<allocator_type>::difference_type difference_type;
|
|
729
|
+
typedef allocator_type stored_allocator_type;
|
|
730
|
+
typedef BOOST_CONTAINER_IMPDEF(vec_iterator<pointer BOOST_MOVE_I false>) iterator;
|
|
731
|
+
typedef BOOST_CONTAINER_IMPDEF(vec_iterator<pointer BOOST_MOVE_I true >) const_iterator;
|
|
732
|
+
typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<iterator>) reverse_iterator;
|
|
733
|
+
typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<const_iterator>) const_reverse_iterator;
|
|
734
|
+
|
|
735
|
+
private:
|
|
723
736
|
|
|
724
|
-
|
|
737
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
738
|
+
typedef typename boost::container::
|
|
739
|
+
allocator_traits<allocator_type>::size_type alloc_size_type;
|
|
725
740
|
typedef typename get_vector_opt<Options, alloc_size_type>::type options_type;
|
|
726
741
|
typedef typename options_type::growth_factor_type growth_factor_type;
|
|
727
742
|
typedef typename options_type::stored_size_type stored_size_type;
|
|
@@ -731,51 +746,32 @@ class vector
|
|
|
731
746
|
BOOST_STATIC_ASSERT( (sizeof(stored_size_type) < sizeof(alloc_size_type) ||
|
|
732
747
|
dtl::is_same<stored_size_type, alloc_size_type>::value) );
|
|
733
748
|
|
|
734
|
-
typedef typename dtl::version<
|
|
735
|
-
typedef boost::container::vector_alloc_holder
|
|
749
|
+
typedef typename dtl::version<allocator_type>::type alloc_version;
|
|
750
|
+
typedef boost::container::vector_alloc_holder
|
|
751
|
+
<allocator_type, stored_size_type> alloc_holder_t;
|
|
752
|
+
|
|
736
753
|
alloc_holder_t m_holder;
|
|
737
|
-
|
|
738
|
-
|
|
754
|
+
|
|
755
|
+
typedef allocator_traits<allocator_type> allocator_traits_type;
|
|
756
|
+
template <class U, class UA, class UOptions>
|
|
739
757
|
friend class vector;
|
|
740
758
|
|
|
741
|
-
typedef typename allocator_traits_type::pointer pointer_impl;
|
|
742
|
-
typedef vec_iterator<pointer_impl, false> iterator_impl;
|
|
743
|
-
typedef vec_iterator<pointer_impl, true > const_iterator_impl;
|
|
744
759
|
|
|
745
760
|
protected:
|
|
746
|
-
|
|
761
|
+
BOOST_CONTAINER_FORCEINLINE
|
|
762
|
+
static bool is_propagable_from(const allocator_type &from_alloc, pointer p, const allocator_type &to_alloc, bool const propagate_allocator)
|
|
747
763
|
{ return alloc_holder_t::is_propagable_from(from_alloc, p, to_alloc, propagate_allocator); }
|
|
748
764
|
|
|
749
|
-
|
|
750
|
-
|
|
765
|
+
BOOST_CONTAINER_FORCEINLINE
|
|
766
|
+
static bool are_swap_propagable( const allocator_type &l_a, pointer l_p
|
|
767
|
+
, const allocator_type &r_a, pointer r_p, bool const propagate_allocator)
|
|
751
768
|
{ return alloc_holder_t::are_swap_propagable(l_a, l_p, r_a, r_p, propagate_allocator); }
|
|
752
769
|
|
|
753
770
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
754
|
-
public:
|
|
755
|
-
//////////////////////////////////////////////
|
|
756
|
-
//
|
|
757
|
-
// types
|
|
758
|
-
//
|
|
759
|
-
//////////////////////////////////////////////
|
|
760
|
-
|
|
761
|
-
typedef T value_type;
|
|
762
|
-
typedef typename ::boost::container::allocator_traits<Allocator>::pointer pointer;
|
|
763
|
-
typedef typename ::boost::container::allocator_traits<Allocator>::const_pointer const_pointer;
|
|
764
|
-
typedef typename ::boost::container::allocator_traits<Allocator>::reference reference;
|
|
765
|
-
typedef typename ::boost::container::allocator_traits<Allocator>::const_reference const_reference;
|
|
766
|
-
typedef typename ::boost::container::allocator_traits<Allocator>::size_type size_type;
|
|
767
|
-
typedef typename ::boost::container::allocator_traits<Allocator>::difference_type difference_type;
|
|
768
|
-
typedef Allocator allocator_type;
|
|
769
|
-
typedef Allocator stored_allocator_type;
|
|
770
|
-
typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator;
|
|
771
|
-
typedef BOOST_CONTAINER_IMPDEF(const_iterator_impl) const_iterator;
|
|
772
|
-
typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<iterator>) reverse_iterator;
|
|
773
|
-
typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<const_iterator>) const_reverse_iterator;
|
|
774
|
-
|
|
775
771
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
776
772
|
private:
|
|
777
773
|
BOOST_COPYABLE_AND_MOVABLE(vector)
|
|
778
|
-
typedef vector_value_traits<
|
|
774
|
+
typedef vector_value_traits<allocator_type> value_traits;
|
|
779
775
|
typedef constant_iterator<T, difference_type> cvalue_iterator;
|
|
780
776
|
|
|
781
777
|
protected:
|
|
@@ -806,7 +802,7 @@ class vector
|
|
|
806
802
|
//! <b>Throws</b>: Nothing.
|
|
807
803
|
//!
|
|
808
804
|
//! <b>Complexity</b>: Constant.
|
|
809
|
-
vector() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<
|
|
805
|
+
vector() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value)
|
|
810
806
|
: m_holder()
|
|
811
807
|
{}
|
|
812
808
|
|
|
@@ -953,12 +949,6 @@ class vector
|
|
|
953
949
|
//! throws or T's constructor taking a dereferenced InIt throws.
|
|
954
950
|
//!
|
|
955
951
|
//! <b>Complexity</b>: Linear to the range [first, last).
|
|
956
|
-
// template <class InIt>
|
|
957
|
-
// vector(InIt first, InIt last, const allocator_type& a
|
|
958
|
-
// BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_c
|
|
959
|
-
// < dtl::is_convertible<InIt BOOST_MOVE_I size_type>::value
|
|
960
|
-
// BOOST_MOVE_I dtl::nat >::type * = 0)
|
|
961
|
-
// ) -> vector<typename iterator_traits<InIt>::value_type, new_allocator<typename iterator_traits<InIt>::value_type>>;
|
|
962
952
|
template <class InIt>
|
|
963
953
|
vector(InIt first, InIt last, const allocator_type& a
|
|
964
954
|
BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_c
|
|
@@ -1006,9 +996,14 @@ class vector
|
|
|
1006
996
|
//!
|
|
1007
997
|
//! <b>Complexity</b>: Linear to the range [il.begin(), il.end()).
|
|
1008
998
|
vector(std::initializer_list<value_type> il, const allocator_type& a = allocator_type())
|
|
1009
|
-
:
|
|
999
|
+
: m_holder(vector_uninitialized_size, a, il.size())
|
|
1010
1000
|
{
|
|
1011
|
-
|
|
1001
|
+
#ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
|
|
1002
|
+
this->num_alloc += il.size() != 0;
|
|
1003
|
+
#endif
|
|
1004
|
+
::boost::container::uninitialized_copy_alloc_n_source
|
|
1005
|
+
( this->m_holder.alloc(), il.begin()
|
|
1006
|
+
, il.size(), this->priv_raw_begin());
|
|
1012
1007
|
}
|
|
1013
1008
|
#endif
|
|
1014
1009
|
|
|
@@ -1021,10 +1016,10 @@ class vector
|
|
|
1021
1016
|
//! <b>Complexity</b>: Linear.
|
|
1022
1017
|
//!
|
|
1023
1018
|
//! <b>Note</b>: Non-standard extension to support static_vector
|
|
1024
|
-
template<class
|
|
1025
|
-
vector(BOOST_RV_REF_BEG vector<T,
|
|
1019
|
+
template<class OtherA>
|
|
1020
|
+
vector(BOOST_RV_REF_BEG vector<T, OtherA, Options> BOOST_RV_REF_END x
|
|
1026
1021
|
, typename dtl::enable_if_c
|
|
1027
|
-
< dtl::is_version<
|
|
1022
|
+
< dtl::is_version<typename real_allocator<T, OtherA>::type, 0>::value>::type * = 0
|
|
1028
1023
|
)
|
|
1029
1024
|
: m_holder(boost::move(x.m_holder))
|
|
1030
1025
|
{}
|
|
@@ -1059,10 +1054,12 @@ class vector
|
|
|
1059
1054
|
//! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
|
|
1060
1055
|
vector(BOOST_RV_REF(vector) x, const allocator_type &a)
|
|
1061
1056
|
: m_holder( vector_uninitialized_size, a
|
|
1062
|
-
|
|
1057
|
+
//In this allocator move constructor the allocator won't be propagated --v
|
|
1058
|
+
, is_propagable_from(x.get_stored_allocator(), x.m_holder.start(), a, false) ? 0 : x.size()
|
|
1063
1059
|
)
|
|
1064
1060
|
{
|
|
1065
|
-
|
|
1061
|
+
//In this allocator move constructor the allocator won't be propagated ---v
|
|
1062
|
+
if(is_propagable_from(x.get_stored_allocator(), x.m_holder.start(), a, false)){
|
|
1066
1063
|
this->m_holder.steal_resources(x.m_holder);
|
|
1067
1064
|
}
|
|
1068
1065
|
else{
|
|
@@ -1099,7 +1096,7 @@ class vector
|
|
|
1099
1096
|
//! <b>Complexity</b>: Linear to the number of elements in x.
|
|
1100
1097
|
BOOST_CONTAINER_FORCEINLINE vector& operator=(BOOST_COPY_ASSIGN_REF(vector) x)
|
|
1101
1098
|
{
|
|
1102
|
-
if (&x != this){
|
|
1099
|
+
if (BOOST_LIKELY(&x != this)){
|
|
1103
1100
|
this->priv_copy_assign(x);
|
|
1104
1101
|
}
|
|
1105
1102
|
return *this;
|
|
@@ -1131,7 +1128,9 @@ class vector
|
|
|
1131
1128
|
BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value
|
|
1132
1129
|
|| allocator_traits_type::is_always_equal::value)
|
|
1133
1130
|
{
|
|
1134
|
-
|
|
1131
|
+
if (BOOST_LIKELY(&x != this)){
|
|
1132
|
+
this->priv_move_assign(boost::move(x));
|
|
1133
|
+
}
|
|
1135
1134
|
return *this;
|
|
1136
1135
|
}
|
|
1137
1136
|
|
|
@@ -1147,13 +1146,13 @@ class vector
|
|
|
1147
1146
|
//! <b>Complexity</b>: Linear.
|
|
1148
1147
|
//!
|
|
1149
1148
|
//! <b>Note</b>: Non-standard extension to support static_vector
|
|
1150
|
-
template<class
|
|
1149
|
+
template<class OtherA>
|
|
1151
1150
|
BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_and
|
|
1152
1151
|
< vector&
|
|
1153
|
-
, dtl::is_version<
|
|
1154
|
-
, dtl::is_different<
|
|
1152
|
+
, dtl::is_version<typename real_allocator<T, OtherA>::type, 0>
|
|
1153
|
+
, dtl::is_different<typename real_allocator<T, OtherA>::type, allocator_type>
|
|
1155
1154
|
>::type
|
|
1156
|
-
operator=(BOOST_RV_REF_BEG vector<value_type,
|
|
1155
|
+
operator=(BOOST_RV_REF_BEG vector<value_type, OtherA, Options> BOOST_RV_REF_END x)
|
|
1157
1156
|
{
|
|
1158
1157
|
this->priv_move_assign(boost::move(x));
|
|
1159
1158
|
return *this;
|
|
@@ -1169,13 +1168,13 @@ class vector
|
|
|
1169
1168
|
//! <b>Complexity</b>: Linear.
|
|
1170
1169
|
//!
|
|
1171
1170
|
//! <b>Note</b>: Non-standard extension to support static_vector
|
|
1172
|
-
template<class
|
|
1171
|
+
template<class OtherA>
|
|
1173
1172
|
BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_and
|
|
1174
1173
|
< vector&
|
|
1175
|
-
, dtl::is_version<
|
|
1176
|
-
, dtl::is_different<
|
|
1174
|
+
, dtl::is_version<typename real_allocator<T, OtherA>::type, 0>
|
|
1175
|
+
, dtl::is_different<typename real_allocator<T, OtherA>::type, allocator_type>
|
|
1177
1176
|
>::type
|
|
1178
|
-
operator=(const vector<value_type,
|
|
1177
|
+
operator=(const vector<value_type, OtherA, Options> &x)
|
|
1179
1178
|
{
|
|
1180
1179
|
this->priv_copy_assign(x);
|
|
1181
1180
|
return *this;
|
|
@@ -1765,7 +1764,7 @@ class vector
|
|
|
1765
1764
|
return *p;
|
|
1766
1765
|
}
|
|
1767
1766
|
else{
|
|
1768
|
-
typedef dtl::insert_emplace_proxy<
|
|
1767
|
+
typedef dtl::insert_emplace_proxy<allocator_type, T*, Args...> type;
|
|
1769
1768
|
return *this->priv_forward_range_insert_no_capacity
|
|
1770
1769
|
(this->back_ptr(), 1, type(::boost::forward<Args>(args)...), alloc_version());
|
|
1771
1770
|
}
|
|
@@ -1806,7 +1805,7 @@ class vector
|
|
|
1806
1805
|
{
|
|
1807
1806
|
BOOST_ASSERT(this->priv_in_range_or_end(position));
|
|
1808
1807
|
//Just call more general insert(pos, size, value) and return iterator
|
|
1809
|
-
typedef dtl::insert_emplace_proxy<
|
|
1808
|
+
typedef dtl::insert_emplace_proxy<allocator_type, T*, Args...> type;
|
|
1810
1809
|
return this->priv_forward_range_insert( vector_iterator_get_ptr(position), 1
|
|
1811
1810
|
, type(::boost::forward<Args>(args)...));
|
|
1812
1811
|
}
|
|
@@ -1825,7 +1824,7 @@ class vector
|
|
|
1825
1824
|
return *p;\
|
|
1826
1825
|
}\
|
|
1827
1826
|
else{\
|
|
1828
|
-
typedef dtl::insert_emplace_proxy_arg##N<
|
|
1827
|
+
typedef dtl::insert_emplace_proxy_arg##N<allocator_type, T* BOOST_MOVE_I##N BOOST_MOVE_TARG##N> type;\
|
|
1829
1828
|
return *this->priv_forward_range_insert_no_capacity\
|
|
1830
1829
|
( this->back_ptr(), 1, type(BOOST_MOVE_FWD##N), alloc_version());\
|
|
1831
1830
|
}\
|
|
@@ -1847,7 +1846,7 @@ class vector
|
|
|
1847
1846
|
iterator emplace(const_iterator pos BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
|
|
1848
1847
|
{\
|
|
1849
1848
|
BOOST_ASSERT(this->priv_in_range_or_end(pos));\
|
|
1850
|
-
typedef dtl::insert_emplace_proxy_arg##N<
|
|
1849
|
+
typedef dtl::insert_emplace_proxy_arg##N<allocator_type, T* BOOST_MOVE_I##N BOOST_MOVE_TARG##N> type;\
|
|
1851
1850
|
return this->priv_forward_range_insert(vector_iterator_get_ptr(pos), 1, type(BOOST_MOVE_FWD##N));\
|
|
1852
1851
|
}\
|
|
1853
1852
|
//
|
|
@@ -1913,7 +1912,7 @@ class vector
|
|
|
1913
1912
|
iterator insert(const_iterator p, size_type n, const T& x)
|
|
1914
1913
|
{
|
|
1915
1914
|
BOOST_ASSERT(this->priv_in_range_or_end(p));
|
|
1916
|
-
dtl::insert_n_copies_proxy<
|
|
1915
|
+
dtl::insert_n_copies_proxy<allocator_type, T*> proxy(x);
|
|
1917
1916
|
return this->priv_forward_range_insert(vector_iterator_get_ptr(p), n, proxy);
|
|
1918
1917
|
}
|
|
1919
1918
|
|
|
@@ -1959,7 +1958,7 @@ class vector
|
|
|
1959
1958
|
)
|
|
1960
1959
|
{
|
|
1961
1960
|
BOOST_ASSERT(this->priv_in_range_or_end(pos));
|
|
1962
|
-
dtl::insert_range_proxy<
|
|
1961
|
+
dtl::insert_range_proxy<allocator_type, FwdIt, T*> proxy(first);
|
|
1963
1962
|
return this->priv_forward_range_insert(vector_iterator_get_ptr(pos), boost::container::iterator_distance(first, last), proxy);
|
|
1964
1963
|
}
|
|
1965
1964
|
#endif
|
|
@@ -1987,7 +1986,7 @@ class vector
|
|
|
1987
1986
|
BOOST_ASSERT(dtl::is_input_iterator<InIt>::value ||
|
|
1988
1987
|
num == static_cast<size_type>(boost::container::iterator_distance(first, last)));
|
|
1989
1988
|
(void)last;
|
|
1990
|
-
dtl::insert_range_proxy<
|
|
1989
|
+
dtl::insert_range_proxy<allocator_type, InIt, T*> proxy(first);
|
|
1991
1990
|
return this->priv_forward_range_insert(vector_iterator_get_ptr(pos), num, proxy);
|
|
1992
1991
|
}
|
|
1993
1992
|
#endif
|
|
@@ -2066,9 +2065,9 @@ class vector
|
|
|
2066
2065
|
BOOST_CONTAINER_FORCEINLINE void swap(vector& x)
|
|
2067
2066
|
BOOST_NOEXCEPT_IF( ((allocator_traits_type::propagate_on_container_swap::value
|
|
2068
2067
|
|| allocator_traits_type::is_always_equal::value) &&
|
|
2069
|
-
!dtl::is_version<
|
|
2068
|
+
!dtl::is_version<allocator_type, 0>::value))
|
|
2070
2069
|
{
|
|
2071
|
-
this->priv_swap(x, dtl::bool_<dtl::is_version<
|
|
2070
|
+
this->priv_swap(x, dtl::bool_<dtl::is_version<allocator_type, 0>::value>());
|
|
2072
2071
|
}
|
|
2073
2072
|
|
|
2074
2073
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
@@ -2080,12 +2079,12 @@ class vector
|
|
|
2080
2079
|
//! <b>Complexity</b>: Linear
|
|
2081
2080
|
//!
|
|
2082
2081
|
//! <b>Note</b>: Non-standard extension to support static_vector
|
|
2083
|
-
template<class
|
|
2084
|
-
BOOST_CONTAINER_FORCEINLINE void swap(vector<T,
|
|
2082
|
+
template<class OtherA>
|
|
2083
|
+
BOOST_CONTAINER_FORCEINLINE void swap(vector<T, OtherA, Options> & x
|
|
2085
2084
|
, typename dtl::enable_if_and
|
|
2086
2085
|
< void
|
|
2087
|
-
, dtl::is_version<
|
|
2088
|
-
, dtl::is_different<
|
|
2086
|
+
, dtl::is_version<typename real_allocator<T, OtherA>::type, 0>
|
|
2087
|
+
, dtl::is_different<typename real_allocator<T, OtherA>::type, allocator_type>
|
|
2089
2088
|
>::type * = 0
|
|
2090
2089
|
)
|
|
2091
2090
|
{ this->m_holder.deep_swap(x.m_holder); }
|
|
@@ -2116,15 +2115,7 @@ class vector
|
|
|
2116
2115
|
//!
|
|
2117
2116
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
2118
2117
|
friend bool operator<(const vector& x, const vector& y)
|
|
2119
|
-
{
|
|
2120
|
-
const_iterator first1(x.cbegin()), first2(y.cbegin());
|
|
2121
|
-
const const_iterator last1(x.cend()), last2(y.cend());
|
|
2122
|
-
for ( ; (first1 != last1) && (first2 != last2); ++first1, ++first2 ) {
|
|
2123
|
-
if (*first1 < *first2) return true;
|
|
2124
|
-
if (*first2 < *first1) return false;
|
|
2125
|
-
}
|
|
2126
|
-
return (first1 == last1) && (first2 != last2);
|
|
2127
|
-
}
|
|
2118
|
+
{ return boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
|
2128
2119
|
|
|
2129
2120
|
//! <b>Effects</b>: Returns true if x is greater than y
|
|
2130
2121
|
//!
|
|
@@ -2309,7 +2300,7 @@ class vector
|
|
|
2309
2300
|
template<class FwdIt, class Compare>
|
|
2310
2301
|
BOOST_CONTAINER_FORCEINLINE void priv_merge_in_new_buffer(FwdIt, size_type, Compare, version_0)
|
|
2311
2302
|
{
|
|
2312
|
-
|
|
2303
|
+
alloc_holder_t::on_capacity_overflow();
|
|
2313
2304
|
}
|
|
2314
2305
|
|
|
2315
2306
|
template<class FwdIt, class Compare, class Version>
|
|
@@ -2359,7 +2350,9 @@ class vector
|
|
|
2359
2350
|
pointer const old_p = this->m_holder.start();
|
|
2360
2351
|
size_type const old_cap = this->m_holder.capacity();
|
|
2361
2352
|
boost::container::destroy_alloc_n(a, boost::movelib::to_raw_pointer(old_p), old_size);
|
|
2362
|
-
|
|
2353
|
+
if (old_cap > 0) {
|
|
2354
|
+
this->m_holder.deallocate(old_p, old_cap);
|
|
2355
|
+
}
|
|
2363
2356
|
this->m_holder.m_size = old_size + added;
|
|
2364
2357
|
this->m_holder.start(new_storage);
|
|
2365
2358
|
this->m_holder.capacity(new_cap);
|
|
@@ -2380,14 +2373,14 @@ class vector
|
|
|
2380
2373
|
return static_cast<size_type>(p - this->m_holder.start());
|
|
2381
2374
|
}
|
|
2382
2375
|
|
|
2383
|
-
template<class
|
|
2384
|
-
void priv_move_assign(BOOST_RV_REF_BEG vector<T,
|
|
2376
|
+
template<class OtherA>
|
|
2377
|
+
void priv_move_assign(BOOST_RV_REF_BEG vector<T, OtherA, Options> BOOST_RV_REF_END x
|
|
2385
2378
|
, typename dtl::enable_if_c
|
|
2386
|
-
< dtl::is_version<
|
|
2379
|
+
< dtl::is_version<typename real_allocator<T, OtherA>::type, 0>::value >::type * = 0)
|
|
2387
2380
|
{
|
|
2388
|
-
if(!dtl::is_same<
|
|
2381
|
+
if(!dtl::is_same<typename real_allocator<T, OtherA>::type, allocator_type>::value &&
|
|
2389
2382
|
this->capacity() < x.size()){
|
|
2390
|
-
|
|
2383
|
+
alloc_holder_t::on_capacity_overflow();
|
|
2391
2384
|
}
|
|
2392
2385
|
T* const this_start = this->priv_raw_begin();
|
|
2393
2386
|
T* const other_start = x.priv_raw_begin();
|
|
@@ -2395,14 +2388,17 @@ class vector
|
|
|
2395
2388
|
const size_type other_sz = static_cast<size_type>(x.m_holder.m_size);
|
|
2396
2389
|
boost::container::move_assign_range_alloc_n(this->m_holder.alloc(), other_start, other_sz, this_start, this_sz);
|
|
2397
2390
|
this->m_holder.m_size = other_sz;
|
|
2391
|
+
//Not emptying the source container seems to be confusing for users as drop-in
|
|
2392
|
+
//replacement for non-static vectors, so clear it.
|
|
2393
|
+
x.clear();
|
|
2398
2394
|
}
|
|
2399
2395
|
|
|
2400
|
-
template<class
|
|
2401
|
-
void priv_move_assign(BOOST_RV_REF_BEG vector<T,
|
|
2396
|
+
template<class OtherA>
|
|
2397
|
+
void priv_move_assign(BOOST_RV_REF_BEG vector<T, OtherA, Options> BOOST_RV_REF_END x
|
|
2402
2398
|
, typename dtl::disable_if_or
|
|
2403
2399
|
< void
|
|
2404
|
-
, dtl::is_version<
|
|
2405
|
-
, dtl::is_different<
|
|
2400
|
+
, dtl::is_version<typename real_allocator<T, OtherA>::type, 0>
|
|
2401
|
+
, dtl::is_different<typename real_allocator<T, OtherA>::type, allocator_type>
|
|
2406
2402
|
>::type * = 0)
|
|
2407
2403
|
{
|
|
2408
2404
|
//for move assignment, no aliasing (&x != this) is assumed.
|
|
@@ -2412,6 +2408,7 @@ class vector
|
|
|
2412
2408
|
allocator_type &x_alloc = x.m_holder.alloc();
|
|
2413
2409
|
const bool propagate_alloc = allocator_traits_type::propagate_on_container_move_assignment::value;
|
|
2414
2410
|
|
|
2411
|
+
//In this allocator move constructor the allocator maybe will be propagated -----------------------v
|
|
2415
2412
|
const bool is_propagable_from_x = is_propagable_from(x_alloc, x.m_holder.start(), this_alloc, propagate_alloc);
|
|
2416
2413
|
|
|
2417
2414
|
//Resources can be transferred if both allocators are
|
|
@@ -2422,24 +2419,26 @@ class vector
|
|
|
2422
2419
|
this->m_holder.deallocate(this->m_holder.m_start, this->m_holder.m_capacity);
|
|
2423
2420
|
this->m_holder.steal_resources(x.m_holder);
|
|
2424
2421
|
}
|
|
2425
|
-
//Else do a one by one move
|
|
2422
|
+
//Else do a one by one move. Also, clear the source as users find confusing
|
|
2423
|
+
//elements are still alive in the source container.
|
|
2426
2424
|
else{
|
|
2427
2425
|
this->assign( boost::make_move_iterator(boost::movelib::iterator_to_raw_pointer(x.begin()))
|
|
2428
2426
|
, boost::make_move_iterator(boost::movelib::iterator_to_raw_pointer(x.end() ))
|
|
2429
2427
|
);
|
|
2428
|
+
x.clear();
|
|
2430
2429
|
}
|
|
2431
2430
|
//Move allocator if needed
|
|
2432
2431
|
dtl::move_alloc(this_alloc, x_alloc, dtl::bool_<propagate_alloc>());
|
|
2433
2432
|
}
|
|
2434
2433
|
|
|
2435
|
-
template<class
|
|
2436
|
-
void priv_copy_assign(const vector<T,
|
|
2434
|
+
template<class OtherA>
|
|
2435
|
+
void priv_copy_assign(const vector<T, OtherA, Options> &x
|
|
2437
2436
|
, typename dtl::enable_if_c
|
|
2438
|
-
< dtl::is_version<
|
|
2437
|
+
< dtl::is_version<typename real_allocator<T, OtherA>::type, 0>::value >::type * = 0)
|
|
2439
2438
|
{
|
|
2440
|
-
if(!dtl::is_same<
|
|
2439
|
+
if(!dtl::is_same<typename real_allocator<T, OtherA>::type, allocator_type>::value &&
|
|
2441
2440
|
this->capacity() < x.size()){
|
|
2442
|
-
|
|
2441
|
+
alloc_holder_t::on_capacity_overflow();
|
|
2443
2442
|
}
|
|
2444
2443
|
T* const this_start = this->priv_raw_begin();
|
|
2445
2444
|
T* const other_start = x.priv_raw_begin();
|
|
@@ -2449,13 +2448,13 @@ class vector
|
|
|
2449
2448
|
this->m_holder.m_size = other_sz;
|
|
2450
2449
|
}
|
|
2451
2450
|
|
|
2452
|
-
template<class
|
|
2451
|
+
template<class OtherA>
|
|
2453
2452
|
typename dtl::disable_if_or
|
|
2454
2453
|
< void
|
|
2455
|
-
, dtl::is_version<
|
|
2456
|
-
, dtl::is_different<
|
|
2454
|
+
, dtl::is_version<typename real_allocator<T, OtherA>::type, 0>
|
|
2455
|
+
, dtl::is_different<typename real_allocator<T, OtherA>::type, allocator_type>
|
|
2457
2456
|
>::type
|
|
2458
|
-
priv_copy_assign(const vector<T,
|
|
2457
|
+
priv_copy_assign(const vector<T, OtherA, Options> &x)
|
|
2459
2458
|
{
|
|
2460
2459
|
allocator_type &this_alloc = this->m_holder.alloc();
|
|
2461
2460
|
const allocator_type &x_alloc = x.m_holder.alloc();
|
|
@@ -2508,11 +2507,11 @@ class vector
|
|
|
2508
2507
|
}
|
|
2509
2508
|
|
|
2510
2509
|
void priv_reserve_no_capacity(size_type, version_0)
|
|
2511
|
-
{
|
|
2510
|
+
{ alloc_holder_t::on_capacity_overflow(); }
|
|
2512
2511
|
|
|
2513
|
-
dtl::insert_range_proxy<
|
|
2512
|
+
dtl::insert_range_proxy<allocator_type, boost::move_iterator<T*>, T*> priv_dummy_empty_proxy()
|
|
2514
2513
|
{
|
|
2515
|
-
return dtl::insert_range_proxy<
|
|
2514
|
+
return dtl::insert_range_proxy<allocator_type, boost::move_iterator<T*>, T*>
|
|
2516
2515
|
(::boost::make_move_iterator((T *)0));
|
|
2517
2516
|
}
|
|
2518
2517
|
|
|
@@ -2604,14 +2603,14 @@ class vector
|
|
|
2604
2603
|
{
|
|
2605
2604
|
BOOST_ASSERT(this->priv_in_range_or_end(p));
|
|
2606
2605
|
return this->priv_forward_range_insert
|
|
2607
|
-
( vector_iterator_get_ptr(p), 1, dtl::get_insert_value_proxy<T*,
|
|
2606
|
+
( vector_iterator_get_ptr(p), 1, dtl::get_insert_value_proxy<T*, allocator_type>(::boost::forward<U>(x)));
|
|
2608
2607
|
}
|
|
2609
2608
|
|
|
2610
|
-
dtl::insert_copy_proxy<
|
|
2611
|
-
{ return dtl::insert_copy_proxy<
|
|
2609
|
+
BOOST_CONTAINER_FORCEINLINE dtl::insert_copy_proxy<allocator_type, T*> priv_single_insert_proxy(const T &x)
|
|
2610
|
+
{ return dtl::insert_copy_proxy<allocator_type, T*> (x); }
|
|
2612
2611
|
|
|
2613
|
-
dtl::insert_move_proxy<
|
|
2614
|
-
{ return dtl::insert_move_proxy<
|
|
2612
|
+
BOOST_CONTAINER_FORCEINLINE dtl::insert_move_proxy<allocator_type, T*> priv_single_insert_proxy(BOOST_RV_REF(T) x)
|
|
2613
|
+
{ return dtl::insert_move_proxy<allocator_type, T*> (x); }
|
|
2615
2614
|
|
|
2616
2615
|
template <class U>
|
|
2617
2616
|
void priv_push_back(BOOST_FWD_REF(U) u)
|
|
@@ -2629,14 +2628,14 @@ class vector
|
|
|
2629
2628
|
}
|
|
2630
2629
|
}
|
|
2631
2630
|
|
|
2632
|
-
BOOST_CONTAINER_FORCEINLINE dtl::insert_n_copies_proxy<
|
|
2633
|
-
{ return dtl::insert_n_copies_proxy<
|
|
2631
|
+
BOOST_CONTAINER_FORCEINLINE dtl::insert_n_copies_proxy<allocator_type, T*> priv_resize_proxy(const T &x)
|
|
2632
|
+
{ return dtl::insert_n_copies_proxy<allocator_type, T*>(x); }
|
|
2634
2633
|
|
|
2635
|
-
BOOST_CONTAINER_FORCEINLINE dtl::insert_default_initialized_n_proxy<
|
|
2636
|
-
{ return dtl::insert_default_initialized_n_proxy<
|
|
2634
|
+
BOOST_CONTAINER_FORCEINLINE dtl::insert_default_initialized_n_proxy<allocator_type, T*> priv_resize_proxy(default_init_t)
|
|
2635
|
+
{ return dtl::insert_default_initialized_n_proxy<allocator_type, T*>(); }
|
|
2637
2636
|
|
|
2638
|
-
BOOST_CONTAINER_FORCEINLINE dtl::insert_value_initialized_n_proxy<
|
|
2639
|
-
{ return dtl::insert_value_initialized_n_proxy<
|
|
2637
|
+
BOOST_CONTAINER_FORCEINLINE dtl::insert_value_initialized_n_proxy<allocator_type, T*> priv_resize_proxy(value_init_t)
|
|
2638
|
+
{ return dtl::insert_value_initialized_n_proxy<allocator_type, T*>(); }
|
|
2640
2639
|
|
|
2641
2640
|
template <class U>
|
|
2642
2641
|
void priv_resize(size_type new_size, const U& u)
|
|
@@ -2711,7 +2710,7 @@ class vector
|
|
|
2711
2710
|
iterator priv_forward_range_insert_no_capacity
|
|
2712
2711
|
(const pointer &pos, const size_type, const InsertionProxy , version_0)
|
|
2713
2712
|
{
|
|
2714
|
-
|
|
2713
|
+
alloc_holder_t::on_capacity_overflow();
|
|
2715
2714
|
return iterator(pos);
|
|
2716
2715
|
}
|
|
2717
2716
|
|
|
@@ -2811,7 +2810,7 @@ class vector
|
|
|
2811
2810
|
|
|
2812
2811
|
if (n > remaining){
|
|
2813
2812
|
//This will trigger an error
|
|
2814
|
-
|
|
2813
|
+
alloc_holder_t::on_capacity_overflow();
|
|
2815
2814
|
}
|
|
2816
2815
|
this->priv_forward_range_insert_at_end_expand_forward(n, insert_range_proxy);
|
|
2817
2816
|
return this->end();
|
|
@@ -3384,11 +3383,12 @@ namespace boost {
|
|
|
3384
3383
|
|
|
3385
3384
|
//!has_trivial_destructor_after_move<> == true_type
|
|
3386
3385
|
//!specialization for optimizations
|
|
3387
|
-
template <class T, class Allocator>
|
|
3388
|
-
struct has_trivial_destructor_after_move<boost::container::vector<T, Allocator> >
|
|
3386
|
+
template <class T, class Allocator, class Options>
|
|
3387
|
+
struct has_trivial_destructor_after_move<boost::container::vector<T, Allocator, Options> >
|
|
3389
3388
|
{
|
|
3390
|
-
typedef typename
|
|
3391
|
-
|
|
3389
|
+
typedef typename boost::container::vector<T, Allocator, Options>::allocator_type allocator_type;
|
|
3390
|
+
typedef typename ::boost::container::allocator_traits<allocator_type>::pointer pointer;
|
|
3391
|
+
static const bool value = ::boost::has_trivial_destructor_after_move<allocator_type>::value &&
|
|
3392
3392
|
::boost::has_trivial_destructor_after_move<pointer>::value;
|
|
3393
3393
|
};
|
|
3394
3394
|
|