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
|
@@ -77,7 +77,7 @@ namespace container {
|
|
|
77
77
|
|
|
78
78
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
79
79
|
|
|
80
|
-
template<class
|
|
80
|
+
template<class T, class VoidAllocator, class Options>
|
|
81
81
|
class small_vector_allocator;
|
|
82
82
|
|
|
83
83
|
namespace allocator_traits_detail {
|
|
@@ -99,8 +99,8 @@ template<class T>
|
|
|
99
99
|
struct is_std_allocator< std::allocator<T> >
|
|
100
100
|
{ static const bool value = true; };
|
|
101
101
|
|
|
102
|
-
template<class T>
|
|
103
|
-
struct is_std_allocator< small_vector_allocator< std::allocator<T
|
|
102
|
+
template<class T, class Options>
|
|
103
|
+
struct is_std_allocator< small_vector_allocator<T, std::allocator<T>, Options > >
|
|
104
104
|
{ static const bool value = true; };
|
|
105
105
|
|
|
106
106
|
template<class Allocator>
|
|
@@ -469,6 +469,22 @@ struct allocator_traits
|
|
|
469
469
|
#endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
470
470
|
};
|
|
471
471
|
|
|
472
|
+
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
473
|
+
|
|
474
|
+
template<class T, class AllocatorOrVoid>
|
|
475
|
+
struct real_allocator
|
|
476
|
+
{
|
|
477
|
+
typedef AllocatorOrVoid type;
|
|
478
|
+
};
|
|
479
|
+
|
|
480
|
+
template<class T>
|
|
481
|
+
struct real_allocator<T, void>
|
|
482
|
+
{
|
|
483
|
+
typedef new_allocator<T> type;
|
|
484
|
+
};
|
|
485
|
+
|
|
486
|
+
#endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
487
|
+
|
|
472
488
|
} //namespace container {
|
|
473
489
|
} //namespace boost {
|
|
474
490
|
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
//! - boost::container::vector
|
|
25
25
|
//! - boost::container::stable_vector
|
|
26
26
|
//! - boost::container::static_vector
|
|
27
|
+
//! - boost::container::small_vector_base
|
|
27
28
|
//! - boost::container::small_vector
|
|
28
29
|
//! - boost::container::slist
|
|
29
30
|
//! - boost::container::list
|
|
@@ -90,101 +91,188 @@ namespace container {
|
|
|
90
91
|
|
|
91
92
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
92
93
|
|
|
94
|
+
template<class T1, class T2>
|
|
95
|
+
struct pair;
|
|
96
|
+
|
|
93
97
|
template<class T>
|
|
94
98
|
class new_allocator;
|
|
95
99
|
|
|
96
100
|
template <class T
|
|
97
|
-
,class Allocator =
|
|
98
|
-
,class Options
|
|
101
|
+
,class Allocator = void
|
|
102
|
+
,class Options = void>
|
|
99
103
|
class vector;
|
|
100
104
|
|
|
101
105
|
template <class T
|
|
102
|
-
,class Allocator =
|
|
106
|
+
,class Allocator = void >
|
|
103
107
|
class stable_vector;
|
|
104
108
|
|
|
105
|
-
template <class T
|
|
109
|
+
template < class T
|
|
110
|
+
, std::size_t Capacity
|
|
111
|
+
, class Options = void>
|
|
106
112
|
class static_vector;
|
|
107
113
|
|
|
108
|
-
template < class T
|
|
109
|
-
, class Allocator=
|
|
114
|
+
template < class T
|
|
115
|
+
, class Allocator = void
|
|
116
|
+
, class Options = void >
|
|
117
|
+
class small_vector_base;
|
|
118
|
+
|
|
119
|
+
template < class T
|
|
120
|
+
, std::size_t N
|
|
121
|
+
, class Allocator = void
|
|
122
|
+
, class Options = void >
|
|
110
123
|
class small_vector;
|
|
111
124
|
|
|
112
125
|
template <class T
|
|
113
|
-
,class Allocator =
|
|
126
|
+
,class Allocator = void
|
|
127
|
+
,class Options = void>
|
|
114
128
|
class deque;
|
|
115
129
|
|
|
116
130
|
template <class T
|
|
117
|
-
,class Allocator =
|
|
131
|
+
,class Allocator = void >
|
|
118
132
|
class list;
|
|
119
133
|
|
|
120
134
|
template <class T
|
|
121
|
-
,class Allocator =
|
|
135
|
+
,class Allocator = void >
|
|
122
136
|
class slist;
|
|
123
137
|
|
|
124
138
|
template <class Key
|
|
125
139
|
,class Compare = std::less<Key>
|
|
126
|
-
,class Allocator =
|
|
140
|
+
,class Allocator = void
|
|
127
141
|
,class Options = void>
|
|
128
142
|
class set;
|
|
129
143
|
|
|
130
144
|
template <class Key
|
|
131
145
|
,class Compare = std::less<Key>
|
|
132
|
-
,class Allocator =
|
|
146
|
+
,class Allocator = void
|
|
133
147
|
,class Options = void >
|
|
134
148
|
class multiset;
|
|
135
149
|
|
|
136
150
|
template <class Key
|
|
137
151
|
,class T
|
|
138
152
|
,class Compare = std::less<Key>
|
|
139
|
-
,class Allocator =
|
|
153
|
+
,class Allocator = void
|
|
140
154
|
,class Options = void >
|
|
141
155
|
class map;
|
|
142
156
|
|
|
143
157
|
template <class Key
|
|
144
158
|
,class T
|
|
145
159
|
,class Compare = std::less<Key>
|
|
146
|
-
,class Allocator =
|
|
160
|
+
,class Allocator = void
|
|
147
161
|
,class Options = void >
|
|
148
162
|
class multimap;
|
|
149
163
|
|
|
150
164
|
template <class Key
|
|
151
165
|
,class Compare = std::less<Key>
|
|
152
|
-
,class Allocator =
|
|
166
|
+
,class Allocator = void >
|
|
153
167
|
class flat_set;
|
|
154
168
|
|
|
155
169
|
template <class Key
|
|
156
170
|
,class Compare = std::less<Key>
|
|
157
|
-
,class Allocator =
|
|
171
|
+
,class Allocator = void >
|
|
158
172
|
class flat_multiset;
|
|
159
173
|
|
|
160
174
|
template <class Key
|
|
161
175
|
,class T
|
|
162
176
|
,class Compare = std::less<Key>
|
|
163
|
-
,class Allocator =
|
|
177
|
+
,class Allocator = void >
|
|
164
178
|
class flat_map;
|
|
165
179
|
|
|
166
180
|
template <class Key
|
|
167
181
|
,class T
|
|
168
182
|
,class Compare = std::less<Key>
|
|
169
|
-
,class Allocator =
|
|
183
|
+
,class Allocator = void >
|
|
170
184
|
class flat_multimap;
|
|
171
185
|
|
|
186
|
+
#ifndef BOOST_NO_CXX11_TEMPLATE_ALIASES
|
|
187
|
+
|
|
188
|
+
//! Alias templates for small_flat_[multi]{set|map} using small_vector as container
|
|
189
|
+
|
|
190
|
+
template < class Key
|
|
191
|
+
, std::size_t N
|
|
192
|
+
, class Compare = std::less<Key>
|
|
193
|
+
, class SmallVectorAllocator = void
|
|
194
|
+
, class SmallVectorOptions = void >
|
|
195
|
+
using small_flat_set = flat_set<Key, Compare, small_vector<Key, N, SmallVectorAllocator, SmallVectorOptions>>;
|
|
196
|
+
|
|
197
|
+
template < class Key
|
|
198
|
+
, std::size_t N
|
|
199
|
+
, class Compare = std::less<Key>
|
|
200
|
+
, class SmallVectorAllocator = void
|
|
201
|
+
, class SmallVectorOptions = void >
|
|
202
|
+
using small_flat_multiset = flat_multiset<Key, Compare, small_vector<Key, N, SmallVectorAllocator, SmallVectorOptions>>;
|
|
203
|
+
|
|
204
|
+
template < class Key
|
|
205
|
+
, class T
|
|
206
|
+
, std::size_t N
|
|
207
|
+
, class Compare = std::less<Key>
|
|
208
|
+
, class SmallVectorAllocator = void
|
|
209
|
+
, class SmallVectorOptions = void >
|
|
210
|
+
using small_flat_map = flat_map<Key, T, Compare, small_vector<std::pair<Key, T>, N, SmallVectorAllocator, SmallVectorOptions>>;
|
|
211
|
+
|
|
212
|
+
template < class Key
|
|
213
|
+
, class T
|
|
214
|
+
, std::size_t N
|
|
215
|
+
, class Compare = std::less<Key>
|
|
216
|
+
, class SmallVectorAllocator = void
|
|
217
|
+
, class SmallVectorOptions = void >
|
|
218
|
+
using small_flat_multimap = flat_multimap<Key, T, Compare, small_vector<std::pair<Key, T>, N, SmallVectorAllocator, SmallVectorOptions>>;
|
|
219
|
+
|
|
220
|
+
#endif // #ifndef BOOST_NO_CXX11_TEMPLATE_ALIASES
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
//! A portable metafunction to obtain a small_flat_set
|
|
224
|
+
template < class Key
|
|
225
|
+
, std::size_t N
|
|
226
|
+
, class Compare = std::less<Key>
|
|
227
|
+
, class SmallVectorAllocator = void
|
|
228
|
+
, class SmallVectorOptions = void >
|
|
229
|
+
struct small_flat_set_of
|
|
230
|
+
{
|
|
231
|
+
typedef flat_set<Key, Compare, small_vector<Key, N, SmallVectorAllocator, SmallVectorOptions> > type;
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
//! A portable metafunction to obtain a small_flat_multiset
|
|
235
|
+
template < class Key
|
|
236
|
+
, std::size_t N
|
|
237
|
+
, class Compare = std::less<Key>
|
|
238
|
+
, class SmallVectorAllocator = void
|
|
239
|
+
, class SmallVectorOptions = void >
|
|
240
|
+
struct small_flat_multiset_of
|
|
241
|
+
{
|
|
242
|
+
typedef flat_multiset<Key, Compare, small_vector<Key, N, SmallVectorAllocator, SmallVectorOptions> > type;
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
//! A portable metafunction to obtain a small_flat_map
|
|
246
|
+
template < class Key
|
|
247
|
+
, class T
|
|
248
|
+
, std::size_t N
|
|
249
|
+
, class Compare = std::less<Key>
|
|
250
|
+
, class SmallVectorAllocator = void
|
|
251
|
+
, class SmallVectorOptions = void >
|
|
252
|
+
struct small_flat_map_of
|
|
253
|
+
{
|
|
254
|
+
typedef flat_map<Key, T, Compare, small_vector<std::pair<Key, T>, N, SmallVectorAllocator, SmallVectorOptions> > type;
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
//! A portable metafunction to obtain a small_flat_multimap
|
|
258
|
+
template < class Key
|
|
259
|
+
, class T
|
|
260
|
+
, std::size_t N
|
|
261
|
+
, class Compare = std::less<Key>
|
|
262
|
+
, class SmallVectorAllocator = void
|
|
263
|
+
, class SmallVectorOptions = void >
|
|
264
|
+
struct small_flat_multimap_of
|
|
265
|
+
{
|
|
266
|
+
typedef flat_multimap<Key, T, Compare, small_vector<std::pair<Key, T>, N, SmallVectorAllocator, SmallVectorOptions> > type;
|
|
267
|
+
};
|
|
268
|
+
|
|
172
269
|
template <class CharT
|
|
173
270
|
,class Traits = std::char_traits<CharT>
|
|
174
|
-
,class Allocator =
|
|
271
|
+
,class Allocator = void >
|
|
175
272
|
class basic_string;
|
|
176
273
|
|
|
177
|
-
typedef basic_string
|
|
178
|
-
|
|
179
|
-
,std::char_traits<char>
|
|
180
|
-
,new_allocator<char> >
|
|
181
|
-
string;
|
|
182
|
-
|
|
183
|
-
typedef basic_string
|
|
184
|
-
<wchar_t
|
|
185
|
-
,std::char_traits<wchar_t>
|
|
186
|
-
,new_allocator<wchar_t> >
|
|
187
|
-
wstring;
|
|
274
|
+
typedef basic_string <char> string;
|
|
275
|
+
typedef basic_string<wchar_t> wstring;
|
|
188
276
|
|
|
189
277
|
static const std::size_t ADP_nodes_per_block = 256u;
|
|
190
278
|
static const std::size_t ADP_max_free_blocks = 2u;
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
#include <boost/container/container_fwd.hpp>
|
|
26
26
|
#include <boost/container/new_allocator.hpp> //new_allocator
|
|
27
27
|
#include <boost/container/throw_exception.hpp>
|
|
28
|
+
#include <boost/container/options.hpp>
|
|
28
29
|
// container/detail
|
|
29
30
|
#include <boost/container/detail/advanced_insert_int.hpp>
|
|
30
31
|
#include <boost/container/detail/algorithm.hpp> //algo_equal(), algo_lexicographical_compare
|
|
@@ -61,7 +62,7 @@ namespace boost {
|
|
|
61
62
|
namespace container {
|
|
62
63
|
|
|
63
64
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
64
|
-
template <class T, class Allocator>
|
|
65
|
+
template <class T, class Allocator, class Options>
|
|
65
66
|
class deque;
|
|
66
67
|
|
|
67
68
|
template <class T>
|
|
@@ -72,14 +73,12 @@ struct deque_value_traits
|
|
|
72
73
|
static const bool trivial_dctr_after_move = ::boost::has_trivial_destructor_after_move<value_type>::value;
|
|
73
74
|
};
|
|
74
75
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
template<class T>
|
|
78
|
-
struct deque_buf_size
|
|
76
|
+
template<class T, std::size_t BlockBytes, std::size_t BlockSize>
|
|
77
|
+
struct deque_block_size
|
|
79
78
|
{
|
|
80
|
-
|
|
81
|
-
static const std::size_t
|
|
82
|
-
static const std::size_t value
|
|
79
|
+
BOOST_STATIC_ASSERT_MSG(!(BlockBytes && BlockSize), "BlockBytes and BlockSize can't be specified at the same time");
|
|
80
|
+
static const std::size_t block_bytes = BlockBytes ? BlockBytes : 512u;
|
|
81
|
+
static const std::size_t value = BlockSize ? BlockSize : (sizeof(T) < block_bytes ? (block_bytes/sizeof(T)) : std::size_t(1));
|
|
83
82
|
};
|
|
84
83
|
|
|
85
84
|
namespace dtl {
|
|
@@ -127,8 +126,10 @@ class deque_iterator
|
|
|
127
126
|
, value_type&
|
|
128
127
|
>::type reference;
|
|
129
128
|
|
|
130
|
-
|
|
131
|
-
|
|
129
|
+
class nat;
|
|
130
|
+
typedef typename dtl::if_c< IsConst
|
|
131
|
+
, deque_iterator<Pointer, false>
|
|
132
|
+
, nat>::type nonconst_iterator;
|
|
132
133
|
|
|
133
134
|
typedef Pointer val_alloc_ptr;
|
|
134
135
|
typedef typename boost::intrusive::pointer_traits<Pointer>::
|
|
@@ -141,36 +142,43 @@ class deque_iterator
|
|
|
141
142
|
|
|
142
143
|
public:
|
|
143
144
|
|
|
144
|
-
Pointer get_cur() const { return m_cur; }
|
|
145
|
-
Pointer get_first() const { return m_first; }
|
|
146
|
-
Pointer get_last() const { return m_last; }
|
|
147
|
-
index_pointer get_node() const { return m_node; }
|
|
145
|
+
BOOST_CONTAINER_FORCEINLINE Pointer get_cur() const { return m_cur; }
|
|
146
|
+
BOOST_CONTAINER_FORCEINLINE Pointer get_first() const { return m_first; }
|
|
147
|
+
BOOST_CONTAINER_FORCEINLINE Pointer get_last() const { return m_last; }
|
|
148
|
+
BOOST_CONTAINER_FORCEINLINE index_pointer get_node() const { return m_node; }
|
|
148
149
|
|
|
149
|
-
deque_iterator(val_alloc_ptr x, index_pointer y) BOOST_NOEXCEPT_OR_NOTHROW
|
|
150
|
-
: m_cur(x), m_first(*y), m_last(*y +
|
|
150
|
+
BOOST_CONTAINER_FORCEINLINE deque_iterator(val_alloc_ptr x, index_pointer y, difference_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
|
|
151
|
+
: m_cur(x), m_first(*y), m_last(*y + block_size), m_node(y)
|
|
151
152
|
{}
|
|
152
153
|
|
|
153
|
-
deque_iterator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
154
|
+
BOOST_CONTAINER_FORCEINLINE deque_iterator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
154
155
|
: m_cur(), m_first(), m_last(), m_node() //Value initialization to achieve "null iterators" (N3644)
|
|
155
156
|
{}
|
|
156
157
|
|
|
157
|
-
deque_iterator(deque_iterator
|
|
158
|
+
BOOST_CONTAINER_FORCEINLINE deque_iterator(const deque_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
158
159
|
: m_cur(x.get_cur()), m_first(x.get_first()), m_last(x.get_last()), m_node(x.get_node())
|
|
159
160
|
{}
|
|
160
161
|
|
|
161
|
-
deque_iterator(
|
|
162
|
+
BOOST_CONTAINER_FORCEINLINE deque_iterator(const nonconst_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
163
|
+
: m_cur(x.get_cur()), m_first(x.get_first()), m_last(x.get_last()), m_node(x.get_node())
|
|
164
|
+
{}
|
|
165
|
+
|
|
166
|
+
BOOST_CONTAINER_FORCEINLINE deque_iterator(Pointer cur, Pointer first, Pointer last, index_pointer node) BOOST_NOEXCEPT_OR_NOTHROW
|
|
162
167
|
: m_cur(cur), m_first(first), m_last(last), m_node(node)
|
|
163
168
|
{}
|
|
164
169
|
|
|
165
|
-
deque_iterator
|
|
170
|
+
BOOST_CONTAINER_FORCEINLINE deque_iterator& operator=(const deque_iterator& x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
171
|
+
{ m_cur = x.get_cur(); m_first = x.get_first(); m_last = x.get_last(); m_node = x.get_node(); return *this; }
|
|
172
|
+
|
|
173
|
+
BOOST_CONTAINER_FORCEINLINE deque_iterator<Pointer, false> unconst() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
166
174
|
{
|
|
167
175
|
return deque_iterator<Pointer, false>(this->get_cur(), this->get_first(), this->get_last(), this->get_node());
|
|
168
176
|
}
|
|
169
177
|
|
|
170
|
-
reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
178
|
+
BOOST_CONTAINER_FORCEINLINE reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
171
179
|
{ return *this->m_cur; }
|
|
172
180
|
|
|
173
|
-
pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
181
|
+
BOOST_CONTAINER_FORCEINLINE pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
174
182
|
{ return this->m_cur; }
|
|
175
183
|
|
|
176
184
|
difference_type operator-(const deque_iterator& x) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
@@ -178,21 +186,26 @@ class deque_iterator
|
|
|
178
186
|
if(!this->m_cur && !x.m_cur){
|
|
179
187
|
return 0;
|
|
180
188
|
}
|
|
181
|
-
|
|
189
|
+
const difference_type block_size = this->m_last - this->m_first;
|
|
190
|
+
BOOST_ASSERT(block_size);
|
|
191
|
+
return block_size * (this->m_node - x.m_node - 1) +
|
|
182
192
|
(this->m_cur - this->m_first) + (x.m_last - x.m_cur);
|
|
183
193
|
}
|
|
184
194
|
|
|
185
195
|
deque_iterator& operator++() BOOST_NOEXCEPT_OR_NOTHROW
|
|
186
196
|
{
|
|
197
|
+
BOOST_ASSERT(!!m_cur);
|
|
187
198
|
++this->m_cur;
|
|
188
199
|
if (this->m_cur == this->m_last) {
|
|
189
|
-
|
|
200
|
+
const difference_type block_size = m_last - m_first;
|
|
201
|
+
BOOST_ASSERT(block_size);
|
|
202
|
+
this->priv_set_node(this->m_node + 1, block_size);
|
|
190
203
|
this->m_cur = this->m_first;
|
|
191
204
|
}
|
|
192
205
|
return *this;
|
|
193
206
|
}
|
|
194
207
|
|
|
195
|
-
deque_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW
|
|
208
|
+
BOOST_CONTAINER_FORCEINLINE deque_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW
|
|
196
209
|
{
|
|
197
210
|
deque_iterator tmp(*this);
|
|
198
211
|
++*this;
|
|
@@ -201,15 +214,18 @@ class deque_iterator
|
|
|
201
214
|
|
|
202
215
|
deque_iterator& operator--() BOOST_NOEXCEPT_OR_NOTHROW
|
|
203
216
|
{
|
|
217
|
+
BOOST_ASSERT(!!m_cur);
|
|
204
218
|
if (this->m_cur == this->m_first) {
|
|
205
|
-
|
|
219
|
+
const difference_type block_size = m_last - m_first;
|
|
220
|
+
BOOST_ASSERT(block_size);
|
|
221
|
+
this->priv_set_node(this->m_node - 1, block_size);
|
|
206
222
|
this->m_cur = this->m_last;
|
|
207
223
|
}
|
|
208
224
|
--this->m_cur;
|
|
209
225
|
return *this;
|
|
210
226
|
}
|
|
211
227
|
|
|
212
|
-
deque_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
|
|
228
|
+
BOOST_CONTAINER_FORCEINLINE deque_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
|
|
213
229
|
{
|
|
214
230
|
deque_iterator tmp(*this);
|
|
215
231
|
--*this;
|
|
@@ -218,67 +234,84 @@ class deque_iterator
|
|
|
218
234
|
|
|
219
235
|
deque_iterator& operator+=(difference_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
220
236
|
{
|
|
237
|
+
if (!n)
|
|
238
|
+
return *this;
|
|
239
|
+
BOOST_ASSERT(!!m_cur);
|
|
221
240
|
difference_type offset = n + (this->m_cur - this->m_first);
|
|
222
|
-
|
|
241
|
+
const difference_type block_size = this->m_last - this->m_first;
|
|
242
|
+
BOOST_ASSERT(block_size);
|
|
243
|
+
if (offset >= 0 && offset < block_size)
|
|
223
244
|
this->m_cur += n;
|
|
224
245
|
else {
|
|
225
246
|
difference_type node_offset =
|
|
226
|
-
offset > 0 ? offset /
|
|
227
|
-
|
|
228
|
-
this->priv_set_node(this->m_node + node_offset);
|
|
247
|
+
offset > 0 ? (offset / block_size)
|
|
248
|
+
: (-difference_type((-offset - 1) / block_size) - 1);
|
|
249
|
+
this->priv_set_node(this->m_node + node_offset, block_size);
|
|
229
250
|
this->m_cur = this->m_first +
|
|
230
|
-
(offset - node_offset *
|
|
251
|
+
(offset - node_offset * block_size);
|
|
231
252
|
}
|
|
232
253
|
return *this;
|
|
233
254
|
}
|
|
234
255
|
|
|
235
|
-
deque_iterator operator+(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
256
|
+
BOOST_CONTAINER_FORCEINLINE deque_iterator operator+(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
236
257
|
{ deque_iterator tmp(*this); return tmp += n; }
|
|
237
258
|
|
|
238
|
-
deque_iterator& operator-=(difference_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
259
|
+
BOOST_CONTAINER_FORCEINLINE deque_iterator& operator-=(difference_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
239
260
|
{ return *this += -n; }
|
|
240
261
|
|
|
241
|
-
deque_iterator operator-(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
262
|
+
BOOST_CONTAINER_FORCEINLINE deque_iterator operator-(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
242
263
|
{ deque_iterator tmp(*this); return tmp -= n; }
|
|
243
264
|
|
|
244
|
-
reference operator[](difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
265
|
+
BOOST_CONTAINER_FORCEINLINE reference operator[](difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
245
266
|
{ return *(*this + n); }
|
|
246
267
|
|
|
247
|
-
friend bool operator==(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
268
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator==(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
248
269
|
{ return l.m_cur == r.m_cur; }
|
|
249
270
|
|
|
250
|
-
friend bool operator!=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
271
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator!=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
251
272
|
{ return l.m_cur != r.m_cur; }
|
|
252
273
|
|
|
253
|
-
friend bool operator<(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
274
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator<(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
254
275
|
{ return (l.m_node == r.m_node) ? (l.m_cur < r.m_cur) : (l.m_node < r.m_node); }
|
|
255
276
|
|
|
256
|
-
friend bool operator>(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
277
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator>(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
257
278
|
{ return r < l; }
|
|
258
279
|
|
|
259
|
-
friend bool operator<=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
280
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator<=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
260
281
|
{ return !(r < l); }
|
|
261
282
|
|
|
262
|
-
friend bool operator>=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
283
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator>=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
263
284
|
{ return !(l < r); }
|
|
264
285
|
|
|
265
|
-
void priv_set_node(index_pointer new_node) BOOST_NOEXCEPT_OR_NOTHROW
|
|
286
|
+
BOOST_CONTAINER_FORCEINLINE void priv_set_node(index_pointer new_node, difference_type block_size) BOOST_NOEXCEPT_OR_NOTHROW
|
|
266
287
|
{
|
|
267
288
|
this->m_node = new_node;
|
|
268
289
|
this->m_first = *new_node;
|
|
269
|
-
this->m_last = this->m_first +
|
|
290
|
+
this->m_last = this->m_first + block_size;
|
|
270
291
|
}
|
|
271
292
|
|
|
272
|
-
friend deque_iterator operator+(difference_type n, deque_iterator x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
293
|
+
BOOST_CONTAINER_FORCEINLINE friend deque_iterator operator+(difference_type n, deque_iterator x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
273
294
|
{ return x += n; }
|
|
274
295
|
};
|
|
275
296
|
|
|
276
297
|
} //namespace dtl {
|
|
277
298
|
|
|
299
|
+
template<class Options>
|
|
300
|
+
struct get_deque_opt
|
|
301
|
+
{
|
|
302
|
+
typedef Options type;
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
template<>
|
|
306
|
+
struct get_deque_opt<void>
|
|
307
|
+
{
|
|
308
|
+
typedef deque_null_opt type;
|
|
309
|
+
};
|
|
310
|
+
|
|
278
311
|
// Deque base class. It has two purposes. First, its constructor
|
|
279
312
|
// and destructor allocate (but don't initialize) storage. This makes
|
|
280
313
|
// exception safety easier.
|
|
281
|
-
template <class Allocator>
|
|
314
|
+
template <class Allocator, class Options>
|
|
282
315
|
class deque_base
|
|
283
316
|
{
|
|
284
317
|
BOOST_COPYABLE_AND_MOVABLE(deque_base)
|
|
@@ -303,42 +336,44 @@ class deque_base
|
|
|
303
336
|
typedef allocator_type stored_allocator_type;
|
|
304
337
|
typedef val_alloc_size size_type;
|
|
305
338
|
|
|
339
|
+
private:
|
|
340
|
+
typedef typename get_deque_opt<Options>::type options_type;
|
|
341
|
+
|
|
306
342
|
protected:
|
|
343
|
+
typedef dtl::deque_iterator<val_alloc_ptr, false> iterator;
|
|
344
|
+
typedef dtl::deque_iterator<val_alloc_ptr, true > const_iterator;
|
|
345
|
+
|
|
346
|
+
BOOST_CONSTEXPR BOOST_CONTAINER_FORCEINLINE static size_type get_block_size() BOOST_NOEXCEPT_OR_NOTHROW
|
|
347
|
+
{ return deque_block_size<val_alloc_val, options_type::block_bytes, options_type::block_size>::value; }
|
|
307
348
|
|
|
308
349
|
typedef deque_value_traits<val_alloc_val> traits_t;
|
|
309
350
|
typedef ptr_alloc_t map_allocator_type;
|
|
310
351
|
|
|
311
|
-
|
|
312
|
-
{
|
|
352
|
+
BOOST_CONTAINER_FORCEINLINE val_alloc_ptr priv_allocate_node()
|
|
353
|
+
{ return this->alloc().allocate(get_block_size()); }
|
|
313
354
|
|
|
314
|
-
val_alloc_ptr
|
|
315
|
-
{
|
|
355
|
+
BOOST_CONTAINER_FORCEINLINE void priv_deallocate_node(val_alloc_ptr p) BOOST_NOEXCEPT_OR_NOTHROW
|
|
356
|
+
{ this->alloc().deallocate(p, get_block_size()); }
|
|
316
357
|
|
|
317
|
-
|
|
318
|
-
{ this->alloc().deallocate(p, s_buffer_size()); }
|
|
319
|
-
|
|
320
|
-
ptr_alloc_ptr priv_allocate_map(size_type n)
|
|
358
|
+
BOOST_CONTAINER_FORCEINLINE ptr_alloc_ptr priv_allocate_map(size_type n)
|
|
321
359
|
{ return this->ptr_alloc().allocate(n); }
|
|
322
360
|
|
|
323
|
-
void priv_deallocate_map(ptr_alloc_ptr p, size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
361
|
+
BOOST_CONTAINER_FORCEINLINE void priv_deallocate_map(ptr_alloc_ptr p, size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
324
362
|
{ this->ptr_alloc().deallocate(p, n); }
|
|
325
363
|
|
|
326
|
-
|
|
327
|
-
typedef dtl::deque_iterator<val_alloc_ptr, true > const_iterator;
|
|
328
|
-
|
|
329
|
-
deque_base(size_type num_elements, const allocator_type& a)
|
|
364
|
+
BOOST_CONTAINER_FORCEINLINE deque_base(size_type num_elements, const allocator_type& a)
|
|
330
365
|
: members_(a)
|
|
331
366
|
{ this->priv_initialize_map(num_elements); }
|
|
332
367
|
|
|
333
|
-
explicit deque_base(const allocator_type& a)
|
|
368
|
+
BOOST_CONTAINER_FORCEINLINE explicit deque_base(const allocator_type& a)
|
|
334
369
|
: members_(a)
|
|
335
370
|
{}
|
|
336
371
|
|
|
337
|
-
deque_base()
|
|
372
|
+
BOOST_CONTAINER_FORCEINLINE deque_base()
|
|
338
373
|
: members_()
|
|
339
374
|
{}
|
|
340
375
|
|
|
341
|
-
explicit deque_base(BOOST_RV_REF(deque_base) x)
|
|
376
|
+
BOOST_CONTAINER_FORCEINLINE explicit deque_base(BOOST_RV_REF(deque_base) x)
|
|
342
377
|
: members_( boost::move(x.ptr_alloc())
|
|
343
378
|
, boost::move(x.alloc()) )
|
|
344
379
|
{}
|
|
@@ -367,7 +402,7 @@ class deque_base
|
|
|
367
402
|
void priv_initialize_map(size_type num_elements)
|
|
368
403
|
{
|
|
369
404
|
// if(num_elements){
|
|
370
|
-
size_type num_nodes = num_elements /
|
|
405
|
+
size_type num_nodes = num_elements / get_block_size() + 1;
|
|
371
406
|
|
|
372
407
|
this->members_.m_map_size = dtl::max_value((size_type) InitialMapSize, num_nodes + 2);
|
|
373
408
|
this->members_.m_map = this->priv_allocate_map(this->members_.m_map_size);
|
|
@@ -386,11 +421,11 @@ class deque_base
|
|
|
386
421
|
}
|
|
387
422
|
BOOST_CATCH_END
|
|
388
423
|
|
|
389
|
-
this->members_.m_start.priv_set_node(nstart);
|
|
390
|
-
this->members_.m_finish.priv_set_node(nfinish - 1);
|
|
424
|
+
this->members_.m_start.priv_set_node(nstart, get_block_size());
|
|
425
|
+
this->members_.m_finish.priv_set_node(nfinish - 1, get_block_size());
|
|
391
426
|
this->members_.m_start.m_cur = this->members_.m_start.m_first;
|
|
392
427
|
this->members_.m_finish.m_cur = this->members_.m_finish.m_first +
|
|
393
|
-
num_elements %
|
|
428
|
+
num_elements % get_block_size();
|
|
394
429
|
// }
|
|
395
430
|
}
|
|
396
431
|
|
|
@@ -459,16 +494,16 @@ class deque_base
|
|
|
459
494
|
iterator m_finish;
|
|
460
495
|
} members_;
|
|
461
496
|
|
|
462
|
-
ptr_alloc_t &ptr_alloc() BOOST_NOEXCEPT_OR_NOTHROW
|
|
497
|
+
BOOST_CONTAINER_FORCEINLINE ptr_alloc_t &ptr_alloc() BOOST_NOEXCEPT_OR_NOTHROW
|
|
463
498
|
{ return members_; }
|
|
464
499
|
|
|
465
|
-
const ptr_alloc_t &ptr_alloc() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
500
|
+
BOOST_CONTAINER_FORCEINLINE const ptr_alloc_t &ptr_alloc() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
466
501
|
{ return members_; }
|
|
467
502
|
|
|
468
|
-
allocator_type &alloc() BOOST_NOEXCEPT_OR_NOTHROW
|
|
503
|
+
BOOST_CONTAINER_FORCEINLINE allocator_type &alloc() BOOST_NOEXCEPT_OR_NOTHROW
|
|
469
504
|
{ return members_; }
|
|
470
505
|
|
|
471
|
-
const allocator_type &alloc() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
506
|
+
BOOST_CONTAINER_FORCEINLINE const allocator_type &alloc() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
472
507
|
{ return members_; }
|
|
473
508
|
};
|
|
474
509
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
@@ -478,17 +513,20 @@ class deque_base
|
|
|
478
513
|
//! and removal of elements at the end of the sequence, and linear time insertion and removal of elements in the middle.
|
|
479
514
|
//!
|
|
480
515
|
//! \tparam T The type of object that is stored in the deque
|
|
481
|
-
//! \tparam
|
|
482
|
-
|
|
516
|
+
//! \tparam A The allocator used for all internal memory management, use void
|
|
517
|
+
//! for the default allocator
|
|
518
|
+
//! \tparam Options A type produced from \c boost::container::deque_options.
|
|
519
|
+
template <class T, class Allocator = void, class Options = void>
|
|
483
520
|
#else
|
|
484
|
-
template <class T, class Allocator>
|
|
521
|
+
template <class T, class Allocator, class Options>
|
|
485
522
|
#endif
|
|
486
|
-
class deque : protected deque_base<Allocator>
|
|
523
|
+
class deque : protected deque_base<typename real_allocator<T, Allocator>::type, Options>
|
|
487
524
|
{
|
|
488
525
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
489
526
|
private:
|
|
490
|
-
typedef deque_base<Allocator> Base;
|
|
527
|
+
typedef deque_base<typename real_allocator<T, Allocator>::type, Options> Base;
|
|
491
528
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
529
|
+
typedef typename real_allocator<T, Allocator>::type ValAllocator;
|
|
492
530
|
|
|
493
531
|
public:
|
|
494
532
|
|
|
@@ -499,13 +537,13 @@ class deque : protected deque_base<Allocator>
|
|
|
499
537
|
//////////////////////////////////////////////
|
|
500
538
|
|
|
501
539
|
typedef T value_type;
|
|
502
|
-
typedef
|
|
503
|
-
typedef typename ::boost::container::allocator_traits<
|
|
504
|
-
typedef typename ::boost::container::allocator_traits<
|
|
505
|
-
typedef typename ::boost::container::allocator_traits<
|
|
506
|
-
typedef typename ::boost::container::allocator_traits<
|
|
507
|
-
typedef typename ::boost::container::allocator_traits<
|
|
508
|
-
typedef
|
|
540
|
+
typedef ValAllocator allocator_type;
|
|
541
|
+
typedef typename ::boost::container::allocator_traits<ValAllocator>::pointer pointer;
|
|
542
|
+
typedef typename ::boost::container::allocator_traits<ValAllocator>::const_pointer const_pointer;
|
|
543
|
+
typedef typename ::boost::container::allocator_traits<ValAllocator>::reference reference;
|
|
544
|
+
typedef typename ::boost::container::allocator_traits<ValAllocator>::const_reference const_reference;
|
|
545
|
+
typedef typename ::boost::container::allocator_traits<ValAllocator>::size_type size_type;
|
|
546
|
+
typedef typename ::boost::container::allocator_traits<ValAllocator>::difference_type difference_type;
|
|
509
547
|
typedef BOOST_CONTAINER_IMPDEF(allocator_type) stored_allocator_type;
|
|
510
548
|
typedef BOOST_CONTAINER_IMPDEF(typename Base::iterator) iterator;
|
|
511
549
|
typedef BOOST_CONTAINER_IMPDEF(typename Base::const_iterator) const_iterator;
|
|
@@ -517,13 +555,15 @@ class deque : protected deque_base<Allocator>
|
|
|
517
555
|
private: // Internal typedefs
|
|
518
556
|
BOOST_COPYABLE_AND_MOVABLE(deque)
|
|
519
557
|
typedef typename Base::ptr_alloc_ptr index_pointer;
|
|
520
|
-
|
|
521
|
-
{ return Base::s_buffer_size(); }
|
|
522
|
-
typedef allocator_traits<Allocator> allocator_traits_type;
|
|
558
|
+
typedef allocator_traits<ValAllocator> allocator_traits_type;
|
|
523
559
|
|
|
524
560
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
525
561
|
|
|
526
562
|
public:
|
|
563
|
+
|
|
564
|
+
BOOST_CONSTEXPR BOOST_CONTAINER_FORCEINLINE static size_type get_block_size() BOOST_NOEXCEPT_OR_NOTHROW
|
|
565
|
+
{ return Base::get_block_size(); }
|
|
566
|
+
|
|
527
567
|
//////////////////////////////////////////////
|
|
528
568
|
//
|
|
529
569
|
// construct/copy/destroy
|
|
@@ -535,7 +575,7 @@ class deque : protected deque_base<Allocator>
|
|
|
535
575
|
//! <b>Throws</b>: If allocator_type's default constructor throws.
|
|
536
576
|
//!
|
|
537
577
|
//! <b>Complexity</b>: Constant.
|
|
538
|
-
deque() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<
|
|
578
|
+
BOOST_CONTAINER_FORCEINLINE deque() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<ValAllocator>::value)
|
|
539
579
|
: Base()
|
|
540
580
|
{}
|
|
541
581
|
|
|
@@ -544,7 +584,7 @@ class deque : protected deque_base<Allocator>
|
|
|
544
584
|
//! <b>Throws</b>: Nothing
|
|
545
585
|
//!
|
|
546
586
|
//! <b>Complexity</b>: Constant.
|
|
547
|
-
explicit deque(const allocator_type& a) BOOST_NOEXCEPT_OR_NOTHROW
|
|
587
|
+
BOOST_CONTAINER_FORCEINLINE explicit deque(const allocator_type& a) BOOST_NOEXCEPT_OR_NOTHROW
|
|
548
588
|
: Base(a)
|
|
549
589
|
{}
|
|
550
590
|
|
|
@@ -555,10 +595,10 @@ class deque : protected deque_base<Allocator>
|
|
|
555
595
|
//! throws or T's value initialization throws.
|
|
556
596
|
//!
|
|
557
597
|
//! <b>Complexity</b>: Linear to n.
|
|
558
|
-
explicit deque(size_type n)
|
|
598
|
+
BOOST_CONTAINER_FORCEINLINE explicit deque(size_type n)
|
|
559
599
|
: Base(n, allocator_type())
|
|
560
600
|
{
|
|
561
|
-
dtl::insert_value_initialized_n_proxy<
|
|
601
|
+
dtl::insert_value_initialized_n_proxy<ValAllocator, iterator> proxy;
|
|
562
602
|
proxy.uninitialized_copy_n_and_update(this->alloc(), this->begin(), n);
|
|
563
603
|
//deque_base will deallocate in case of exception...
|
|
564
604
|
}
|
|
@@ -572,10 +612,10 @@ class deque : protected deque_base<Allocator>
|
|
|
572
612
|
//! <b>Complexity</b>: Linear to n.
|
|
573
613
|
//!
|
|
574
614
|
//! <b>Note</b>: Non-standard extension
|
|
575
|
-
deque(size_type n, default_init_t)
|
|
615
|
+
BOOST_CONTAINER_FORCEINLINE deque(size_type n, default_init_t)
|
|
576
616
|
: Base(n, allocator_type())
|
|
577
617
|
{
|
|
578
|
-
dtl::insert_default_initialized_n_proxy<
|
|
618
|
+
dtl::insert_default_initialized_n_proxy<ValAllocator, iterator> proxy;
|
|
579
619
|
proxy.uninitialized_copy_n_and_update(this->alloc(), this->begin(), n);
|
|
580
620
|
//deque_base will deallocate in case of exception...
|
|
581
621
|
}
|
|
@@ -587,10 +627,10 @@ class deque : protected deque_base<Allocator>
|
|
|
587
627
|
//! throws or T's value initialization throws.
|
|
588
628
|
//!
|
|
589
629
|
//! <b>Complexity</b>: Linear to n.
|
|
590
|
-
explicit deque(size_type n, const allocator_type &a)
|
|
630
|
+
BOOST_CONTAINER_FORCEINLINE explicit deque(size_type n, const allocator_type &a)
|
|
591
631
|
: Base(n, a)
|
|
592
632
|
{
|
|
593
|
-
dtl::insert_value_initialized_n_proxy<
|
|
633
|
+
dtl::insert_value_initialized_n_proxy<ValAllocator, iterator> proxy;
|
|
594
634
|
proxy.uninitialized_copy_n_and_update(this->alloc(), this->begin(), n);
|
|
595
635
|
//deque_base will deallocate in case of exception...
|
|
596
636
|
}
|
|
@@ -604,10 +644,10 @@ class deque : protected deque_base<Allocator>
|
|
|
604
644
|
//! <b>Complexity</b>: Linear to n.
|
|
605
645
|
//!
|
|
606
646
|
//! <b>Note</b>: Non-standard extension
|
|
607
|
-
deque(size_type n, default_init_t, const allocator_type &a)
|
|
647
|
+
BOOST_CONTAINER_FORCEINLINE deque(size_type n, default_init_t, const allocator_type &a)
|
|
608
648
|
: Base(n, a)
|
|
609
649
|
{
|
|
610
|
-
dtl::insert_default_initialized_n_proxy<
|
|
650
|
+
dtl::insert_default_initialized_n_proxy<ValAllocator, iterator> proxy;
|
|
611
651
|
proxy.uninitialized_copy_n_and_update(this->alloc(), this->begin(), n);
|
|
612
652
|
//deque_base will deallocate in case of exception...
|
|
613
653
|
}
|
|
@@ -619,7 +659,7 @@ class deque : protected deque_base<Allocator>
|
|
|
619
659
|
//! throws or T's copy constructor throws.
|
|
620
660
|
//!
|
|
621
661
|
//! <b>Complexity</b>: Linear to n.
|
|
622
|
-
deque(size_type n, const value_type& value)
|
|
662
|
+
BOOST_CONTAINER_FORCEINLINE deque(size_type n, const value_type& value)
|
|
623
663
|
: Base(n, allocator_type())
|
|
624
664
|
{ this->priv_fill_initialize(value); }
|
|
625
665
|
|
|
@@ -630,7 +670,7 @@ class deque : protected deque_base<Allocator>
|
|
|
630
670
|
//! throws or T's copy constructor throws.
|
|
631
671
|
//!
|
|
632
672
|
//! <b>Complexity</b>: Linear to n.
|
|
633
|
-
deque(size_type n, const value_type& value, const allocator_type& a)
|
|
673
|
+
BOOST_CONTAINER_FORCEINLINE deque(size_type n, const value_type& value, const allocator_type& a)
|
|
634
674
|
: Base(n, a)
|
|
635
675
|
{ this->priv_fill_initialize(value); }
|
|
636
676
|
|
|
@@ -642,7 +682,7 @@ class deque : protected deque_base<Allocator>
|
|
|
642
682
|
//!
|
|
643
683
|
//! <b>Complexity</b>: Linear to the range [first, last).
|
|
644
684
|
template <class InIt>
|
|
645
|
-
deque(InIt first, InIt last
|
|
685
|
+
BOOST_CONTAINER_FORCEINLINE deque(InIt first, InIt last
|
|
646
686
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
647
687
|
, typename dtl::disable_if_convertible
|
|
648
688
|
<InIt, size_type>::type * = 0
|
|
@@ -661,7 +701,7 @@ class deque : protected deque_base<Allocator>
|
|
|
661
701
|
//!
|
|
662
702
|
//! <b>Complexity</b>: Linear to the range [first, last).
|
|
663
703
|
template <class InIt>
|
|
664
|
-
deque(InIt first, InIt last, const allocator_type& a
|
|
704
|
+
BOOST_CONTAINER_FORCEINLINE deque(InIt first, InIt last, const allocator_type& a
|
|
665
705
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
666
706
|
, typename dtl::disable_if_convertible
|
|
667
707
|
<InIt, size_type>::type * = 0
|
|
@@ -680,7 +720,7 @@ class deque : protected deque_base<Allocator>
|
|
|
680
720
|
//! throws or T's constructor taking a dereferenced std::initializer_list iterator throws.
|
|
681
721
|
//!
|
|
682
722
|
//! <b>Complexity</b>: Linear to the range [il.begin(), il.end()).
|
|
683
|
-
deque(std::initializer_list<value_type> il, const allocator_type& a = allocator_type())
|
|
723
|
+
BOOST_CONTAINER_FORCEINLINE deque(std::initializer_list<value_type> il, const allocator_type& a = allocator_type())
|
|
684
724
|
: Base(a)
|
|
685
725
|
{
|
|
686
726
|
this->priv_range_initialize(il.begin(), il.end());
|
|
@@ -692,7 +732,7 @@ class deque : protected deque_base<Allocator>
|
|
|
692
732
|
//! <b>Postcondition</b>: x == *this.
|
|
693
733
|
//!
|
|
694
734
|
//! <b>Complexity</b>: Linear to the elements x contains.
|
|
695
|
-
deque(const deque& x)
|
|
735
|
+
BOOST_CONTAINER_FORCEINLINE deque(const deque& x)
|
|
696
736
|
: Base(allocator_traits_type::select_on_container_copy_construction(x.alloc()))
|
|
697
737
|
{
|
|
698
738
|
if(x.size()){
|
|
@@ -707,7 +747,7 @@ class deque : protected deque_base<Allocator>
|
|
|
707
747
|
//! <b>Throws</b>: If allocator_type's copy constructor throws.
|
|
708
748
|
//!
|
|
709
749
|
//! <b>Complexity</b>: Constant.
|
|
710
|
-
deque(BOOST_RV_REF(deque) x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
750
|
+
BOOST_CONTAINER_FORCEINLINE deque(BOOST_RV_REF(deque) x) BOOST_NOEXCEPT_OR_NOTHROW
|
|
711
751
|
: Base(BOOST_MOVE_BASE(Base, x))
|
|
712
752
|
{ this->swap_members(x); }
|
|
713
753
|
|
|
@@ -758,7 +798,7 @@ class deque : protected deque_base<Allocator>
|
|
|
758
798
|
//! <b>Throws</b>: Nothing.
|
|
759
799
|
//!
|
|
760
800
|
//! <b>Complexity</b>: Linear to the number of elements.
|
|
761
|
-
~deque() BOOST_NOEXCEPT_OR_NOTHROW
|
|
801
|
+
BOOST_CONTAINER_FORCEINLINE ~deque() BOOST_NOEXCEPT_OR_NOTHROW
|
|
762
802
|
{
|
|
763
803
|
this->priv_destroy_range(this->members_.m_start, this->members_.m_finish);
|
|
764
804
|
}
|
|
@@ -773,7 +813,7 @@ class deque : protected deque_base<Allocator>
|
|
|
773
813
|
//! <b>Complexity</b>: Linear to the number of elements in x.
|
|
774
814
|
deque& operator= (BOOST_COPY_ASSIGN_REF(deque) x)
|
|
775
815
|
{
|
|
776
|
-
if (&x != this){
|
|
816
|
+
if (BOOST_LIKELY(&x != this)){
|
|
777
817
|
allocator_type &this_alloc = this->alloc();
|
|
778
818
|
const allocator_type &x_alloc = x.alloc();
|
|
779
819
|
dtl::bool_<allocator_traits_type::
|
|
@@ -801,28 +841,29 @@ class deque : protected deque_base<Allocator>
|
|
|
801
841
|
BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value
|
|
802
842
|
|| allocator_traits_type::is_always_equal::value)
|
|
803
843
|
{
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
844
|
+
if (BOOST_LIKELY(this != &x)) {
|
|
845
|
+
allocator_type &this_alloc = this->alloc();
|
|
846
|
+
allocator_type &x_alloc = x.alloc();
|
|
847
|
+
const bool propagate_alloc = allocator_traits_type::
|
|
848
|
+
propagate_on_container_move_assignment::value;
|
|
849
|
+
dtl::bool_<propagate_alloc> flag;
|
|
850
|
+
const bool allocators_equal = this_alloc == x_alloc; (void)allocators_equal;
|
|
851
|
+
//Resources can be transferred if both allocators are
|
|
852
|
+
//going to be equal after this function (either propagated or already equal)
|
|
853
|
+
if(propagate_alloc || allocators_equal){
|
|
854
|
+
//Destroy objects but retain memory in case x reuses it in the future
|
|
855
|
+
this->clear();
|
|
856
|
+
//Move allocator if needed
|
|
857
|
+
dtl::move_alloc(this_alloc, x_alloc, flag);
|
|
858
|
+
dtl::move_alloc(this->ptr_alloc(), x.ptr_alloc(), flag);
|
|
859
|
+
//Nothrow swap
|
|
860
|
+
this->swap_members(x);
|
|
861
|
+
}
|
|
862
|
+
//Else do a one by one move
|
|
863
|
+
else{
|
|
864
|
+
this->assign( boost::make_move_iterator(x.begin())
|
|
865
|
+
, boost::make_move_iterator(x.end()));
|
|
866
|
+
}
|
|
826
867
|
}
|
|
827
868
|
return *this;
|
|
828
869
|
}
|
|
@@ -836,7 +877,7 @@ class deque : protected deque_base<Allocator>
|
|
|
836
877
|
//! <b>Throws</b>: If memory allocation throws or T's copy constructor throws.
|
|
837
878
|
//!
|
|
838
879
|
//! <b>Complexity</b>: Linear to the number of elements in il.
|
|
839
|
-
deque& operator=(std::initializer_list<value_type> il)
|
|
880
|
+
BOOST_CONTAINER_FORCEINLINE deque& operator=(std::initializer_list<value_type> il)
|
|
840
881
|
{
|
|
841
882
|
this->assign(il.begin(), il.end());
|
|
842
883
|
return *this;
|
|
@@ -848,7 +889,7 @@ class deque : protected deque_base<Allocator>
|
|
|
848
889
|
//! <b>Throws</b>: If memory allocation throws or T's copy constructor throws.
|
|
849
890
|
//!
|
|
850
891
|
//! <b>Complexity</b>: Linear to n.
|
|
851
|
-
void assign(size_type n, const T& val)
|
|
892
|
+
BOOST_CONTAINER_FORCEINLINE void assign(size_type n, const T& val)
|
|
852
893
|
{
|
|
853
894
|
typedef constant_iterator<value_type, difference_type> c_it;
|
|
854
895
|
this->assign(c_it(val, n), c_it());
|
|
@@ -913,7 +954,7 @@ class deque : protected deque_base<Allocator>
|
|
|
913
954
|
//! T's constructor from dereferencing std::initializer_list iterator throws.
|
|
914
955
|
//!
|
|
915
956
|
//! <b>Complexity</b>: Linear to il.size().
|
|
916
|
-
void assign(std::initializer_list<value_type> il)
|
|
957
|
+
BOOST_CONTAINER_FORCEINLINE void assign(std::initializer_list<value_type> il)
|
|
917
958
|
{ this->assign(il.begin(), il.end()); }
|
|
918
959
|
#endif
|
|
919
960
|
|
|
@@ -922,7 +963,7 @@ class deque : protected deque_base<Allocator>
|
|
|
922
963
|
//! <b>Throws</b>: If allocator's copy constructor throws.
|
|
923
964
|
//!
|
|
924
965
|
//! <b>Complexity</b>: Constant.
|
|
925
|
-
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
966
|
+
BOOST_CONTAINER_FORCEINLINE allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
926
967
|
{ return Base::alloc(); }
|
|
927
968
|
|
|
928
969
|
//! <b>Effects</b>: Returns a reference to the internal allocator.
|
|
@@ -932,7 +973,7 @@ class deque : protected deque_base<Allocator>
|
|
|
932
973
|
//! <b>Complexity</b>: Constant.
|
|
933
974
|
//!
|
|
934
975
|
//! <b>Note</b>: Non-standard extension.
|
|
935
|
-
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
976
|
+
BOOST_CONTAINER_FORCEINLINE const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
936
977
|
{ return Base::alloc(); }
|
|
937
978
|
|
|
938
979
|
//////////////////////////////////////////////
|
|
@@ -948,7 +989,7 @@ class deque : protected deque_base<Allocator>
|
|
|
948
989
|
//! <b>Complexity</b>: Constant.
|
|
949
990
|
//!
|
|
950
991
|
//! <b>Note</b>: Non-standard extension.
|
|
951
|
-
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
992
|
+
BOOST_CONTAINER_FORCEINLINE stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
952
993
|
{ return Base::alloc(); }
|
|
953
994
|
|
|
954
995
|
//! <b>Effects</b>: Returns an iterator to the first element contained in the deque.
|
|
@@ -956,7 +997,7 @@ class deque : protected deque_base<Allocator>
|
|
|
956
997
|
//! <b>Throws</b>: Nothing.
|
|
957
998
|
//!
|
|
958
999
|
//! <b>Complexity</b>: Constant.
|
|
959
|
-
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1000
|
+
BOOST_CONTAINER_FORCEINLINE iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
960
1001
|
{ return this->members_.m_start; }
|
|
961
1002
|
|
|
962
1003
|
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the deque.
|
|
@@ -964,7 +1005,7 @@ class deque : protected deque_base<Allocator>
|
|
|
964
1005
|
//! <b>Throws</b>: Nothing.
|
|
965
1006
|
//!
|
|
966
1007
|
//! <b>Complexity</b>: Constant.
|
|
967
|
-
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1008
|
+
BOOST_CONTAINER_FORCEINLINE const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
968
1009
|
{ return this->members_.m_start; }
|
|
969
1010
|
|
|
970
1011
|
//! <b>Effects</b>: Returns an iterator to the end of the deque.
|
|
@@ -972,7 +1013,7 @@ class deque : protected deque_base<Allocator>
|
|
|
972
1013
|
//! <b>Throws</b>: Nothing.
|
|
973
1014
|
//!
|
|
974
1015
|
//! <b>Complexity</b>: Constant.
|
|
975
|
-
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1016
|
+
BOOST_CONTAINER_FORCEINLINE iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
|
976
1017
|
{ return this->members_.m_finish; }
|
|
977
1018
|
|
|
978
1019
|
//! <b>Effects</b>: Returns a const_iterator to the end of the deque.
|
|
@@ -980,7 +1021,7 @@ class deque : protected deque_base<Allocator>
|
|
|
980
1021
|
//! <b>Throws</b>: Nothing.
|
|
981
1022
|
//!
|
|
982
1023
|
//! <b>Complexity</b>: Constant.
|
|
983
|
-
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1024
|
+
BOOST_CONTAINER_FORCEINLINE const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
984
1025
|
{ return this->members_.m_finish; }
|
|
985
1026
|
|
|
986
1027
|
//! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
|
|
@@ -989,7 +1030,7 @@ class deque : protected deque_base<Allocator>
|
|
|
989
1030
|
//! <b>Throws</b>: Nothing.
|
|
990
1031
|
//!
|
|
991
1032
|
//! <b>Complexity</b>: Constant.
|
|
992
|
-
reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1033
|
+
BOOST_CONTAINER_FORCEINLINE reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
993
1034
|
{ return reverse_iterator(this->members_.m_finish); }
|
|
994
1035
|
|
|
995
1036
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
|
@@ -998,7 +1039,7 @@ class deque : protected deque_base<Allocator>
|
|
|
998
1039
|
//! <b>Throws</b>: Nothing.
|
|
999
1040
|
//!
|
|
1000
1041
|
//! <b>Complexity</b>: Constant.
|
|
1001
|
-
const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1042
|
+
BOOST_CONTAINER_FORCEINLINE const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1002
1043
|
{ return const_reverse_iterator(this->members_.m_finish); }
|
|
1003
1044
|
|
|
1004
1045
|
//! <b>Effects</b>: Returns a reverse_iterator pointing to the end
|
|
@@ -1007,7 +1048,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1007
1048
|
//! <b>Throws</b>: Nothing.
|
|
1008
1049
|
//!
|
|
1009
1050
|
//! <b>Complexity</b>: Constant.
|
|
1010
|
-
reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1051
|
+
BOOST_CONTAINER_FORCEINLINE reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1011
1052
|
{ return reverse_iterator(this->members_.m_start); }
|
|
1012
1053
|
|
|
1013
1054
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
|
@@ -1016,7 +1057,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1016
1057
|
//! <b>Throws</b>: Nothing.
|
|
1017
1058
|
//!
|
|
1018
1059
|
//! <b>Complexity</b>: Constant.
|
|
1019
|
-
const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1060
|
+
BOOST_CONTAINER_FORCEINLINE const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1020
1061
|
{ return const_reverse_iterator(this->members_.m_start); }
|
|
1021
1062
|
|
|
1022
1063
|
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the deque.
|
|
@@ -1024,7 +1065,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1024
1065
|
//! <b>Throws</b>: Nothing.
|
|
1025
1066
|
//!
|
|
1026
1067
|
//! <b>Complexity</b>: Constant.
|
|
1027
|
-
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1068
|
+
BOOST_CONTAINER_FORCEINLINE const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1028
1069
|
{ return this->members_.m_start; }
|
|
1029
1070
|
|
|
1030
1071
|
//! <b>Effects</b>: Returns a const_iterator to the end of the deque.
|
|
@@ -1032,7 +1073,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1032
1073
|
//! <b>Throws</b>: Nothing.
|
|
1033
1074
|
//!
|
|
1034
1075
|
//! <b>Complexity</b>: Constant.
|
|
1035
|
-
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1076
|
+
BOOST_CONTAINER_FORCEINLINE const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1036
1077
|
{ return this->members_.m_finish; }
|
|
1037
1078
|
|
|
1038
1079
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
|
@@ -1041,7 +1082,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1041
1082
|
//! <b>Throws</b>: Nothing.
|
|
1042
1083
|
//!
|
|
1043
1084
|
//! <b>Complexity</b>: Constant.
|
|
1044
|
-
const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1085
|
+
BOOST_CONTAINER_FORCEINLINE const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1045
1086
|
{ return const_reverse_iterator(this->members_.m_finish); }
|
|
1046
1087
|
|
|
1047
1088
|
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
|
@@ -1050,7 +1091,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1050
1091
|
//! <b>Throws</b>: Nothing.
|
|
1051
1092
|
//!
|
|
1052
1093
|
//! <b>Complexity</b>: Constant.
|
|
1053
|
-
const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1094
|
+
BOOST_CONTAINER_FORCEINLINE const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1054
1095
|
{ return const_reverse_iterator(this->members_.m_start); }
|
|
1055
1096
|
|
|
1056
1097
|
//////////////////////////////////////////////
|
|
@@ -1064,7 +1105,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1064
1105
|
//! <b>Throws</b>: Nothing.
|
|
1065
1106
|
//!
|
|
1066
1107
|
//! <b>Complexity</b>: Constant.
|
|
1067
|
-
bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1108
|
+
BOOST_CONTAINER_FORCEINLINE bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1068
1109
|
{ return this->members_.m_finish == this->members_.m_start; }
|
|
1069
1110
|
|
|
1070
1111
|
//! <b>Effects</b>: Returns the number of the elements contained in the deque.
|
|
@@ -1072,7 +1113,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1072
1113
|
//! <b>Throws</b>: Nothing.
|
|
1073
1114
|
//!
|
|
1074
1115
|
//! <b>Complexity</b>: Constant.
|
|
1075
|
-
size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1116
|
+
BOOST_CONTAINER_FORCEINLINE size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1076
1117
|
{ return this->members_.m_finish - this->members_.m_start; }
|
|
1077
1118
|
|
|
1078
1119
|
//! <b>Effects</b>: Returns the largest possible size of the deque.
|
|
@@ -1080,7 +1121,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1080
1121
|
//! <b>Throws</b>: Nothing.
|
|
1081
1122
|
//!
|
|
1082
1123
|
//! <b>Complexity</b>: Constant.
|
|
1083
|
-
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1124
|
+
BOOST_CONTAINER_FORCEINLINE size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1084
1125
|
{ return allocator_traits_type::max_size(this->alloc()); }
|
|
1085
1126
|
|
|
1086
1127
|
//! <b>Effects</b>: Inserts or erases elements at the end such that
|
|
@@ -1096,7 +1137,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1096
1137
|
this->priv_erase_last_n(len - new_size);
|
|
1097
1138
|
else{
|
|
1098
1139
|
const size_type n = new_size - this->size();
|
|
1099
|
-
dtl::insert_value_initialized_n_proxy<
|
|
1140
|
+
dtl::insert_value_initialized_n_proxy<ValAllocator, iterator> proxy;
|
|
1100
1141
|
priv_insert_back_aux_impl(n, proxy);
|
|
1101
1142
|
}
|
|
1102
1143
|
}
|
|
@@ -1116,7 +1157,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1116
1157
|
this->priv_erase_last_n(len - new_size);
|
|
1117
1158
|
else{
|
|
1118
1159
|
const size_type n = new_size - this->size();
|
|
1119
|
-
dtl::insert_default_initialized_n_proxy<
|
|
1160
|
+
dtl::insert_default_initialized_n_proxy<ValAllocator, iterator> proxy;
|
|
1120
1161
|
priv_insert_back_aux_impl(n, proxy);
|
|
1121
1162
|
}
|
|
1122
1163
|
}
|
|
@@ -1167,7 +1208,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1167
1208
|
//! <b>Throws</b>: Nothing.
|
|
1168
1209
|
//!
|
|
1169
1210
|
//! <b>Complexity</b>: Constant.
|
|
1170
|
-
reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1211
|
+
BOOST_CONTAINER_FORCEINLINE reference front() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1171
1212
|
{
|
|
1172
1213
|
BOOST_ASSERT(!this->empty());
|
|
1173
1214
|
return *this->members_.m_start;
|
|
@@ -1181,7 +1222,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1181
1222
|
//! <b>Throws</b>: Nothing.
|
|
1182
1223
|
//!
|
|
1183
1224
|
//! <b>Complexity</b>: Constant.
|
|
1184
|
-
const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1225
|
+
BOOST_CONTAINER_FORCEINLINE const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1185
1226
|
{
|
|
1186
1227
|
BOOST_ASSERT(!this->empty());
|
|
1187
1228
|
return *this->members_.m_start;
|
|
@@ -1195,7 +1236,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1195
1236
|
//! <b>Throws</b>: Nothing.
|
|
1196
1237
|
//!
|
|
1197
1238
|
//! <b>Complexity</b>: Constant.
|
|
1198
|
-
reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1239
|
+
BOOST_CONTAINER_FORCEINLINE reference back() BOOST_NOEXCEPT_OR_NOTHROW
|
|
1199
1240
|
{
|
|
1200
1241
|
BOOST_ASSERT(!this->empty());
|
|
1201
1242
|
return *(end()-1);
|
|
@@ -1209,7 +1250,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1209
1250
|
//! <b>Throws</b>: Nothing.
|
|
1210
1251
|
//!
|
|
1211
1252
|
//! <b>Complexity</b>: Constant.
|
|
1212
|
-
const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1253
|
+
BOOST_CONTAINER_FORCEINLINE const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1213
1254
|
{
|
|
1214
1255
|
BOOST_ASSERT(!this->empty());
|
|
1215
1256
|
return *(cend()-1);
|
|
@@ -1223,7 +1264,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1223
1264
|
//! <b>Throws</b>: Nothing.
|
|
1224
1265
|
//!
|
|
1225
1266
|
//! <b>Complexity</b>: Constant.
|
|
1226
|
-
reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1267
|
+
BOOST_CONTAINER_FORCEINLINE reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1227
1268
|
{
|
|
1228
1269
|
BOOST_ASSERT(this->size() > n);
|
|
1229
1270
|
return this->members_.m_start[difference_type(n)];
|
|
@@ -1237,7 +1278,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1237
1278
|
//! <b>Throws</b>: Nothing.
|
|
1238
1279
|
//!
|
|
1239
1280
|
//! <b>Complexity</b>: Constant.
|
|
1240
|
-
const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1281
|
+
BOOST_CONTAINER_FORCEINLINE const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1241
1282
|
{
|
|
1242
1283
|
BOOST_ASSERT(this->size() > n);
|
|
1243
1284
|
return this->members_.m_start[difference_type(n)];
|
|
@@ -1254,7 +1295,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1254
1295
|
//! <b>Complexity</b>: Constant.
|
|
1255
1296
|
//!
|
|
1256
1297
|
//! <b>Note</b>: Non-standard extension
|
|
1257
|
-
iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1298
|
+
BOOST_CONTAINER_FORCEINLINE iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1258
1299
|
{
|
|
1259
1300
|
BOOST_ASSERT(this->size() >= n);
|
|
1260
1301
|
return iterator(this->begin()+n);
|
|
@@ -1271,7 +1312,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1271
1312
|
//! <b>Complexity</b>: Constant.
|
|
1272
1313
|
//!
|
|
1273
1314
|
//! <b>Note</b>: Non-standard extension
|
|
1274
|
-
const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1315
|
+
BOOST_CONTAINER_FORCEINLINE const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1275
1316
|
{
|
|
1276
1317
|
BOOST_ASSERT(this->size() >= n);
|
|
1277
1318
|
return const_iterator(this->cbegin()+n);
|
|
@@ -1287,7 +1328,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1287
1328
|
//! <b>Complexity</b>: Constant.
|
|
1288
1329
|
//!
|
|
1289
1330
|
//! <b>Note</b>: Non-standard extension
|
|
1290
|
-
size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1331
|
+
BOOST_CONTAINER_FORCEINLINE size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1291
1332
|
{
|
|
1292
1333
|
//Range checked priv_index_of
|
|
1293
1334
|
return this->priv_index_of(p);
|
|
@@ -1303,7 +1344,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1303
1344
|
//! <b>Complexity</b>: Constant.
|
|
1304
1345
|
//!
|
|
1305
1346
|
//! <b>Note</b>: Non-standard extension
|
|
1306
|
-
size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1347
|
+
BOOST_CONTAINER_FORCEINLINE size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
|
|
1307
1348
|
{
|
|
1308
1349
|
//Range checked priv_index_of
|
|
1309
1350
|
return this->priv_index_of(p);
|
|
@@ -1317,7 +1358,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1317
1358
|
//! <b>Throws</b>: std::range_error if n >= size()
|
|
1318
1359
|
//!
|
|
1319
1360
|
//! <b>Complexity</b>: Constant.
|
|
1320
|
-
reference at(size_type n)
|
|
1361
|
+
BOOST_CONTAINER_FORCEINLINE reference at(size_type n)
|
|
1321
1362
|
{
|
|
1322
1363
|
this->priv_throw_if_out_of_range(n);
|
|
1323
1364
|
return (*this)[n];
|
|
@@ -1331,7 +1372,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1331
1372
|
//! <b>Throws</b>: std::range_error if n >= size()
|
|
1332
1373
|
//!
|
|
1333
1374
|
//! <b>Complexity</b>: Constant.
|
|
1334
|
-
const_reference at(size_type n) const
|
|
1375
|
+
BOOST_CONTAINER_FORCEINLINE const_reference at(size_type n) const
|
|
1335
1376
|
{
|
|
1336
1377
|
this->priv_throw_if_out_of_range(n);
|
|
1337
1378
|
return (*this)[n];
|
|
@@ -1366,7 +1407,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1366
1407
|
return r;
|
|
1367
1408
|
}
|
|
1368
1409
|
else{
|
|
1369
|
-
typedef dtl::insert_nonmovable_emplace_proxy<
|
|
1410
|
+
typedef dtl::insert_nonmovable_emplace_proxy<ValAllocator, iterator, Args...> type;
|
|
1370
1411
|
return *this->priv_insert_front_aux_impl(1, type(boost::forward<Args>(args)...));
|
|
1371
1412
|
}
|
|
1372
1413
|
}
|
|
@@ -1392,7 +1433,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1392
1433
|
return r;
|
|
1393
1434
|
}
|
|
1394
1435
|
else{
|
|
1395
|
-
typedef dtl::insert_nonmovable_emplace_proxy<
|
|
1436
|
+
typedef dtl::insert_nonmovable_emplace_proxy<ValAllocator, iterator, Args...> type;
|
|
1396
1437
|
return *this->priv_insert_back_aux_impl(1, type(boost::forward<Args>(args)...));
|
|
1397
1438
|
}
|
|
1398
1439
|
}
|
|
@@ -1419,7 +1460,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1419
1460
|
return (this->end()-1);
|
|
1420
1461
|
}
|
|
1421
1462
|
else{
|
|
1422
|
-
typedef dtl::insert_emplace_proxy<
|
|
1463
|
+
typedef dtl::insert_emplace_proxy<ValAllocator, iterator, Args...> type;
|
|
1423
1464
|
return this->priv_insert_aux_impl(p, 1, type(boost::forward<Args>(args)...));
|
|
1424
1465
|
}
|
|
1425
1466
|
}
|
|
@@ -1439,7 +1480,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1439
1480
|
}\
|
|
1440
1481
|
else{\
|
|
1441
1482
|
typedef dtl::insert_nonmovable_emplace_proxy##N\
|
|
1442
|
-
<
|
|
1483
|
+
<ValAllocator, iterator BOOST_MOVE_I##N BOOST_MOVE_TARG##N> type;\
|
|
1443
1484
|
return *priv_insert_front_aux_impl(1, type(BOOST_MOVE_FWD##N));\
|
|
1444
1485
|
}\
|
|
1445
1486
|
}\
|
|
@@ -1456,7 +1497,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1456
1497
|
}\
|
|
1457
1498
|
else{\
|
|
1458
1499
|
typedef dtl::insert_nonmovable_emplace_proxy##N\
|
|
1459
|
-
<
|
|
1500
|
+
<ValAllocator, iterator BOOST_MOVE_I##N BOOST_MOVE_TARG##N> type;\
|
|
1460
1501
|
return *priv_insert_back_aux_impl(1, type(BOOST_MOVE_FWD##N));\
|
|
1461
1502
|
}\
|
|
1462
1503
|
}\
|
|
@@ -1475,7 +1516,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1475
1516
|
}\
|
|
1476
1517
|
else{\
|
|
1477
1518
|
typedef dtl::insert_emplace_proxy_arg##N\
|
|
1478
|
-
<
|
|
1519
|
+
<ValAllocator, iterator BOOST_MOVE_I##N BOOST_MOVE_TARG##N> type;\
|
|
1479
1520
|
return this->priv_insert_aux_impl(p, 1, type(BOOST_MOVE_FWD##N));\
|
|
1480
1521
|
}\
|
|
1481
1522
|
}
|
|
@@ -1563,7 +1604,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1563
1604
|
//! <b>Throws</b>: If memory allocation throws or T's copy constructor throws.
|
|
1564
1605
|
//!
|
|
1565
1606
|
//! <b>Complexity</b>: Linear to n.
|
|
1566
|
-
iterator insert(const_iterator pos, size_type n, const value_type& x)
|
|
1607
|
+
BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator pos, size_type n, const value_type& x)
|
|
1567
1608
|
{
|
|
1568
1609
|
//Range check of p is done by insert()
|
|
1569
1610
|
typedef constant_iterator<value_type, difference_type> c_it;
|
|
@@ -1613,7 +1654,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1613
1654
|
//! dereferenced std::initializer_list throws or T's copy constructor throws.
|
|
1614
1655
|
//!
|
|
1615
1656
|
//! <b>Complexity</b>: Linear to distance [il.begin(), il.end()).
|
|
1616
|
-
iterator insert(const_iterator pos, std::initializer_list<value_type> il)
|
|
1657
|
+
BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator pos, std::initializer_list<value_type> il)
|
|
1617
1658
|
{
|
|
1618
1659
|
//Range check os pos is done in insert()
|
|
1619
1660
|
return insert(pos, il.begin(), il.end());
|
|
@@ -1622,7 +1663,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1622
1663
|
|
|
1623
1664
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
1624
1665
|
template <class FwdIt>
|
|
1625
|
-
iterator insert(const_iterator p, FwdIt first, FwdIt last
|
|
1666
|
+
BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, FwdIt first, FwdIt last
|
|
1626
1667
|
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
|
1627
1668
|
, typename dtl::disable_if_or
|
|
1628
1669
|
< void
|
|
@@ -1633,7 +1674,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1633
1674
|
)
|
|
1634
1675
|
{
|
|
1635
1676
|
BOOST_ASSERT(this->priv_in_range_or_end(p));
|
|
1636
|
-
dtl::insert_range_proxy<
|
|
1677
|
+
dtl::insert_range_proxy<ValAllocator, FwdIt, iterator> proxy(first);
|
|
1637
1678
|
return priv_insert_aux_impl(p, boost::container::iterator_distance(first, last), proxy);
|
|
1638
1679
|
}
|
|
1639
1680
|
#endif
|
|
@@ -1743,7 +1784,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1743
1784
|
//! <b>Throws</b>: Nothing.
|
|
1744
1785
|
//!
|
|
1745
1786
|
//! <b>Complexity</b>: Constant.
|
|
1746
|
-
void swap(deque &x)
|
|
1787
|
+
BOOST_CONTAINER_FORCEINLINE void swap(deque &x)
|
|
1747
1788
|
BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_swap::value
|
|
1748
1789
|
|| allocator_traits_type::is_always_equal::value)
|
|
1749
1790
|
{
|
|
@@ -1763,7 +1804,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1763
1804
|
for (index_pointer node = this->members_.m_start.m_node + 1;
|
|
1764
1805
|
node < this->members_.m_finish.m_node;
|
|
1765
1806
|
++node) {
|
|
1766
|
-
this->priv_destroy_range(*node, *node +
|
|
1807
|
+
this->priv_destroy_range(*node, *node + get_block_size());
|
|
1767
1808
|
this->priv_deallocate_node(*node);
|
|
1768
1809
|
}
|
|
1769
1810
|
|
|
@@ -1781,49 +1822,49 @@ class deque : protected deque_base<Allocator>
|
|
|
1781
1822
|
//! <b>Effects</b>: Returns true if x and y are equal
|
|
1782
1823
|
//!
|
|
1783
1824
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1784
|
-
friend bool operator==(const deque& x, const deque& y)
|
|
1825
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator==(const deque& x, const deque& y)
|
|
1785
1826
|
{ return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
|
|
1786
1827
|
|
|
1787
1828
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
|
1788
1829
|
//!
|
|
1789
1830
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1790
|
-
friend bool operator!=(const deque& x, const deque& y)
|
|
1831
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator!=(const deque& x, const deque& y)
|
|
1791
1832
|
{ return !(x == y); }
|
|
1792
1833
|
|
|
1793
1834
|
//! <b>Effects</b>: Returns true if x is less than y
|
|
1794
1835
|
//!
|
|
1795
1836
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1796
|
-
friend bool operator<(const deque& x, const deque& y)
|
|
1837
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator<(const deque& x, const deque& y)
|
|
1797
1838
|
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
|
1798
1839
|
|
|
1799
1840
|
//! <b>Effects</b>: Returns true if x is greater than y
|
|
1800
1841
|
//!
|
|
1801
1842
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1802
|
-
friend bool operator>(const deque& x, const deque& y)
|
|
1843
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator>(const deque& x, const deque& y)
|
|
1803
1844
|
{ return y < x; }
|
|
1804
1845
|
|
|
1805
1846
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
|
1806
1847
|
//!
|
|
1807
1848
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1808
|
-
friend bool operator<=(const deque& x, const deque& y)
|
|
1849
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator<=(const deque& x, const deque& y)
|
|
1809
1850
|
{ return !(y < x); }
|
|
1810
1851
|
|
|
1811
1852
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
|
1812
1853
|
//!
|
|
1813
1854
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1814
|
-
friend bool operator>=(const deque& x, const deque& y)
|
|
1855
|
+
BOOST_CONTAINER_FORCEINLINE friend bool operator>=(const deque& x, const deque& y)
|
|
1815
1856
|
{ return !(x < y); }
|
|
1816
1857
|
|
|
1817
1858
|
//! <b>Effects</b>: x.swap(y)
|
|
1818
1859
|
//!
|
|
1819
1860
|
//! <b>Complexity</b>: Constant.
|
|
1820
|
-
friend void swap(deque& x, deque& y)
|
|
1861
|
+
BOOST_CONTAINER_FORCEINLINE friend void swap(deque& x, deque& y)
|
|
1821
1862
|
{ x.swap(y); }
|
|
1822
1863
|
|
|
1823
1864
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
1824
1865
|
private:
|
|
1825
1866
|
|
|
1826
|
-
size_type priv_index_of(const_iterator p) const
|
|
1867
|
+
BOOST_CONTAINER_FORCEINLINE size_type priv_index_of(const_iterator p) const
|
|
1827
1868
|
{
|
|
1828
1869
|
BOOST_ASSERT(this->cbegin() <= p);
|
|
1829
1870
|
BOOST_ASSERT(p <= this->cend());
|
|
@@ -1849,12 +1890,12 @@ class deque : protected deque_base<Allocator>
|
|
|
1849
1890
|
throw_out_of_range("deque::at out of range");
|
|
1850
1891
|
}
|
|
1851
1892
|
|
|
1852
|
-
bool priv_in_range(const_iterator pos) const
|
|
1893
|
+
BOOST_CONTAINER_FORCEINLINE bool priv_in_range(const_iterator pos) const
|
|
1853
1894
|
{
|
|
1854
1895
|
return (this->begin() <= pos) && (pos < this->end());
|
|
1855
1896
|
}
|
|
1856
1897
|
|
|
1857
|
-
bool priv_in_range_or_end(const_iterator pos) const
|
|
1898
|
+
BOOST_CONTAINER_FORCEINLINE bool priv_in_range_or_end(const_iterator pos) const
|
|
1858
1899
|
{
|
|
1859
1900
|
return (this->begin() <= pos) && (pos <= this->end());
|
|
1860
1901
|
}
|
|
@@ -1874,7 +1915,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1874
1915
|
else {
|
|
1875
1916
|
return priv_insert_aux_impl
|
|
1876
1917
|
( p, (size_type)1
|
|
1877
|
-
, dtl::get_insert_value_proxy<iterator,
|
|
1918
|
+
, dtl::get_insert_value_proxy<iterator, ValAllocator>(::boost::forward<U>(x)));
|
|
1878
1919
|
}
|
|
1879
1920
|
}
|
|
1880
1921
|
|
|
@@ -1889,7 +1930,7 @@ class deque : protected deque_base<Allocator>
|
|
|
1889
1930
|
else{
|
|
1890
1931
|
priv_insert_aux_impl
|
|
1891
1932
|
( this->cbegin(), (size_type)1
|
|
1892
|
-
, dtl::get_insert_value_proxy<iterator,
|
|
1933
|
+
, dtl::get_insert_value_proxy<iterator, ValAllocator>(::boost::forward<U>(x)));
|
|
1893
1934
|
}
|
|
1894
1935
|
}
|
|
1895
1936
|
|
|
@@ -1904,36 +1945,36 @@ class deque : protected deque_base<Allocator>
|
|
|
1904
1945
|
else{
|
|
1905
1946
|
priv_insert_aux_impl
|
|
1906
1947
|
( this->cend(), (size_type)1
|
|
1907
|
-
, dtl::get_insert_value_proxy<iterator,
|
|
1948
|
+
, dtl::get_insert_value_proxy<iterator, ValAllocator>(::boost::forward<U>(x)));
|
|
1908
1949
|
}
|
|
1909
1950
|
}
|
|
1910
1951
|
|
|
1911
|
-
bool priv_push_back_simple_available() const
|
|
1952
|
+
BOOST_CONTAINER_FORCEINLINE bool priv_push_back_simple_available() const
|
|
1912
1953
|
{
|
|
1913
1954
|
return this->members_.m_map &&
|
|
1914
1955
|
(this->members_.m_finish.m_cur != (this->members_.m_finish.m_last - 1));
|
|
1915
1956
|
}
|
|
1916
1957
|
|
|
1917
|
-
T *priv_push_back_simple_pos() const
|
|
1958
|
+
BOOST_CONTAINER_FORCEINLINE T *priv_push_back_simple_pos() const
|
|
1918
1959
|
{
|
|
1919
1960
|
return boost::movelib::to_raw_pointer(this->members_.m_finish.m_cur);
|
|
1920
1961
|
}
|
|
1921
1962
|
|
|
1922
|
-
void priv_push_back_simple_commit()
|
|
1963
|
+
BOOST_CONTAINER_FORCEINLINE void priv_push_back_simple_commit()
|
|
1923
1964
|
{
|
|
1924
1965
|
++this->members_.m_finish.m_cur;
|
|
1925
1966
|
}
|
|
1926
1967
|
|
|
1927
|
-
bool priv_push_front_simple_available() const
|
|
1968
|
+
BOOST_CONTAINER_FORCEINLINE bool priv_push_front_simple_available() const
|
|
1928
1969
|
{
|
|
1929
1970
|
return this->members_.m_map &&
|
|
1930
1971
|
(this->members_.m_start.m_cur != this->members_.m_start.m_first);
|
|
1931
1972
|
}
|
|
1932
1973
|
|
|
1933
|
-
T *priv_push_front_simple_pos() const
|
|
1974
|
+
BOOST_CONTAINER_FORCEINLINE T *priv_push_front_simple_pos() const
|
|
1934
1975
|
{ return boost::movelib::to_raw_pointer(this->members_.m_start.m_cur) - 1; }
|
|
1935
1976
|
|
|
1936
|
-
void priv_push_front_simple_commit()
|
|
1977
|
+
BOOST_CONTAINER_FORCEINLINE void priv_push_front_simple_commit()
|
|
1937
1978
|
{ --this->members_.m_start.m_cur; }
|
|
1938
1979
|
|
|
1939
1980
|
void priv_destroy_range(iterator p, iterator p2)
|
|
@@ -2060,7 +2101,7 @@ class deque : protected deque_base<Allocator>
|
|
|
2060
2101
|
return new_start;
|
|
2061
2102
|
}
|
|
2062
2103
|
|
|
2063
|
-
iterator priv_fill_insert(const_iterator pos, size_type n, const value_type& x)
|
|
2104
|
+
BOOST_CONTAINER_FORCEINLINE iterator priv_fill_insert(const_iterator pos, size_type n, const value_type& x)
|
|
2064
2105
|
{
|
|
2065
2106
|
typedef constant_iterator<value_type, difference_type> c_it;
|
|
2066
2107
|
return this->insert(pos, c_it(x, n), c_it());
|
|
@@ -2074,13 +2115,13 @@ class deque : protected deque_base<Allocator>
|
|
|
2074
2115
|
BOOST_TRY {
|
|
2075
2116
|
for ( ; cur < this->members_.m_finish.m_node; ++cur){
|
|
2076
2117
|
boost::container::uninitialized_fill_alloc
|
|
2077
|
-
(this->alloc(), *cur, *cur +
|
|
2118
|
+
(this->alloc(), *cur, *cur + get_block_size(), value);
|
|
2078
2119
|
}
|
|
2079
2120
|
boost::container::uninitialized_fill_alloc
|
|
2080
2121
|
(this->alloc(), this->members_.m_finish.m_first, this->members_.m_finish.m_cur, value);
|
|
2081
2122
|
}
|
|
2082
2123
|
BOOST_CATCH(...){
|
|
2083
|
-
this->priv_destroy_range(this->members_.m_start, iterator(*cur, cur));
|
|
2124
|
+
this->priv_destroy_range(this->members_.m_start, iterator(*cur, cur, get_block_size()));
|
|
2084
2125
|
BOOST_RETHROW
|
|
2085
2126
|
}
|
|
2086
2127
|
BOOST_CATCH_END
|
|
@@ -2112,14 +2153,14 @@ class deque : protected deque_base<Allocator>
|
|
|
2112
2153
|
BOOST_TRY {
|
|
2113
2154
|
for (; cur_node < this->members_.m_finish.m_node; ++cur_node) {
|
|
2114
2155
|
FwdIt mid = first;
|
|
2115
|
-
boost::container::iterator_advance(mid,
|
|
2156
|
+
boost::container::iterator_advance(mid, get_block_size());
|
|
2116
2157
|
::boost::container::uninitialized_copy_alloc(this->alloc(), first, mid, *cur_node);
|
|
2117
2158
|
first = mid;
|
|
2118
2159
|
}
|
|
2119
2160
|
::boost::container::uninitialized_copy_alloc(this->alloc(), first, last, this->members_.m_finish.m_first);
|
|
2120
2161
|
}
|
|
2121
2162
|
BOOST_CATCH(...){
|
|
2122
|
-
this->priv_destroy_range(this->members_.m_start, iterator(*cur_node, cur_node));
|
|
2163
|
+
this->priv_destroy_range(this->members_.m_start, iterator(*cur_node, cur_node, get_block_size()));
|
|
2123
2164
|
BOOST_RETHROW
|
|
2124
2165
|
}
|
|
2125
2166
|
BOOST_CATCH_END
|
|
@@ -2129,7 +2170,7 @@ class deque : protected deque_base<Allocator>
|
|
|
2129
2170
|
void priv_pop_back_aux() BOOST_NOEXCEPT_OR_NOTHROW
|
|
2130
2171
|
{
|
|
2131
2172
|
this->priv_deallocate_node(this->members_.m_finish.m_first);
|
|
2132
|
-
this->members_.m_finish.priv_set_node(this->members_.m_finish.m_node - 1);
|
|
2173
|
+
this->members_.m_finish.priv_set_node(this->members_.m_finish.m_node - 1, get_block_size());
|
|
2133
2174
|
this->members_.m_finish.m_cur = this->members_.m_finish.m_last - 1;
|
|
2134
2175
|
allocator_traits_type::destroy
|
|
2135
2176
|
( this->alloc()
|
|
@@ -2148,7 +2189,7 @@ class deque : protected deque_base<Allocator>
|
|
|
2148
2189
|
, boost::movelib::to_raw_pointer(this->members_.m_start.m_cur)
|
|
2149
2190
|
);
|
|
2150
2191
|
this->priv_deallocate_node(this->members_.m_start.m_first);
|
|
2151
|
-
this->members_.m_start.priv_set_node(this->members_.m_start.m_node + 1);
|
|
2192
|
+
this->members_.m_start.priv_set_node(this->members_.m_start.m_node + 1, get_block_size());
|
|
2152
2193
|
this->members_.m_start.m_cur = this->members_.m_start.m_first;
|
|
2153
2194
|
}
|
|
2154
2195
|
|
|
@@ -2157,8 +2198,8 @@ class deque : protected deque_base<Allocator>
|
|
|
2157
2198
|
size_type vacancies = this->members_.m_start.m_cur - this->members_.m_start.m_first;
|
|
2158
2199
|
if (n > vacancies){
|
|
2159
2200
|
size_type new_elems = n-vacancies;
|
|
2160
|
-
size_type new_nodes = (new_elems +
|
|
2161
|
-
|
|
2201
|
+
size_type new_nodes = (new_elems + get_block_size() - 1) /
|
|
2202
|
+
get_block_size();
|
|
2162
2203
|
size_type s = (size_type)(this->members_.m_start.m_node - this->members_.m_map);
|
|
2163
2204
|
if (new_nodes > s){
|
|
2164
2205
|
this->priv_reallocate_map(new_nodes, true);
|
|
@@ -2183,7 +2224,7 @@ class deque : protected deque_base<Allocator>
|
|
|
2183
2224
|
size_type vacancies = (this->members_.m_finish.m_last - this->members_.m_finish.m_cur) - 1;
|
|
2184
2225
|
if (n > vacancies){
|
|
2185
2226
|
size_type new_elems = n - vacancies;
|
|
2186
|
-
size_type new_nodes = (new_elems +
|
|
2227
|
+
size_type new_nodes = (new_elems + get_block_size() - 1)/get_block_size();
|
|
2187
2228
|
size_type s = (size_type)(this->members_.m_map_size - (this->members_.m_finish.m_node - this->members_.m_map));
|
|
2188
2229
|
if (new_nodes + 1 > s){
|
|
2189
2230
|
this->priv_reallocate_map(new_nodes, false);
|
|
@@ -2232,8 +2273,8 @@ class deque : protected deque_base<Allocator>
|
|
|
2232
2273
|
this->members_.m_map_size = new_map_size;
|
|
2233
2274
|
}
|
|
2234
2275
|
|
|
2235
|
-
this->members_.m_start.priv_set_node(new_nstart);
|
|
2236
|
-
this->members_.m_finish.priv_set_node(new_nstart + old_num_nodes - 1);
|
|
2276
|
+
this->members_.m_start.priv_set_node(new_nstart, get_block_size());
|
|
2277
|
+
this->members_.m_finish.priv_set_node(new_nstart + old_num_nodes - 1, get_block_size());
|
|
2237
2278
|
}
|
|
2238
2279
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
2239
2280
|
};
|
|
@@ -2253,11 +2294,12 @@ namespace boost {
|
|
|
2253
2294
|
|
|
2254
2295
|
//!has_trivial_destructor_after_move<> == true_type
|
|
2255
2296
|
//!specialization for optimizations
|
|
2256
|
-
template <class T, class Allocator>
|
|
2257
|
-
struct has_trivial_destructor_after_move<boost::container::deque<T, Allocator> >
|
|
2297
|
+
template <class T, class Allocator, class Options>
|
|
2298
|
+
struct has_trivial_destructor_after_move<boost::container::deque<T, Allocator, Options> >
|
|
2258
2299
|
{
|
|
2259
|
-
typedef typename
|
|
2260
|
-
|
|
2300
|
+
typedef typename boost::container::deque<T, Allocator, Options>::allocator_type allocator_type;
|
|
2301
|
+
typedef typename ::boost::container::allocator_traits<allocator_type>::pointer pointer;
|
|
2302
|
+
static const bool value = ::boost::has_trivial_destructor_after_move<allocator_type>::value &&
|
|
2261
2303
|
::boost::has_trivial_destructor_after_move<pointer>::value;
|
|
2262
2304
|
};
|
|
2263
2305
|
|