passenger 6.0.19 → 6.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +65 -3
- data/CONTRIBUTORS +2 -0
- data/README.md +2 -2
- data/bin/passenger-install-nginx-module +4 -4
- data/build/integration_tests.rb +2 -1
- data/build/support/cxx_dependency_map.rb +155 -54
- data/dev/copy_boost_headers +21 -7
- data/dev/nginx_version_sha256 +72 -0
- data/package.json +15 -15
- data/src/agent/AgentMain.cpp +2 -8
- data/src/agent/Core/AdminPanelConnector.h +2 -3
- data/src/agent/Core/ApiServer.h +1 -1
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +8 -1
- data/src/agent/Core/Config.h +6 -3
- data/src/agent/Core/Controller/AppResponse.h +0 -1
- data/src/agent/Core/Controller/Config.h +2 -2
- data/src/agent/Core/Controller/SendRequest.cpp +2 -2
- data/src/agent/Core/CoreMain.cpp +1 -0
- data/src/agent/Core/ResponseCache.h +3 -2
- data/src/agent/Core/SecurityUpdateChecker.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +4 -4
- data/src/agent/Core/SpawningKit/UserSwitchingRules.h +2 -2
- data/src/agent/ExecHelper/ExecHelperMain.cpp +10 -12
- data/src/agent/FileReadHelper/FileReadHelperMain.cpp +7 -10
- data/src/agent/MainFunctions.h +38 -0
- data/src/agent/Shared/ApiServerUtils.h +3 -2
- data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -1
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +2 -3
- data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -0
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +6 -4
- data/src/agent/Watchdog/ApiServer.h +1 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +5 -12
- data/src/apache2_module/Hooks.cpp +26 -1
- data/src/cxx_supportlib/ConfigKit/Common.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -1
- data/src/cxx_supportlib/FileTools/PathManip.cpp +10 -1
- data/src/cxx_supportlib/IOTools/IOUtils.cpp +2 -6
- data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
- data/src/cxx_supportlib/JsonTools/CBindings.cpp +0 -2
- data/src/cxx_supportlib/JsonTools/JsonUtils.h +4 -4
- data/src/cxx_supportlib/LoggingKit/Context.h +16 -21
- data/src/cxx_supportlib/LoggingKit/Forward.h +0 -2
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +36 -72
- data/src/cxx_supportlib/MemoryKit/mbuf.cpp +12 -4
- data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
- data/src/cxx_supportlib/ProcessManagement/Utils.cpp +1 -1
- data/src/cxx_supportlib/ResourceLocator.h +1 -1
- data/src/cxx_supportlib/SecurityKit/Crypto.cpp +3 -94
- data/src/cxx_supportlib/SecurityKit/Crypto.h +0 -8
- data/src/cxx_supportlib/ServerKit/Context.h +6 -0
- data/src/cxx_supportlib/ServerKit/Errors.h +3 -2
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +99 -64
- data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +4 -1
- data/src/cxx_supportlib/ServerKit/HttpRequest.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpServer.h +3 -2
- data/src/cxx_supportlib/ServerKit/llerrors.h +84 -0
- data/src/cxx_supportlib/ServerKit/llhttp.c +10168 -0
- data/src/cxx_supportlib/ServerKit/llhttp.h +903 -0
- data/src/cxx_supportlib/ServerKit/llhttp_api.c +510 -0
- data/src/cxx_supportlib/ServerKit/llhttp_http.c +170 -0
- data/src/cxx_supportlib/ServerKit/llversion.h +12 -0
- data/src/cxx_supportlib/ServerKit/url_parser.c +574 -0
- data/src/cxx_supportlib/ServerKit/url_parser.h +74 -0
- data/src/cxx_supportlib/StaticString.h +3 -1
- data/src/cxx_supportlib/StrIntTools/DateParsing.h +1 -1
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +12 -3
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +5 -0
- data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +2 -2
- data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +14 -14
- data/src/cxx_supportlib/SystemTools/UserDatabase.h +6 -10
- data/src/cxx_supportlib/Utils/AnsiColorConstants.h +11 -9
- data/src/cxx_supportlib/Utils.cpp +1 -1
- data/src/cxx_supportlib/oxt/implementation.cpp +1 -2
- data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +26 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +194 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +34 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/append.hpp +10 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +21 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +26 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +26 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +30 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +282 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +178 -863
- data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +64 -98
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +17 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +18 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +30 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +65 -96
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +20 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +36 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +31 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +73 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +34 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +108 -151
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +6 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +6 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +30 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +50 -76
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +13 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +23 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +20 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +97 -299
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +97 -288
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +90 -288
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +551 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +365 -290
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +29 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +27 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +33 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +27 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +25 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +8 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +60 -272
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +52 -79
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +11 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +37 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +302 -262
- data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +12 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +5 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +21 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +129 -563
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +3 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +2 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +21 -97
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +155 -963
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +3 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +2 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +41 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +40 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +20 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +20 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/exception.hpp +2 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +8 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +3 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +1 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +9 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +41 -104
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +9 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +101 -123
- 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 +36 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +13 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_descriptor_service.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_file_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.ipp +69 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_socket_service_base.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +15 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_serial_port_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +26 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +57 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +63 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +47 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp +209 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +195 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +209 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +6 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +17 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_service.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +11 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +7 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service.hpp +11 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service_base.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_wait_op.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +7 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +20 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +13 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +4 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_serial_port_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +61 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +37 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +89 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +40 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +40 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +135 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +37 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +4 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_task.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +20 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +12 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +104 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +20 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +7 -117
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +36 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +34 -112
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +268 -991
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +296 -536
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +232 -409
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +20 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +30 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +24 -170
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +2 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +240 -398
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +20 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +149 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +56 -59
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +149 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +1 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +1 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +59 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +56 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +20 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +56 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +56 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +25 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_handler.hpp +10 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_message.hpp +27 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +193 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_payload.hpp +143 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +24 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +77 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +20 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +50 -50
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_completion_handler.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/has_signature.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +46 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +33 -96
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_composed.hpp +62 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +48 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +56 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +18 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_coro.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +27 -31
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +15 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/file_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +10 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +10 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +37 -100
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +99 -107
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +66 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +55 -178
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +55 -178
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +123 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +84 -234
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +32 -97
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +73 -31
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +5 -58
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +3 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +60 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +39 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +36 -98
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +206 -429
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +60 -206
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +456 -970
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +43 -411
- 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 +207 -423
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +19 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +32 -109
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +79 -425
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +213 -427
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +58 -194
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +91 -120
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +33 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +26 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +28 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +13 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +16 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +33 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +13 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +15 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +26 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +46 -76
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +9 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +10 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +18 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +9 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +24 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +14 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_contiguous_iterator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/seq_packet_protocol.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +3 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +1 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +29 -105
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +21 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +24 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +36 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +176 -333
- data/src/cxx_supportlib/vendor-modified/boost/asio/prepend.hpp +11 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +57 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/random_access_file.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +136 -168
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +35 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +256 -298
- data/src/cxx_supportlib/vendor-modified/boost/asio/readable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/recycling_allocator.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +35 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +108 -246
- data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +70 -79
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_base.hpp +173 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +127 -161
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +3 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +3 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +16 -75
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +15 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +51 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +91 -118
- data/src/cxx_supportlib/vendor-modified/boost/asio/stream_file.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +62 -62
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +35 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +91 -273
- data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +14 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +15 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +16 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +20 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +22 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +22 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +6 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +15 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +8 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/writable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +122 -146
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +34 -50
- data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -28
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +2 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +0 -49
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +107 -40
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +32 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +7 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +26 -27
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/float_sizes.hpp +122 -35
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +2 -60
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +230 -1740
- data/src/cxx_supportlib/vendor-modified/boost/bind/{bind_cc.hpp → detail/bind_cc.hpp} +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf2_cc.hpp +210 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf_cc.hpp +405 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/integer_sequence.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/result_traits.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/tuple_for_each.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +140 -290
- data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +3 -16
- data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +0 -279
- data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/chrono/config.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/is_evenly_divisible_by.hpp +1 -7
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/requires_cxx11.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_get.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io_v1/chrono_io.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/chrono/system_clocks.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +8 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +16 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +16 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +27 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +144 -145
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +48 -49
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +14 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +71 -69
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +48 -48
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +38 -40
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +165 -153
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +162 -163
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +48 -12
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +6 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +44 -46
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +28 -28
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +83 -84
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +77 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +81 -85
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +231 -233
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +86 -86
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -33
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +107 -110
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +9 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +29 -17
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +80 -82
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +81 -81
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +24 -26
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +147 -122
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +109 -110
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +32 -32
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +165 -194
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +263 -199
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_integral.hpp +146 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_mix.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_range.hpp +296 -61
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple_like.hpp +62 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/mulx.hpp +79 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +38 -124
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +27 -20
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_described_class.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_range.hpp +8 -40
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_tuple_like.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/core/alignof.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +22 -8
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +362 -31
- data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +29 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/is_same.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/lwt_unattended.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_pause.hpp +71 -0
- data/src/cxx_supportlib/vendor-modified/boost/{smart_ptr → core}/detail/sp_thread_sleep.hpp +39 -21
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_yield.hpp +100 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/core/fclose_deleter.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/functor.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/identity.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/invoke_swap.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/is_same.hpp +10 -15
- data/src/cxx_supportlib/vendor-modified/boost/core/launder.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +33 -36
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/make_span.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/max_align.hpp +82 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/memory_resource.hpp +108 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +23 -16
- data/src/cxx_supportlib/vendor-modified/boost/core/serialization.hpp +131 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/snprintf.hpp +173 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +10 -40
- data/src/cxx_supportlib/vendor-modified/boost/core/type_name.hpp +29 -5
- data/src/cxx_supportlib/vendor-modified/boost/core/yield_primitives.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/members.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +3 -6
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +6 -97
- data/src/cxx_supportlib/vendor-modified/boost/exception/current_exception_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +22 -10
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/requires_cxx11.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/function/function0.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function1.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function10.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function2.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function3.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function4.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function5.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function6.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function7.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function8.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function9.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +49 -198
- data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +36 -41
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +277 -420
- data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +1 -31
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +5 -61
- data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +65 -66
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/array_initializer.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +14 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +277 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +11 -49
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_integral.hpp +119 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_mix.hpp +130 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +41 -41
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +14 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +6 -17
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +28 -28
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +58 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +268 -239
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +57 -58
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +14 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +61 -62
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +24 -25
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +36 -37
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +37 -34
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/io/ios_state.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +148 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +7 -13
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +113 -131
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +612 -645
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +85 -79
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +25 -32
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +22 -29
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +21 -16
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +22 -161
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +9 -12
- data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/chrono.cpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/process_cpu_clocks.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/thread_clock.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +10 -18
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +13 -14
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +24 -14
- data/src/cxx_supportlib/vendor-modified/boost/limits.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +20 -19
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +41 -56
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +32 -34
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +65 -24
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/reverse_iterator.hpp +28 -28
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/to_raw_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +72 -23
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +81 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +65 -66
- data/src/cxx_supportlib/vendor-modified/boost/move/utility.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/utility_core.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +97 -17
- data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/config.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_append.hpp +140 -4
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_defer.hpp +119 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_fold.hpp +108 -4
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_front.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_is_value_list.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_list_v.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_plus.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_rename.hpp +18 -5
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_value.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integral.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/list.hpp +180 -3
- data/src/cxx_supportlib/vendor-modified/boost/mp11/utility.hpp +2 -96
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/next_prior.hpp +3 -44
- data/src/cxx_supportlib/vendor-modified/boost/nondet_random.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg_ref.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/unmatched_argument.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/overloads.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tag.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/void.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/binding.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/parameter/match.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/template_keyword.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/value_type.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msvc.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/inversive_congruential.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +203 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/subtract_with_carry.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/random/uniform_real_distribution.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/random.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +4 -82
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/gcd_lcm.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_evenly_divisible_by.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_ratio.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/ratio/include.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio.hpp +5 -249
- data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_fwd.hpp +30 -56
- data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_io.hpp +0 -533
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +2 -11
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -11
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/enable_if.hpp +3 -12
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +14 -50
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +16 -55
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +62 -124
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +29 -52
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +3 -13
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/mutex.hpp +128 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +1 -46
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category.hpp +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category_impl.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_message.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/system/errc.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/deque.hpp +1 -24
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/functional.hpp +1 -14
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/list.hpp +1 -14
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_arg.hpp +2 -12
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_traits.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/config.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/default_delete.hpp +0 -16
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/pointer_traits.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/scoped_allocator.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/shared_ptr.hpp +0 -19
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/unique_ptr.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +2 -26
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/tuple.hpp +1 -18
- data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/vector.hpp +1 -14
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_to_unsigned.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_trim.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_swappable_cxx_11.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_floating_point.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_integral.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_swappable.hpp +4 -24
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_swappable.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/decltype.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/incr_registration_group.hpp +1 -10
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/bitset.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/complex.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/deque.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/fstream.hpp +2 -15
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +4 -51
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iostream.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/istream.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iterator.hpp +2 -46
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/list.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/locale.hpp +2 -29
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/map.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +4 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/ostream.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/queue.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/set.hpp +2 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/sstream.hpp +2 -19
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/stack.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/streambuf.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +2 -12
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/utility.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/valarray.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/vector.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +8 -202
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +860 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +716 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocator_constructed.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/archive_constructed.hpp +71 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/bad_archive_exception.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/concurrent_static_asserts.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +120 -85
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +1764 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +2271 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/element_type.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_set_types.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/ignore_wshadow.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +204 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +139 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/reentrancy_check.hpp +138 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/restore_wshadow.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/rw_spinlock.hpp +179 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +651 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/tuple_rotate_right.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +356 -1118
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/mulx.hpp +129 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/narrow_cast.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/opt_storage.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/prime_fmod.hpp +96 -150
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialization_version.hpp +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_container.hpp +204 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_fca_container.hpp +156 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_tracked_address.hpp +104 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/static_assert.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/throw_exception.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +136 -19
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +171 -103
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +70 -46
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +406 -899
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +7 -13
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +895 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +699 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +253 -618
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +8 -14
- data/src/cxx_supportlib/vendor-modified/boost/utility/swap.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +2 -9
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/frame.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +14 -20
- data/src/helper-scripts/wsgi-loader.py +2 -2
- data/src/nginx_module/ConfigGeneral/ManifestGeneration.c +2 -2
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +16 -5
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/native_support.rb +10 -7
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +8 -10
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +14 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +4 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +6 -6
- data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +11 -12
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +4 -0
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- metadata +109 -150
- data/src/cxx_supportlib/ServerKit/http_parser.cpp +0 -2265
- data/src/cxx_supportlib/ServerKit/http_parser.h +0 -330
- data/src/cxx_supportlib/vendor-modified/boost/array.hpp +0 -456
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +0 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +0 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +0 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +0 -216
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +0 -294
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +0 -406
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +0 -1254
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +0 -498
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_invocable.hpp +0 -154
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +0 -111
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_receiver.hpp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/bulk_sender.hpp +0 -263
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/submit_receiver.hpp +0 -235
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/void_receiver.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +0 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/receiver_invocation_error.ipp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +0 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +0 -287
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +0 -50
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +0 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +0 -318
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +0 -259
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +0 -259
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +0 -492
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +0 -256
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +0 -459
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +0 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +0 -300
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +0 -275
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +0 -300
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_free.hpp +0 -116
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_member.hpp +0 -116
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_free.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_member.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_free.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_member.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_free.hpp +0 -236
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_member.hpp +0 -236
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_free.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_member.hpp +0 -110
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_free.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_member.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +0 -495
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +0 -462
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +0 -581
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +0 -563
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +0 -41
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +0 -147
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_windows.hpp +0 -201
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_windows.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_windows.hpp +0 -57
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_windows.hpp +0 -179
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf2_cc.hpp +0 -228
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +0 -441
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_template.hpp +0 -345
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_cc.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_template.hpp +0 -1047
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_vw.hpp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/bind/storage.hpp +0 -475
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/hash_table.hpp +0 -1278
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple.hpp +0 -133
- data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/function_iterate.hpp +0 -16
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/maybe_include.hpp +0 -369
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/prologue.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/function/gen_function_N.pl +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/abs.hpp +0 -89
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/gcd.hpp +0 -124
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/lcm.hpp +0 -126
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/sign.hpp +0 -89
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/overflow_helpers.hpp +0 -367
- data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/ratio_io.hpp +0 -1342
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/abs.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/arithmetic.hpp +0 -22
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/comparison.hpp +0 -19
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/divides.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/equal_to.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/gcd.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater_equal.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/lcm.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less_equal.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/minus.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/negate.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/not_equal_to.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/numeric_cast.hpp +0 -31
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/plus.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_c_tag.hpp +0 -25
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_constant.hpp +0 -15
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/sign.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/times.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_thread_pause.hpp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/swap.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +0 -278
- data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +0 -297
- data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +0 -265
- data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -58
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +0 -118
- data/src/cxx_supportlib/vendor-modified/boost/typeof/integral_template_param.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/typeof/message.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +0 -121
- data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions.hpp +0 -50
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +0 -135
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_template_param.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +0 -187
- data/src/cxx_supportlib/vendor-modified/boost/typeof/unsupported.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +0 -321
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +0 -471
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +0 -621
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa.hpp +0 -1921
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +0 -64
- /data/dev/{webpacketpp.patch → websocketpp.patch} +0 -0
|
@@ -8,45 +8,33 @@
|
|
|
8
8
|
#endif
|
|
9
9
|
|
|
10
10
|
//
|
|
11
|
-
//
|
|
11
|
+
// bind.hpp - binds function objects to arguments
|
|
12
12
|
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
// Copyright (c) 2005 Peter Dimov
|
|
13
|
+
// Copyright 2001-2005, 2024 Peter Dimov
|
|
14
|
+
// Copyright 2001 David Abrahams
|
|
16
15
|
//
|
|
17
16
|
// Distributed under the Boost Software License, Version 1.0. (See
|
|
18
17
|
// accompanying file LICENSE_1_0.txt or copy at
|
|
19
18
|
// http://www.boost.org/LICENSE_1_0.txt)
|
|
20
19
|
//
|
|
21
|
-
// See http://www.boost.org/libs/bind
|
|
20
|
+
// See http://www.boost.org/libs/bind for documentation.
|
|
22
21
|
//
|
|
23
22
|
|
|
24
|
-
#include <boost/config.hpp>
|
|
25
|
-
#include <boost/ref.hpp>
|
|
26
23
|
#include <boost/bind/mem_fn.hpp>
|
|
27
|
-
#include <boost/type.hpp>
|
|
28
|
-
#include <boost/is_placeholder.hpp>
|
|
29
24
|
#include <boost/bind/arg.hpp>
|
|
30
|
-
#include <boost/bind/detail/result_traits.hpp>
|
|
31
25
|
#include <boost/bind/std_placeholders.hpp>
|
|
32
|
-
#include <boost/detail/
|
|
26
|
+
#include <boost/bind/detail/result_traits.hpp>
|
|
27
|
+
#include <boost/bind/detail/tuple_for_each.hpp>
|
|
28
|
+
#include <boost/bind/detail/integer_sequence.hpp>
|
|
33
29
|
#include <boost/visit_each.hpp>
|
|
34
|
-
#include <boost/
|
|
35
|
-
#include <boost/
|
|
36
|
-
|
|
37
|
-
#
|
|
38
|
-
#include <
|
|
39
|
-
#
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
#if defined(BOOST_BORLANDC)
|
|
44
|
-
# define BOOST_BIND_VISIT_EACH boost::visit_each
|
|
45
|
-
#else
|
|
46
|
-
# define BOOST_BIND_VISIT_EACH visit_each
|
|
47
|
-
#endif
|
|
48
|
-
|
|
49
|
-
#include <boost/bind/storage.hpp>
|
|
30
|
+
#include <boost/is_placeholder.hpp>
|
|
31
|
+
#include <boost/type.hpp>
|
|
32
|
+
#include <boost/core/ref.hpp>
|
|
33
|
+
#include <boost/config.hpp>
|
|
34
|
+
#include <boost/config/workaround.hpp>
|
|
35
|
+
#include <utility>
|
|
36
|
+
#include <type_traits>
|
|
37
|
+
#include <tuple>
|
|
50
38
|
|
|
51
39
|
#ifdef BOOST_MSVC
|
|
52
40
|
# pragma warning(push)
|
|
@@ -63,22 +51,22 @@ namespace _bi // implementation details
|
|
|
63
51
|
|
|
64
52
|
// ref_compare
|
|
65
53
|
|
|
66
|
-
template<class T> bool ref_compare( T const & a, T const & b
|
|
54
|
+
template<class T> bool ref_compare( T const & a, T const & b )
|
|
67
55
|
{
|
|
68
56
|
return a == b;
|
|
69
57
|
}
|
|
70
58
|
|
|
71
|
-
template<int I> bool ref_compare( arg<I> const &, arg<I> const
|
|
59
|
+
template<int I> bool ref_compare( arg<I> const &, arg<I> const & )
|
|
72
60
|
{
|
|
73
61
|
return true;
|
|
74
62
|
}
|
|
75
63
|
|
|
76
|
-
template<int I> bool ref_compare( arg<I> (*) (), arg<I> (*) ()
|
|
64
|
+
template<int I> bool ref_compare( arg<I> (*) (), arg<I> (*) () )
|
|
77
65
|
{
|
|
78
66
|
return true;
|
|
79
67
|
}
|
|
80
68
|
|
|
81
|
-
template<class T> bool ref_compare( reference_wrapper<T> const & a, reference_wrapper<T> const & b
|
|
69
|
+
template<class T> bool ref_compare( reference_wrapper<T> const & a, reference_wrapper<T> const & b )
|
|
82
70
|
{
|
|
83
71
|
return a.get_pointer() == b.get_pointer();
|
|
84
72
|
}
|
|
@@ -87,7 +75,7 @@ template<class T> bool ref_compare( reference_wrapper<T> const & a, reference_wr
|
|
|
87
75
|
|
|
88
76
|
template<class R, class F, class L> class bind_t;
|
|
89
77
|
|
|
90
|
-
template<class R, class F, class L> bool ref_compare( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b
|
|
78
|
+
template<class R, class F, class L> bool ref_compare( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b )
|
|
91
79
|
{
|
|
92
80
|
return a.compare( b );
|
|
93
81
|
}
|
|
@@ -115,7 +103,7 @@ private:
|
|
|
115
103
|
|
|
116
104
|
// ref_compare for weak_ptr
|
|
117
105
|
|
|
118
|
-
template<class T> bool ref_compare( value< weak_ptr<T> > const & a, value< weak_ptr<T> > const & b
|
|
106
|
+
template<class T> bool ref_compare( value< weak_ptr<T> > const & a, value< weak_ptr<T> > const & b )
|
|
119
107
|
{
|
|
120
108
|
return !(a.get() < b.get()) && !(b.get() < a.get());
|
|
121
109
|
}
|
|
@@ -144,1409 +132,235 @@ template<class F> struct unwrapper
|
|
|
144
132
|
}
|
|
145
133
|
};
|
|
146
134
|
|
|
147
|
-
//
|
|
135
|
+
// list
|
|
148
136
|
|
|
149
|
-
class
|
|
137
|
+
template<class V> struct accept_lambda
|
|
150
138
|
{
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
list0() {}
|
|
154
|
-
|
|
155
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
156
|
-
|
|
157
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
158
|
-
|
|
159
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
160
|
-
|
|
161
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
|
162
|
-
|
|
163
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
|
164
|
-
|
|
165
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A &, long)
|
|
166
|
-
{
|
|
167
|
-
return unwrapper<F>::unwrap(f, 0)();
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A &, long) const
|
|
171
|
-
{
|
|
172
|
-
return unwrapper<F const>::unwrap(f, 0)();
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
template<class F, class A> void operator()(type<void>, F & f, A &, int)
|
|
176
|
-
{
|
|
177
|
-
unwrapper<F>::unwrap(f, 0)();
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
template<class F, class A> void operator()(type<void>, F const & f, A &, int) const
|
|
181
|
-
{
|
|
182
|
-
unwrapper<F const>::unwrap(f, 0)();
|
|
183
|
-
}
|
|
139
|
+
V& v_;
|
|
184
140
|
|
|
185
|
-
|
|
186
|
-
{
|
|
187
|
-
}
|
|
141
|
+
explicit accept_lambda( V& v ): v_( v ) {}
|
|
188
142
|
|
|
189
|
-
|
|
143
|
+
template<class A> void operator()( A& a ) const
|
|
190
144
|
{
|
|
191
|
-
|
|
145
|
+
visit_each( v_, a, 0 );
|
|
192
146
|
}
|
|
193
147
|
};
|
|
194
148
|
|
|
195
|
-
|
|
196
|
-
// MSVC is bright enough to realise that the parameter rhs
|
|
197
|
-
// in operator==may be unused for some template argument types:
|
|
198
|
-
#pragma warning(push)
|
|
199
|
-
#pragma warning(disable:4100)
|
|
200
|
-
#endif
|
|
201
|
-
|
|
202
|
-
template< class A1 > class list1: private storage1< A1 >
|
|
149
|
+
struct equal_lambda
|
|
203
150
|
{
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
typedef storage1< A1 > base_type;
|
|
207
|
-
|
|
208
|
-
public:
|
|
209
|
-
|
|
210
|
-
explicit list1( A1 a1 ): base_type( a1 ) {}
|
|
211
|
-
|
|
212
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
213
|
-
|
|
214
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
215
|
-
|
|
216
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
217
|
-
|
|
218
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
219
|
-
|
|
220
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
221
|
-
|
|
222
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
|
223
|
-
|
|
224
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
|
225
|
-
|
|
226
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
227
|
-
{
|
|
228
|
-
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
232
|
-
{
|
|
233
|
-
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_]);
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
237
|
-
{
|
|
238
|
-
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
242
|
-
{
|
|
243
|
-
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_]);
|
|
244
|
-
}
|
|
151
|
+
bool result;
|
|
245
152
|
|
|
246
|
-
|
|
247
|
-
{
|
|
248
|
-
base_type::accept(v);
|
|
249
|
-
}
|
|
153
|
+
equal_lambda(): result( true ) {}
|
|
250
154
|
|
|
251
|
-
|
|
155
|
+
template<class A1, class A2> void operator()( A1& a1, A2& a2 )
|
|
252
156
|
{
|
|
253
|
-
|
|
157
|
+
result = result && ref_compare( a1, a2 );
|
|
254
158
|
}
|
|
255
159
|
};
|
|
256
160
|
|
|
257
161
|
struct logical_and;
|
|
258
162
|
struct logical_or;
|
|
259
163
|
|
|
260
|
-
template<
|
|
261
|
-
{
|
|
262
|
-
private:
|
|
263
|
-
|
|
264
|
-
typedef storage2< A1, A2 > base_type;
|
|
265
|
-
|
|
266
|
-
public:
|
|
267
|
-
|
|
268
|
-
list2( A1 a1, A2 a2 ): base_type( a1, a2 ) {}
|
|
269
|
-
|
|
270
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
271
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
272
|
-
|
|
273
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
274
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
275
|
-
|
|
276
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
277
|
-
|
|
278
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
279
|
-
|
|
280
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
281
|
-
|
|
282
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
|
283
|
-
|
|
284
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
|
285
|
-
|
|
286
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
287
|
-
{
|
|
288
|
-
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
292
|
-
{
|
|
293
|
-
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
297
|
-
{
|
|
298
|
-
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
302
|
-
{
|
|
303
|
-
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
template<class A> bool operator()( type<bool>, logical_and & /*f*/, A & a, int )
|
|
307
|
-
{
|
|
308
|
-
return a[ base_type::a1_ ] && a[ base_type::a2_ ];
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
template<class A> bool operator()( type<bool>, logical_and const & /*f*/, A & a, int ) const
|
|
312
|
-
{
|
|
313
|
-
return a[ base_type::a1_ ] && a[ base_type::a2_ ];
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
template<class A> bool operator()( type<bool>, logical_or & /*f*/, A & a, int )
|
|
317
|
-
{
|
|
318
|
-
return a[ base_type::a1_ ] || a[ base_type::a2_ ];
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
template<class A> bool operator()( type<bool>, logical_or const & /*f*/, A & a, int ) const
|
|
322
|
-
{
|
|
323
|
-
return a[ base_type::a1_ ] || a[ base_type::a2_ ];
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
template<class V> void accept(V & v) const
|
|
327
|
-
{
|
|
328
|
-
base_type::accept(v);
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
bool operator==(list2 const & rhs) const
|
|
332
|
-
{
|
|
333
|
-
return ref_compare(base_type::a1_, rhs.a1_, 0) && ref_compare(base_type::a2_, rhs.a2_, 0);
|
|
334
|
-
}
|
|
335
|
-
};
|
|
336
|
-
|
|
337
|
-
template< class A1, class A2, class A3 > class list3: private storage3< A1, A2, A3 >
|
|
338
|
-
{
|
|
339
|
-
private:
|
|
340
|
-
|
|
341
|
-
typedef storage3< A1, A2, A3 > base_type;
|
|
342
|
-
|
|
343
|
-
public:
|
|
344
|
-
|
|
345
|
-
list3( A1 a1, A2 a2, A3 a3 ): base_type( a1, a2, a3 ) {}
|
|
346
|
-
|
|
347
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
348
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
349
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
350
|
-
|
|
351
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
352
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
353
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
354
|
-
|
|
355
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
356
|
-
|
|
357
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
358
|
-
|
|
359
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
360
|
-
|
|
361
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
|
362
|
-
|
|
363
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
|
364
|
-
|
|
365
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
366
|
-
{
|
|
367
|
-
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
371
|
-
{
|
|
372
|
-
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
376
|
-
{
|
|
377
|
-
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
381
|
-
{
|
|
382
|
-
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
template<class V> void accept(V & v) const
|
|
386
|
-
{
|
|
387
|
-
base_type::accept(v);
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
bool operator==(list3 const & rhs) const
|
|
391
|
-
{
|
|
392
|
-
return
|
|
393
|
-
|
|
394
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
395
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
396
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 );
|
|
397
|
-
}
|
|
398
|
-
};
|
|
399
|
-
|
|
400
|
-
template< class A1, class A2, class A3, class A4 > class list4: private storage4< A1, A2, A3, A4 >
|
|
401
|
-
{
|
|
402
|
-
private:
|
|
403
|
-
|
|
404
|
-
typedef storage4< A1, A2, A3, A4 > base_type;
|
|
405
|
-
|
|
406
|
-
public:
|
|
407
|
-
|
|
408
|
-
list4( A1 a1, A2 a2, A3 a3, A4 a4 ): base_type( a1, a2, a3, a4 ) {}
|
|
409
|
-
|
|
410
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
411
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
412
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
413
|
-
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
|
414
|
-
|
|
415
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
416
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
417
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
418
|
-
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
|
419
|
-
|
|
420
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
421
|
-
|
|
422
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
423
|
-
|
|
424
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
425
|
-
|
|
426
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
|
427
|
-
|
|
428
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
|
429
|
-
|
|
430
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
431
|
-
{
|
|
432
|
-
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
436
|
-
{
|
|
437
|
-
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
441
|
-
{
|
|
442
|
-
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
446
|
-
{
|
|
447
|
-
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
template<class V> void accept(V & v) const
|
|
451
|
-
{
|
|
452
|
-
base_type::accept(v);
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
bool operator==(list4 const & rhs) const
|
|
456
|
-
{
|
|
457
|
-
return
|
|
458
|
-
|
|
459
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
460
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
461
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
|
462
|
-
ref_compare( base_type::a4_, rhs.a4_, 0 );
|
|
463
|
-
}
|
|
464
|
-
};
|
|
465
|
-
|
|
466
|
-
template< class A1, class A2, class A3, class A4, class A5 > class list5: private storage5< A1, A2, A3, A4, A5 >
|
|
467
|
-
{
|
|
468
|
-
private:
|
|
469
|
-
|
|
470
|
-
typedef storage5< A1, A2, A3, A4, A5 > base_type;
|
|
471
|
-
|
|
472
|
-
public:
|
|
473
|
-
|
|
474
|
-
list5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): base_type( a1, a2, a3, a4, a5 ) {}
|
|
475
|
-
|
|
476
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
477
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
478
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
479
|
-
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
|
480
|
-
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
|
481
|
-
|
|
482
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
483
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
484
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
485
|
-
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
|
486
|
-
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
|
487
|
-
|
|
488
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
489
|
-
|
|
490
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
491
|
-
|
|
492
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
493
|
-
|
|
494
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
|
495
|
-
|
|
496
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
|
497
|
-
|
|
498
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
499
|
-
{
|
|
500
|
-
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
504
|
-
{
|
|
505
|
-
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
|
|
506
|
-
}
|
|
507
|
-
|
|
508
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
509
|
-
{
|
|
510
|
-
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
|
|
511
|
-
}
|
|
512
|
-
|
|
513
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
514
|
-
{
|
|
515
|
-
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
template<class V> void accept(V & v) const
|
|
519
|
-
{
|
|
520
|
-
base_type::accept(v);
|
|
521
|
-
}
|
|
522
|
-
|
|
523
|
-
bool operator==(list5 const & rhs) const
|
|
524
|
-
{
|
|
525
|
-
return
|
|
526
|
-
|
|
527
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
528
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
529
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
|
530
|
-
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
|
531
|
-
ref_compare( base_type::a5_, rhs.a5_, 0 );
|
|
532
|
-
}
|
|
533
|
-
};
|
|
534
|
-
|
|
535
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6> class list6: private storage6< A1, A2, A3, A4, A5, A6 >
|
|
164
|
+
template<class... A> class list
|
|
536
165
|
{
|
|
537
166
|
private:
|
|
538
167
|
|
|
539
|
-
typedef
|
|
168
|
+
typedef std::tuple<A...> data_type;
|
|
169
|
+
data_type data_;
|
|
540
170
|
|
|
541
171
|
public:
|
|
542
172
|
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
546
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
547
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
548
|
-
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
|
549
|
-
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
|
550
|
-
A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
|
|
551
|
-
|
|
552
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
553
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
554
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
555
|
-
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
|
556
|
-
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
|
557
|
-
A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
|
|
558
|
-
|
|
559
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
560
|
-
|
|
561
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
562
|
-
|
|
563
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
564
|
-
|
|
565
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
|
566
|
-
|
|
567
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
|
568
|
-
|
|
569
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
570
|
-
{
|
|
571
|
-
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
575
|
-
{
|
|
576
|
-
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
|
|
577
|
-
}
|
|
578
|
-
|
|
579
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
580
|
-
{
|
|
581
|
-
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
|
|
582
|
-
}
|
|
173
|
+
list( A... a ): data_( a... ) {}
|
|
583
174
|
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
175
|
+
#if defined(BOOST_MSVC)
|
|
176
|
+
# pragma warning( push )
|
|
177
|
+
# pragma warning( disable: 4100 ) // unreferenced formal parameter 'a2'
|
|
178
|
+
#endif
|
|
588
179
|
|
|
589
|
-
template<class
|
|
180
|
+
template<class R, class F, class A2, std::size_t... I> R call_impl( type<R>, F & f, A2 & a2, _bi::index_sequence<I...> )
|
|
590
181
|
{
|
|
591
|
-
|
|
182
|
+
return unwrapper<F>::unwrap( f, 0 )( a2[ std::get<I>( data_ ) ]... );
|
|
592
183
|
}
|
|
593
184
|
|
|
594
|
-
|
|
185
|
+
template<class R, class F, class A2, std::size_t... I> R call_impl( type<R>, F & f, A2 & a2, _bi::index_sequence<I...> ) const
|
|
595
186
|
{
|
|
596
|
-
return
|
|
597
|
-
|
|
598
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
599
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
600
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
|
601
|
-
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
|
602
|
-
ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
|
|
603
|
-
ref_compare( base_type::a6_, rhs.a6_, 0 );
|
|
187
|
+
return unwrapper<F>::unwrap( f, 0 )( a2[ std::get<I>( data_ ) ]... );
|
|
604
188
|
}
|
|
605
|
-
};
|
|
606
|
-
|
|
607
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> class list7: private storage7< A1, A2, A3, A4, A5, A6, A7 >
|
|
608
|
-
{
|
|
609
|
-
private:
|
|
610
|
-
|
|
611
|
-
typedef storage7< A1, A2, A3, A4, A5, A6, A7 > base_type;
|
|
612
|
-
|
|
613
|
-
public:
|
|
614
189
|
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
618
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
619
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
620
|
-
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
|
621
|
-
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
|
622
|
-
A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
|
|
623
|
-
A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
|
|
624
|
-
|
|
625
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
626
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
627
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
628
|
-
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
|
629
|
-
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
|
630
|
-
A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
|
|
631
|
-
A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
|
|
632
|
-
|
|
633
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
634
|
-
|
|
635
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
636
|
-
|
|
637
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
638
|
-
|
|
639
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
|
640
|
-
|
|
641
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
|
642
|
-
|
|
643
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
190
|
+
template<class F, class A2, std::size_t... I> void call_impl( type<void>, F & f, A2 & a2, _bi::index_sequence<I...> )
|
|
644
191
|
{
|
|
645
|
-
|
|
192
|
+
unwrapper<F>::unwrap( f, 0 )( a2[ std::get<I>( data_ ) ]... );
|
|
646
193
|
}
|
|
647
194
|
|
|
648
|
-
template<class
|
|
195
|
+
template<class F, class A2, std::size_t... I> void call_impl( type<void>, F & f, A2 & a2, _bi::index_sequence<I...> ) const
|
|
649
196
|
{
|
|
650
|
-
|
|
197
|
+
unwrapper<F>::unwrap( f, 0 )( a2[ std::get<I>( data_ ) ]... );
|
|
651
198
|
}
|
|
652
199
|
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
}
|
|
200
|
+
#if defined(BOOST_MSVC)
|
|
201
|
+
# pragma warning( pop )
|
|
202
|
+
#endif
|
|
657
203
|
|
|
658
|
-
|
|
659
|
-
{
|
|
660
|
-
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);
|
|
661
|
-
}
|
|
204
|
+
//
|
|
662
205
|
|
|
663
|
-
template<class
|
|
206
|
+
template<class R, class F, class A2> R operator()( type<R>, F & f, A2 & a2 )
|
|
664
207
|
{
|
|
665
|
-
|
|
208
|
+
return call_impl( type<R>(), f, a2, _bi::index_sequence_for<A...>() );
|
|
666
209
|
}
|
|
667
210
|
|
|
668
|
-
|
|
211
|
+
template<class R, class F, class A2> R operator()( type<R>, F & f, A2 & a2 ) const
|
|
669
212
|
{
|
|
670
|
-
return
|
|
671
|
-
|
|
672
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
673
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
674
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
|
675
|
-
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
|
676
|
-
ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
|
|
677
|
-
ref_compare( base_type::a6_, rhs.a6_, 0 ) &&
|
|
678
|
-
ref_compare( base_type::a7_, rhs.a7_, 0 );
|
|
213
|
+
return call_impl( type<R>(), f, a2, _bi::index_sequence_for<A...>() );
|
|
679
214
|
}
|
|
680
|
-
};
|
|
681
|
-
|
|
682
|
-
template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class list8: private storage8< A1, A2, A3, A4, A5, A6, A7, A8 >
|
|
683
|
-
{
|
|
684
|
-
private:
|
|
685
|
-
|
|
686
|
-
typedef storage8< A1, A2, A3, A4, A5, A6, A7, A8 > base_type;
|
|
687
|
-
|
|
688
|
-
public:
|
|
689
|
-
|
|
690
|
-
list8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8 ) {}
|
|
691
|
-
|
|
692
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
693
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
694
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
695
|
-
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
|
696
|
-
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
|
697
|
-
A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
|
|
698
|
-
A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
|
|
699
|
-
A8 operator[] (boost::arg<8>) const { return base_type::a8_; }
|
|
700
|
-
|
|
701
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
702
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
703
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
704
|
-
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
|
705
|
-
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
|
706
|
-
A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
|
|
707
|
-
A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
|
|
708
|
-
A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }
|
|
709
|
-
|
|
710
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
711
|
-
|
|
712
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
713
|
-
|
|
714
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
715
|
-
|
|
716
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
|
717
|
-
|
|
718
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
|
719
|
-
|
|
720
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
721
|
-
{
|
|
722
|
-
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
|
|
723
|
-
}
|
|
724
|
-
|
|
725
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
726
|
-
{
|
|
727
|
-
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
|
|
728
|
-
}
|
|
729
|
-
|
|
730
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
731
|
-
{
|
|
732
|
-
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
|
|
733
|
-
}
|
|
734
|
-
|
|
735
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
736
|
-
{
|
|
737
|
-
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
|
|
738
|
-
}
|
|
739
|
-
|
|
740
|
-
template<class V> void accept(V & v) const
|
|
741
|
-
{
|
|
742
|
-
base_type::accept(v);
|
|
743
|
-
}
|
|
744
|
-
|
|
745
|
-
bool operator==(list8 const & rhs) const
|
|
746
|
-
{
|
|
747
|
-
return
|
|
748
|
-
|
|
749
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
750
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
751
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
|
752
|
-
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
|
753
|
-
ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
|
|
754
|
-
ref_compare( base_type::a6_, rhs.a6_, 0 ) &&
|
|
755
|
-
ref_compare( base_type::a7_, rhs.a7_, 0 ) &&
|
|
756
|
-
ref_compare( base_type::a8_, rhs.a8_, 0 );
|
|
757
|
-
}
|
|
758
|
-
};
|
|
759
|
-
|
|
760
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> class list9: private storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 >
|
|
761
|
-
{
|
|
762
|
-
private:
|
|
763
|
-
|
|
764
|
-
typedef storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > base_type;
|
|
765
|
-
|
|
766
|
-
public:
|
|
767
|
-
|
|
768
|
-
list9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8, a9 ) {}
|
|
769
|
-
|
|
770
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
771
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
772
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
773
|
-
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
|
774
|
-
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
|
775
|
-
A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
|
|
776
|
-
A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
|
|
777
|
-
A8 operator[] (boost::arg<8>) const { return base_type::a8_; }
|
|
778
|
-
A9 operator[] (boost::arg<9>) const { return base_type::a9_; }
|
|
779
|
-
|
|
780
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
781
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
782
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
783
|
-
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
|
784
|
-
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
|
785
|
-
A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
|
|
786
|
-
A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
|
|
787
|
-
A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }
|
|
788
|
-
A9 operator[] (boost::arg<9> (*) ()) const { return base_type::a9_; }
|
|
789
|
-
|
|
790
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
791
|
-
|
|
792
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
793
|
-
|
|
794
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
795
|
-
|
|
796
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
|
797
|
-
|
|
798
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
|
799
|
-
|
|
800
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
801
|
-
{
|
|
802
|
-
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
|
|
803
|
-
}
|
|
804
|
-
|
|
805
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
806
|
-
{
|
|
807
|
-
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
|
|
808
|
-
}
|
|
809
|
-
|
|
810
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
811
|
-
{
|
|
812
|
-
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
|
|
813
|
-
}
|
|
814
|
-
|
|
815
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
816
|
-
{
|
|
817
|
-
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
|
|
818
|
-
}
|
|
819
|
-
|
|
820
|
-
template<class V> void accept(V & v) const
|
|
821
|
-
{
|
|
822
|
-
base_type::accept(v);
|
|
823
|
-
}
|
|
824
|
-
|
|
825
|
-
bool operator==(list9 const & rhs) const
|
|
826
|
-
{
|
|
827
|
-
return
|
|
828
|
-
|
|
829
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
830
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
831
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
|
832
|
-
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
|
833
|
-
ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
|
|
834
|
-
ref_compare( base_type::a6_, rhs.a6_, 0 ) &&
|
|
835
|
-
ref_compare( base_type::a7_, rhs.a7_, 0 ) &&
|
|
836
|
-
ref_compare( base_type::a8_, rhs.a8_, 0 ) &&
|
|
837
|
-
ref_compare( base_type::a9_, rhs.a9_, 0 );
|
|
838
|
-
}
|
|
839
|
-
};
|
|
840
|
-
|
|
841
|
-
#ifdef BOOST_MSVC
|
|
842
|
-
#pragma warning(pop)
|
|
843
|
-
#endif
|
|
844
|
-
|
|
845
|
-
// bind_t
|
|
846
|
-
|
|
847
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !(defined(BOOST_GCC) && BOOST_GCC < 40600)
|
|
848
|
-
|
|
849
|
-
template< class A1 > class rrlist1
|
|
850
|
-
{
|
|
851
|
-
private:
|
|
852
|
-
|
|
853
|
-
A1 & a1_; // not A1&& because of msvc-10.0
|
|
854
|
-
|
|
855
|
-
public:
|
|
856
|
-
|
|
857
|
-
explicit rrlist1( A1 & a1 ): a1_( a1 ) {}
|
|
858
|
-
|
|
859
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); } // not static_cast because of g++ 4.9
|
|
860
|
-
|
|
861
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
862
|
-
|
|
863
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
864
|
-
|
|
865
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
866
|
-
|
|
867
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
868
|
-
|
|
869
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
870
|
-
{
|
|
871
|
-
rrlist1<A1&> a( a1_ );
|
|
872
|
-
return b.eval( a );
|
|
873
|
-
}
|
|
874
|
-
|
|
875
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
876
|
-
{
|
|
877
|
-
rrlist1<A1&> a( a1_ );
|
|
878
|
-
return b.eval( a );
|
|
879
|
-
}
|
|
880
|
-
};
|
|
881
|
-
|
|
882
|
-
template< class A1, class A2 > class rrlist2
|
|
883
|
-
{
|
|
884
|
-
private:
|
|
885
|
-
|
|
886
|
-
A1 & a1_;
|
|
887
|
-
A2 & a2_;
|
|
888
|
-
|
|
889
|
-
public:
|
|
890
|
-
|
|
891
|
-
rrlist2( A1 & a1, A2 & a2 ): a1_( a1 ), a2_( a2 ) {}
|
|
892
|
-
|
|
893
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
894
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
895
|
-
|
|
896
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
897
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
898
|
-
|
|
899
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
900
|
-
|
|
901
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
902
|
-
|
|
903
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
904
|
-
|
|
905
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
906
|
-
{
|
|
907
|
-
rrlist2<A1&, A2&> a( a1_, a2_ );
|
|
908
|
-
return b.eval( a );
|
|
909
|
-
}
|
|
910
|
-
|
|
911
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
912
|
-
{
|
|
913
|
-
rrlist2<A1&, A2&> a( a1_, a2_ );
|
|
914
|
-
return b.eval( a );
|
|
915
|
-
}
|
|
916
|
-
};
|
|
917
|
-
|
|
918
|
-
template< class A1, class A2, class A3 > class rrlist3
|
|
919
|
-
{
|
|
920
|
-
private:
|
|
921
|
-
|
|
922
|
-
A1 & a1_;
|
|
923
|
-
A2 & a2_;
|
|
924
|
-
A3 & a3_;
|
|
925
|
-
|
|
926
|
-
public:
|
|
927
|
-
|
|
928
|
-
rrlist3( A1 & a1, A2 & a2, A3 & a3 ): a1_( a1 ), a2_( a2 ), a3_( a3 ) {}
|
|
929
|
-
|
|
930
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
931
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
932
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
933
|
-
|
|
934
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
935
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
936
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
937
|
-
|
|
938
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
939
|
-
|
|
940
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
941
|
-
|
|
942
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
943
|
-
|
|
944
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
945
|
-
{
|
|
946
|
-
rrlist3<A1&, A2&, A3&> a( a1_, a2_, a3_ );
|
|
947
|
-
return b.eval( a );
|
|
948
|
-
}
|
|
949
|
-
|
|
950
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
951
|
-
{
|
|
952
|
-
rrlist3<A1&, A2&, A3&> a( a1_, a2_, a3_ );
|
|
953
|
-
return b.eval( a );
|
|
954
|
-
}
|
|
955
|
-
};
|
|
956
|
-
|
|
957
|
-
template< class A1, class A2, class A3, class A4 > class rrlist4
|
|
958
|
-
{
|
|
959
|
-
private:
|
|
960
|
-
|
|
961
|
-
A1 & a1_;
|
|
962
|
-
A2 & a2_;
|
|
963
|
-
A3 & a3_;
|
|
964
|
-
A4 & a4_;
|
|
965
|
-
|
|
966
|
-
public:
|
|
967
|
-
|
|
968
|
-
rrlist4( A1 & a1, A2 & a2, A3 & a3, A4 & a4 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ) {}
|
|
969
|
-
|
|
970
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
971
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
972
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
973
|
-
A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
|
|
974
|
-
|
|
975
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
976
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
977
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
978
|
-
A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
|
|
979
|
-
|
|
980
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
981
|
-
|
|
982
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
983
|
-
|
|
984
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
985
|
-
|
|
986
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
987
|
-
{
|
|
988
|
-
rrlist4<A1&, A2&, A3&, A4&> a( a1_, a2_, a3_, a4_ );
|
|
989
|
-
return b.eval( a );
|
|
990
|
-
}
|
|
991
|
-
|
|
992
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
993
|
-
{
|
|
994
|
-
rrlist4<A1&, A2&, A3&, A4&> a( a1_, a2_, a3_, a4_ );
|
|
995
|
-
return b.eval( a );
|
|
996
|
-
}
|
|
997
|
-
};
|
|
998
|
-
|
|
999
|
-
template< class A1, class A2, class A3, class A4, class A5 > class rrlist5
|
|
1000
|
-
{
|
|
1001
|
-
private:
|
|
1002
|
-
|
|
1003
|
-
A1 & a1_;
|
|
1004
|
-
A2 & a2_;
|
|
1005
|
-
A3 & a3_;
|
|
1006
|
-
A4 & a4_;
|
|
1007
|
-
A5 & a5_;
|
|
1008
|
-
|
|
1009
|
-
public:
|
|
1010
|
-
|
|
1011
|
-
rrlist5( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ) {}
|
|
1012
|
-
|
|
1013
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
1014
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
1015
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
1016
|
-
A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
|
|
1017
|
-
A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
|
|
1018
|
-
|
|
1019
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
1020
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
1021
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
1022
|
-
A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
|
|
1023
|
-
A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
|
|
1024
|
-
|
|
1025
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
1026
|
-
|
|
1027
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
1028
|
-
|
|
1029
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
1030
|
-
|
|
1031
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
1032
|
-
{
|
|
1033
|
-
rrlist5<A1&, A2&, A3&, A4&, A5&> a( a1_, a2_, a3_, a4_, a5_ );
|
|
1034
|
-
return b.eval( a );
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
1038
|
-
{
|
|
1039
|
-
rrlist5<A1&, A2&, A3&, A4&, A5&> a( a1_, a2_, a3_, a4_, a5_ );
|
|
1040
|
-
return b.eval( a );
|
|
1041
|
-
}
|
|
1042
|
-
};
|
|
1043
|
-
|
|
1044
|
-
template< class A1, class A2, class A3, class A4, class A5, class A6 > class rrlist6
|
|
1045
|
-
{
|
|
1046
|
-
private:
|
|
1047
|
-
|
|
1048
|
-
A1 & a1_;
|
|
1049
|
-
A2 & a2_;
|
|
1050
|
-
A3 & a3_;
|
|
1051
|
-
A4 & a4_;
|
|
1052
|
-
A5 & a5_;
|
|
1053
|
-
A6 & a6_;
|
|
1054
|
-
|
|
1055
|
-
public:
|
|
1056
|
-
|
|
1057
|
-
rrlist6( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ), a6_( a6 ) {}
|
|
1058
|
-
|
|
1059
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
1060
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
1061
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
1062
|
-
A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
|
|
1063
|
-
A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
|
|
1064
|
-
A6 && operator[] (boost::arg<6>) const { return std::forward<A6>( a6_ ); }
|
|
1065
|
-
|
|
1066
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
1067
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
1068
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
1069
|
-
A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
|
|
1070
|
-
A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
|
|
1071
|
-
A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward<A6>( a6_ ); }
|
|
1072
|
-
|
|
1073
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
1074
|
-
|
|
1075
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
1076
|
-
|
|
1077
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
1078
|
-
|
|
1079
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
1080
|
-
{
|
|
1081
|
-
rrlist6<A1&, A2&, A3&, A4&, A5&, A6&> a( a1_, a2_, a3_, a4_, a5_, a6_ );
|
|
1082
|
-
return b.eval( a );
|
|
1083
|
-
}
|
|
1084
|
-
|
|
1085
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
1086
|
-
{
|
|
1087
|
-
rrlist6<A1&, A2&, A3&, A4&, A5&, A6&> a( a1_, a2_, a3_, a4_, a5_, a6_ );
|
|
1088
|
-
return b.eval( a );
|
|
1089
|
-
}
|
|
1090
|
-
};
|
|
1091
|
-
|
|
1092
|
-
template< class A1, class A2, class A3, class A4, class A5, class A6, class A7 > class rrlist7
|
|
1093
|
-
{
|
|
1094
|
-
private:
|
|
1095
|
-
|
|
1096
|
-
A1 & a1_;
|
|
1097
|
-
A2 & a2_;
|
|
1098
|
-
A3 & a3_;
|
|
1099
|
-
A4 & a4_;
|
|
1100
|
-
A5 & a5_;
|
|
1101
|
-
A6 & a6_;
|
|
1102
|
-
A7 & a7_;
|
|
1103
|
-
|
|
1104
|
-
public:
|
|
1105
|
-
|
|
1106
|
-
rrlist7( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ), a6_( a6 ), a7_( a7 ) {}
|
|
1107
|
-
|
|
1108
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
1109
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
1110
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
1111
|
-
A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
|
|
1112
|
-
A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
|
|
1113
|
-
A6 && operator[] (boost::arg<6>) const { return std::forward<A6>( a6_ ); }
|
|
1114
|
-
A7 && operator[] (boost::arg<7>) const { return std::forward<A7>( a7_ ); }
|
|
1115
|
-
|
|
1116
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
1117
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
1118
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
1119
|
-
A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
|
|
1120
|
-
A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
|
|
1121
|
-
A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward<A6>( a6_ ); }
|
|
1122
|
-
A7 && operator[] (boost::arg<7> (*) ()) const { return std::forward<A7>( a7_ ); }
|
|
1123
|
-
|
|
1124
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
1125
|
-
|
|
1126
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
1127
|
-
|
|
1128
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
1129
|
-
|
|
1130
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
1131
|
-
{
|
|
1132
|
-
rrlist7<A1&, A2&, A3&, A4&, A5&, A6&, A7&> a( a1_, a2_, a3_, a4_, a5_, a6_, a7_ );
|
|
1133
|
-
return b.eval( a );
|
|
1134
|
-
}
|
|
1135
|
-
|
|
1136
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
1137
|
-
{
|
|
1138
|
-
rrlist7<A1&, A2&, A3&, A4&, A5&, A6&, A7&> a( a1_, a2_, a3_, a4_, a5_, a6_, a7_ );
|
|
1139
|
-
return b.eval( a );
|
|
1140
|
-
}
|
|
1141
|
-
};
|
|
1142
|
-
|
|
1143
|
-
template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class rrlist8
|
|
1144
|
-
{
|
|
1145
|
-
private:
|
|
1146
|
-
|
|
1147
|
-
A1 & a1_;
|
|
1148
|
-
A2 & a2_;
|
|
1149
|
-
A3 & a3_;
|
|
1150
|
-
A4 & a4_;
|
|
1151
|
-
A5 & a5_;
|
|
1152
|
-
A6 & a6_;
|
|
1153
|
-
A7 & a7_;
|
|
1154
|
-
A8 & a8_;
|
|
1155
|
-
|
|
1156
|
-
public:
|
|
1157
|
-
|
|
1158
|
-
rrlist8( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ), a6_( a6 ), a7_( a7 ), a8_( a8 ) {}
|
|
1159
|
-
|
|
1160
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
1161
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
1162
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
1163
|
-
A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
|
|
1164
|
-
A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
|
|
1165
|
-
A6 && operator[] (boost::arg<6>) const { return std::forward<A6>( a6_ ); }
|
|
1166
|
-
A7 && operator[] (boost::arg<7>) const { return std::forward<A7>( a7_ ); }
|
|
1167
|
-
A8 && operator[] (boost::arg<8>) const { return std::forward<A8>( a8_ ); }
|
|
1168
|
-
|
|
1169
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
1170
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
1171
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
1172
|
-
A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
|
|
1173
|
-
A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
|
|
1174
|
-
A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward<A6>( a6_ ); }
|
|
1175
|
-
A7 && operator[] (boost::arg<7> (*) ()) const { return std::forward<A7>( a7_ ); }
|
|
1176
|
-
A8 && operator[] (boost::arg<8> (*) ()) const { return std::forward<A8>( a8_ ); }
|
|
1177
|
-
|
|
1178
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
1179
|
-
|
|
1180
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
1181
|
-
|
|
1182
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
1183
|
-
|
|
1184
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
1185
|
-
{
|
|
1186
|
-
rrlist8<A1&, A2&, A3&, A4&, A5&, A6&, A7&, A8&> a( a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_ );
|
|
1187
|
-
return b.eval( a );
|
|
1188
|
-
}
|
|
1189
|
-
|
|
1190
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
1191
|
-
{
|
|
1192
|
-
rrlist8<A1&, A2&, A3&, A4&, A5&, A6&, A7&, A8&> a( a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_ );
|
|
1193
|
-
return b.eval( a );
|
|
1194
|
-
}
|
|
1195
|
-
};
|
|
1196
|
-
|
|
1197
|
-
template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 > class rrlist9
|
|
1198
|
-
{
|
|
1199
|
-
private:
|
|
1200
|
-
|
|
1201
|
-
A1 & a1_;
|
|
1202
|
-
A2 & a2_;
|
|
1203
|
-
A3 & a3_;
|
|
1204
|
-
A4 & a4_;
|
|
1205
|
-
A5 & a5_;
|
|
1206
|
-
A6 & a6_;
|
|
1207
|
-
A7 & a7_;
|
|
1208
|
-
A8 & a8_;
|
|
1209
|
-
A9 & a9_;
|
|
1210
|
-
|
|
1211
|
-
public:
|
|
1212
|
-
|
|
1213
|
-
rrlist9( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ), a6_( a6 ), a7_( a7 ), a8_( a8 ), a9_( a9 ) {}
|
|
1214
|
-
|
|
1215
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
1216
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
1217
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
1218
|
-
A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
|
|
1219
|
-
A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
|
|
1220
|
-
A6 && operator[] (boost::arg<6>) const { return std::forward<A6>( a6_ ); }
|
|
1221
|
-
A7 && operator[] (boost::arg<7>) const { return std::forward<A7>( a7_ ); }
|
|
1222
|
-
A8 && operator[] (boost::arg<8>) const { return std::forward<A8>( a8_ ); }
|
|
1223
|
-
A9 && operator[] (boost::arg<9>) const { return std::forward<A9>( a9_ ); }
|
|
1224
|
-
|
|
1225
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
1226
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
1227
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
1228
|
-
A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
|
|
1229
|
-
A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
|
|
1230
|
-
A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward<A6>( a6_ ); }
|
|
1231
|
-
A7 && operator[] (boost::arg<7> (*) ()) const { return std::forward<A7>( a7_ ); }
|
|
1232
|
-
A8 && operator[] (boost::arg<8> (*) ()) const { return std::forward<A8>( a8_ ); }
|
|
1233
|
-
A9 && operator[] (boost::arg<9> (*) ()) const { return std::forward<A9>( a9_ ); }
|
|
1234
|
-
|
|
1235
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
1236
|
-
|
|
1237
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
1238
|
-
|
|
1239
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
1240
|
-
|
|
1241
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
1242
|
-
{
|
|
1243
|
-
rrlist9<A1&, A2&, A3&, A4&, A5&, A6&, A7&, A8&, A9&> a( a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_ );
|
|
1244
|
-
return b.eval( a );
|
|
1245
|
-
}
|
|
1246
|
-
|
|
1247
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
1248
|
-
{
|
|
1249
|
-
rrlist9<A1&, A2&, A3&, A4&, A5&, A6&, A7&, A8&, A9&> a( a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_ );
|
|
1250
|
-
return b.eval( a );
|
|
1251
|
-
}
|
|
1252
|
-
};
|
|
1253
|
-
|
|
1254
|
-
template<class R, class F, class L> class bind_t
|
|
1255
|
-
{
|
|
1256
|
-
private:
|
|
1257
|
-
|
|
1258
|
-
F f_;
|
|
1259
|
-
L l_;
|
|
1260
|
-
|
|
1261
|
-
public:
|
|
1262
|
-
|
|
1263
|
-
typedef typename result_traits<R, F>::type result_type;
|
|
1264
|
-
typedef bind_t this_type;
|
|
1265
|
-
|
|
1266
|
-
bind_t( F f, L const & l ): f_( f ), l_( l ) {}
|
|
1267
215
|
|
|
1268
216
|
//
|
|
1269
217
|
|
|
1270
|
-
|
|
1271
|
-
{
|
|
1272
|
-
list0 a;
|
|
1273
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1274
|
-
}
|
|
1275
|
-
|
|
1276
|
-
result_type operator()() const
|
|
1277
|
-
{
|
|
1278
|
-
list0 a;
|
|
1279
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1280
|
-
}
|
|
1281
|
-
|
|
1282
|
-
template<class A1> result_type operator()( A1 && a1 )
|
|
1283
|
-
{
|
|
1284
|
-
rrlist1< A1 > a( a1 );
|
|
1285
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1286
|
-
}
|
|
1287
|
-
|
|
1288
|
-
template<class A1> result_type operator()( A1 && a1 ) const
|
|
1289
|
-
{
|
|
1290
|
-
rrlist1< A1 > a( a1 );
|
|
1291
|
-
return l_(type<result_type>(), f_, a, 0);
|
|
1292
|
-
}
|
|
1293
|
-
|
|
1294
|
-
template<class A1, class A2> result_type operator()( A1 && a1, A2 && a2 )
|
|
1295
|
-
{
|
|
1296
|
-
rrlist2< A1, A2 > a( a1, a2 );
|
|
1297
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1298
|
-
}
|
|
1299
|
-
|
|
1300
|
-
template<class A1, class A2> result_type operator()( A1 && a1, A2 && a2 ) const
|
|
1301
|
-
{
|
|
1302
|
-
rrlist2< A1, A2 > a( a1, a2 );
|
|
1303
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1304
|
-
}
|
|
1305
|
-
|
|
1306
|
-
template<class A1, class A2, class A3> result_type operator()( A1 && a1, A2 && a2, A3 && a3 )
|
|
1307
|
-
{
|
|
1308
|
-
rrlist3< A1, A2, A3 > a( a1, a2, a3 );
|
|
1309
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1310
|
-
}
|
|
1311
|
-
|
|
1312
|
-
template<class A1, class A2, class A3> result_type operator()( A1 && a1, A2 && a2, A3 && a3 ) const
|
|
1313
|
-
{
|
|
1314
|
-
rrlist3< A1, A2, A3 > a( a1, a2, a3 );
|
|
1315
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1316
|
-
}
|
|
1317
|
-
|
|
1318
|
-
template<class A1, class A2, class A3, class A4> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4 )
|
|
1319
|
-
{
|
|
1320
|
-
rrlist4< A1, A2, A3, A4 > a( a1, a2, a3, a4 );
|
|
1321
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1322
|
-
}
|
|
1323
|
-
|
|
1324
|
-
template<class A1, class A2, class A3, class A4> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4 ) const
|
|
1325
|
-
{
|
|
1326
|
-
rrlist4< A1, A2, A3, A4 > a( a1, a2, a3, a4 );
|
|
1327
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1328
|
-
}
|
|
1329
|
-
|
|
1330
|
-
template<class A1, class A2, class A3, class A4, class A5> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5 )
|
|
1331
|
-
{
|
|
1332
|
-
rrlist5< A1, A2, A3, A4, A5 > a( a1, a2, a3, a4, a5 );
|
|
1333
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1334
|
-
}
|
|
1335
|
-
|
|
1336
|
-
template<class A1, class A2, class A3, class A4, class A5> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5 ) const
|
|
1337
|
-
{
|
|
1338
|
-
rrlist5< A1, A2, A3, A4, A5 > a( a1, a2, a3, a4, a5 );
|
|
1339
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1340
|
-
}
|
|
1341
|
-
|
|
1342
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6 )
|
|
1343
|
-
{
|
|
1344
|
-
rrlist6< A1, A2, A3, A4, A5, A6 > a( a1, a2, a3, a4, a5, a6 );
|
|
1345
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1346
|
-
}
|
|
1347
|
-
|
|
1348
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6 ) const
|
|
1349
|
-
{
|
|
1350
|
-
rrlist6< A1, A2, A3, A4, A5, A6 > a( a1, a2, a3, a4, a5, a6 );
|
|
1351
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1352
|
-
}
|
|
1353
|
-
|
|
1354
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7 )
|
|
1355
|
-
{
|
|
1356
|
-
rrlist7< A1, A2, A3, A4, A5, A6, A7 > a( a1, a2, a3, a4, a5, a6, a7 );
|
|
1357
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1358
|
-
}
|
|
1359
|
-
|
|
1360
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7 ) const
|
|
1361
|
-
{
|
|
1362
|
-
rrlist7< A1, A2, A3, A4, A5, A6, A7 > a( a1, a2, a3, a4, a5, a6, a7 );
|
|
1363
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1364
|
-
}
|
|
1365
|
-
|
|
1366
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8 )
|
|
1367
|
-
{
|
|
1368
|
-
rrlist8< A1, A2, A3, A4, A5, A6, A7, A8 > a( a1, a2, a3, a4, a5, a6, a7, a8 );
|
|
1369
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1370
|
-
}
|
|
1371
|
-
|
|
1372
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8 ) const
|
|
1373
|
-
{
|
|
1374
|
-
rrlist8< A1, A2, A3, A4, A5, A6, A7, A8 > a( a1, a2, a3, a4, a5, a6, a7, a8 );
|
|
1375
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1376
|
-
}
|
|
1377
|
-
|
|
1378
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8, A9 && a9 )
|
|
218
|
+
template<class A2> bool operator()( type<bool>, logical_and & /*f*/, A2 & a2 )
|
|
1379
219
|
{
|
|
1380
|
-
|
|
1381
|
-
return
|
|
220
|
+
static_assert( sizeof...(A) == 2, "operator&& must have two arguments" );
|
|
221
|
+
return a2[ std::get<0>( data_ ) ] && a2[ std::get<1>( data_ ) ];
|
|
1382
222
|
}
|
|
1383
223
|
|
|
1384
|
-
template<class
|
|
224
|
+
template<class A2> bool operator()( type<bool>, logical_and const & /*f*/, A2 & a2 ) const
|
|
1385
225
|
{
|
|
1386
|
-
|
|
1387
|
-
return
|
|
226
|
+
static_assert( sizeof...(A) == 2, "operator&& must have two arguments" );
|
|
227
|
+
return a2[ std::get<0>( data_ ) ] && a2[ std::get<1>( data_ ) ];
|
|
1388
228
|
}
|
|
1389
229
|
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
template<class A> result_type eval( A & a )
|
|
230
|
+
template<class A2> bool operator()( type<bool>, logical_or & /*f*/, A2 & a2 )
|
|
1393
231
|
{
|
|
1394
|
-
|
|
232
|
+
static_assert( sizeof...(A) == 2, "operator|| must have two arguments" );
|
|
233
|
+
return a2[ std::get<0>( data_ ) ] || a2[ std::get<1>( data_ ) ];
|
|
1395
234
|
}
|
|
1396
235
|
|
|
1397
|
-
template<class
|
|
236
|
+
template<class A2> bool operator()( type<bool>, logical_or const & /*f*/, A2 & a2 ) const
|
|
1398
237
|
{
|
|
1399
|
-
|
|
238
|
+
static_assert( sizeof...(A) == 2, "operator|| must have two arguments" );
|
|
239
|
+
return a2[ std::get<0>( data_ ) ] || a2[ std::get<1>( data_ ) ];
|
|
1400
240
|
}
|
|
1401
241
|
|
|
242
|
+
//
|
|
243
|
+
|
|
1402
244
|
template<class V> void accept( V & v ) const
|
|
1403
245
|
{
|
|
1404
|
-
|
|
1405
|
-
using boost::visit_each;
|
|
1406
|
-
#endif
|
|
1407
|
-
|
|
1408
|
-
BOOST_BIND_VISIT_EACH( v, f_, 0 );
|
|
1409
|
-
l_.accept( v );
|
|
246
|
+
_bi::tuple_for_each( accept_lambda<V>( v ), data_ );
|
|
1410
247
|
}
|
|
1411
248
|
|
|
1412
|
-
bool
|
|
249
|
+
bool operator==( list const & rhs ) const
|
|
1413
250
|
{
|
|
1414
|
-
return
|
|
251
|
+
return _bi::tuple_for_each( equal_lambda(), data_, rhs.data_ ).result;
|
|
1415
252
|
}
|
|
1416
253
|
};
|
|
1417
254
|
|
|
1418
|
-
|
|
255
|
+
// bind_t
|
|
1419
256
|
|
|
1420
|
-
template<class
|
|
257
|
+
template<class... A> class rrlist
|
|
1421
258
|
{
|
|
1422
|
-
|
|
259
|
+
private:
|
|
1423
260
|
|
|
1424
|
-
|
|
261
|
+
using args_type = std::tuple<A...>;
|
|
1425
262
|
|
|
1426
|
-
|
|
263
|
+
using data_type = std::tuple<A&...>;
|
|
264
|
+
data_type data_;
|
|
1427
265
|
|
|
1428
|
-
|
|
1429
|
-
#include <boost/bind/bind_template.hpp>
|
|
1430
|
-
#undef BOOST_BIND_RETURN
|
|
266
|
+
template<class...> friend class rrlist;
|
|
1431
267
|
|
|
1432
|
-
|
|
268
|
+
public:
|
|
1433
269
|
|
|
1434
|
-
|
|
270
|
+
explicit rrlist( A&... a ): data_( a... ) {}
|
|
271
|
+
template<class... B> explicit rrlist( rrlist<B...> const& r ): data_( r.data_ ) {}
|
|
1435
272
|
|
|
1436
|
-
template<
|
|
1437
|
-
{
|
|
273
|
+
template<int I> typename std::tuple_element<I-1, args_type>::type&& operator[] ( boost::arg<I> ) const
|
|
274
|
+
{
|
|
275
|
+
return std::forward<typename std::tuple_element<I-1, args_type>::type>( std::get<I-1>( data_ ) );
|
|
276
|
+
}
|
|
1438
277
|
|
|
1439
|
-
template<
|
|
1440
|
-
{
|
|
1441
|
-
|
|
278
|
+
template<int I> typename std::tuple_element<I-1, args_type>::type&& operator[] ( boost::arg<I>(*)() ) const
|
|
279
|
+
{
|
|
280
|
+
return std::forward<typename std::tuple_element<I-1, args_type>::type>( std::get<I-1>( data_ ) );
|
|
281
|
+
}
|
|
1442
282
|
|
|
1443
|
-
|
|
283
|
+
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
1444
284
|
|
|
1445
|
-
|
|
285
|
+
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
1446
286
|
|
|
1447
|
-
|
|
1448
|
-
#include <boost/bind/bind_template.hpp>
|
|
1449
|
-
#undef BOOST_BIND_RETURN
|
|
287
|
+
template<class T> T & operator[] ( reference_wrapper<T> const & v ) const { return v.get(); }
|
|
1450
288
|
|
|
1451
|
-
|
|
289
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] ( bind_t<R, F, L> & b ) const
|
|
290
|
+
{
|
|
291
|
+
rrlist<A&...> a2( *this );
|
|
292
|
+
return b.eval( a2 );
|
|
293
|
+
}
|
|
1452
294
|
|
|
295
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] ( bind_t<R, F, L> const & b ) const
|
|
296
|
+
{
|
|
297
|
+
rrlist<A&...> a2( *this );
|
|
298
|
+
return b.eval( a2 );
|
|
299
|
+
}
|
|
1453
300
|
};
|
|
1454
301
|
|
|
1455
|
-
template
|
|
1456
|
-
{
|
|
1457
|
-
|
|
1458
|
-
template<class F, class L> class implementation
|
|
302
|
+
template<class R, class F, class L> class bind_t
|
|
1459
303
|
{
|
|
1460
304
|
private:
|
|
1461
305
|
|
|
1462
|
-
|
|
306
|
+
F f_;
|
|
307
|
+
L l_;
|
|
1463
308
|
|
|
1464
309
|
public:
|
|
1465
310
|
|
|
1466
|
-
typedef
|
|
1467
|
-
|
|
1468
|
-
implementation(F f, L const & l): f_(f), l_(l) {}
|
|
1469
|
-
|
|
1470
|
-
#define BOOST_BIND_RETURN
|
|
1471
|
-
#include <boost/bind/bind_template.hpp>
|
|
1472
|
-
#undef BOOST_BIND_RETURN
|
|
311
|
+
typedef typename result_traits<R, F>::type result_type;
|
|
312
|
+
typedef bind_t this_type;
|
|
1473
313
|
|
|
1474
|
-
}
|
|
314
|
+
bind_t( F f, L const & l ): f_( std::move(f) ), l_( l ) {}
|
|
1475
315
|
|
|
1476
|
-
|
|
316
|
+
//
|
|
1477
317
|
|
|
1478
|
-
template<class
|
|
1479
|
-
{
|
|
1480
|
-
|
|
318
|
+
template<class... A> result_type operator()( A&&... a )
|
|
319
|
+
{
|
|
320
|
+
rrlist<A...> a2( a... );
|
|
321
|
+
return l_( type<result_type>(), f_, a2 );
|
|
322
|
+
}
|
|
1481
323
|
|
|
1482
|
-
|
|
324
|
+
template<class... A> result_type operator()( A&&... a ) const
|
|
325
|
+
{
|
|
326
|
+
rrlist<A...> a2( a... );
|
|
327
|
+
return l_( type<result_type>(), f_, a2 );
|
|
328
|
+
}
|
|
1483
329
|
|
|
1484
|
-
|
|
330
|
+
//
|
|
1485
331
|
|
|
1486
|
-
|
|
332
|
+
template<class A> result_type eval( A & a )
|
|
333
|
+
{
|
|
334
|
+
return l_( type<result_type>(), f_, a );
|
|
335
|
+
}
|
|
1487
336
|
|
|
1488
|
-
|
|
337
|
+
template<class A> result_type eval( A & a ) const
|
|
338
|
+
{
|
|
339
|
+
return l_( type<result_type>(), f_, a );
|
|
340
|
+
}
|
|
1489
341
|
|
|
1490
|
-
|
|
342
|
+
template<class V> void accept( V & v ) const
|
|
343
|
+
{
|
|
344
|
+
using boost::visit_each;
|
|
345
|
+
visit_each( v, f_, 0 );
|
|
346
|
+
l_.accept( v );
|
|
347
|
+
}
|
|
1491
348
|
|
|
1492
|
-
|
|
349
|
+
bool compare( this_type const & rhs ) const
|
|
350
|
+
{
|
|
351
|
+
return ref_compare( f_, rhs.f_ ) && l_ == rhs.l_;
|
|
352
|
+
}
|
|
353
|
+
};
|
|
1493
354
|
|
|
1494
|
-
|
|
355
|
+
// function_equal
|
|
1495
356
|
|
|
1496
357
|
template<class R, class F, class L> bool function_equal( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b )
|
|
1497
358
|
{
|
|
1498
359
|
return a.compare(b);
|
|
1499
360
|
}
|
|
1500
361
|
|
|
1501
|
-
# else
|
|
1502
|
-
|
|
1503
|
-
template<class R, class F, class L> bool function_equal_impl( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b, int )
|
|
1504
|
-
{
|
|
1505
|
-
return a.compare(b);
|
|
1506
|
-
}
|
|
1507
|
-
|
|
1508
|
-
# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
|
1509
|
-
|
|
1510
|
-
#else // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
|
1511
|
-
|
|
1512
|
-
// put overloads in boost
|
|
1513
|
-
|
|
1514
|
-
} // namespace _bi
|
|
1515
|
-
|
|
1516
|
-
# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
|
1517
|
-
|
|
1518
|
-
template<class R, class F, class L> bool function_equal( _bi::bind_t<R, F, L> const & a, _bi::bind_t<R, F, L> const & b )
|
|
1519
|
-
{
|
|
1520
|
-
return a.compare(b);
|
|
1521
|
-
}
|
|
1522
|
-
|
|
1523
|
-
# else
|
|
1524
|
-
|
|
1525
|
-
template<class R, class F, class L> bool function_equal_impl( _bi::bind_t<R, F, L> const & a, _bi::bind_t<R, F, L> const & b, int )
|
|
1526
|
-
{
|
|
1527
|
-
return a.compare(b);
|
|
1528
|
-
}
|
|
1529
|
-
|
|
1530
|
-
# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
|
1531
|
-
|
|
1532
|
-
namespace _bi
|
|
1533
|
-
{
|
|
1534
|
-
|
|
1535
|
-
#endif // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
|
1536
|
-
|
|
1537
362
|
// add_value
|
|
1538
363
|
|
|
1539
|
-
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || (__SUNPRO_CC >= 0x530)
|
|
1540
|
-
|
|
1541
|
-
#if defined( BOOST_BORLANDC ) && BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x582) )
|
|
1542
|
-
|
|
1543
|
-
template<class T> struct add_value
|
|
1544
|
-
{
|
|
1545
|
-
typedef _bi::value<T> type;
|
|
1546
|
-
};
|
|
1547
|
-
|
|
1548
|
-
#else
|
|
1549
|
-
|
|
1550
364
|
template< class T, int I > struct add_value_2
|
|
1551
365
|
{
|
|
1552
366
|
typedef boost::arg<I> type;
|
|
@@ -1562,8 +376,6 @@ template<class T> struct add_value
|
|
|
1562
376
|
typedef typename add_value_2< T, boost::is_placeholder< T >::value >::type type;
|
|
1563
377
|
};
|
|
1564
378
|
|
|
1565
|
-
#endif
|
|
1566
|
-
|
|
1567
379
|
template<class T> struct add_value< value<T> >
|
|
1568
380
|
{
|
|
1569
381
|
typedef _bi::value<T> type;
|
|
@@ -1589,135 +401,11 @@ template<class R, class F, class L> struct add_value< bind_t<R, F, L> >
|
|
|
1589
401
|
typedef bind_t<R, F, L> type;
|
|
1590
402
|
};
|
|
1591
403
|
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
template<int I> struct _avt_0;
|
|
1595
|
-
|
|
1596
|
-
template<> struct _avt_0<1>
|
|
1597
|
-
{
|
|
1598
|
-
template<class T> struct inner
|
|
1599
|
-
{
|
|
1600
|
-
typedef T type;
|
|
1601
|
-
};
|
|
1602
|
-
};
|
|
1603
|
-
|
|
1604
|
-
template<> struct _avt_0<2>
|
|
1605
|
-
{
|
|
1606
|
-
template<class T> struct inner
|
|
1607
|
-
{
|
|
1608
|
-
typedef value<T> type;
|
|
1609
|
-
};
|
|
1610
|
-
};
|
|
1611
|
-
|
|
1612
|
-
typedef char (&_avt_r1) [1];
|
|
1613
|
-
typedef char (&_avt_r2) [2];
|
|
1614
|
-
|
|
1615
|
-
template<class T> _avt_r1 _avt_f(value<T>);
|
|
1616
|
-
template<class T> _avt_r1 _avt_f(reference_wrapper<T>);
|
|
1617
|
-
template<int I> _avt_r1 _avt_f(arg<I>);
|
|
1618
|
-
template<int I> _avt_r1 _avt_f(arg<I> (*) ());
|
|
1619
|
-
template<class R, class F, class L> _avt_r1 _avt_f(bind_t<R, F, L>);
|
|
1620
|
-
|
|
1621
|
-
_avt_r2 _avt_f(...);
|
|
1622
|
-
|
|
1623
|
-
template<class T> struct add_value
|
|
1624
|
-
{
|
|
1625
|
-
static T t();
|
|
1626
|
-
typedef typename _avt_0<sizeof(_avt_f(t()))>::template inner<T>::type type;
|
|
1627
|
-
};
|
|
1628
|
-
|
|
1629
|
-
#endif
|
|
1630
|
-
|
|
1631
|
-
// list_av_N
|
|
1632
|
-
|
|
1633
|
-
template<class A1> struct list_av_1
|
|
1634
|
-
{
|
|
1635
|
-
typedef typename add_value<A1>::type B1;
|
|
1636
|
-
typedef list1<B1> type;
|
|
1637
|
-
};
|
|
1638
|
-
|
|
1639
|
-
template<class A1, class A2> struct list_av_2
|
|
1640
|
-
{
|
|
1641
|
-
typedef typename add_value<A1>::type B1;
|
|
1642
|
-
typedef typename add_value<A2>::type B2;
|
|
1643
|
-
typedef list2<B1, B2> type;
|
|
1644
|
-
};
|
|
1645
|
-
|
|
1646
|
-
template<class A1, class A2, class A3> struct list_av_3
|
|
1647
|
-
{
|
|
1648
|
-
typedef typename add_value<A1>::type B1;
|
|
1649
|
-
typedef typename add_value<A2>::type B2;
|
|
1650
|
-
typedef typename add_value<A3>::type B3;
|
|
1651
|
-
typedef list3<B1, B2, B3> type;
|
|
1652
|
-
};
|
|
1653
|
-
|
|
1654
|
-
template<class A1, class A2, class A3, class A4> struct list_av_4
|
|
1655
|
-
{
|
|
1656
|
-
typedef typename add_value<A1>::type B1;
|
|
1657
|
-
typedef typename add_value<A2>::type B2;
|
|
1658
|
-
typedef typename add_value<A3>::type B3;
|
|
1659
|
-
typedef typename add_value<A4>::type B4;
|
|
1660
|
-
typedef list4<B1, B2, B3, B4> type;
|
|
1661
|
-
};
|
|
1662
|
-
|
|
1663
|
-
template<class A1, class A2, class A3, class A4, class A5> struct list_av_5
|
|
1664
|
-
{
|
|
1665
|
-
typedef typename add_value<A1>::type B1;
|
|
1666
|
-
typedef typename add_value<A2>::type B2;
|
|
1667
|
-
typedef typename add_value<A3>::type B3;
|
|
1668
|
-
typedef typename add_value<A4>::type B4;
|
|
1669
|
-
typedef typename add_value<A5>::type B5;
|
|
1670
|
-
typedef list5<B1, B2, B3, B4, B5> type;
|
|
1671
|
-
};
|
|
1672
|
-
|
|
1673
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6> struct list_av_6
|
|
1674
|
-
{
|
|
1675
|
-
typedef typename add_value<A1>::type B1;
|
|
1676
|
-
typedef typename add_value<A2>::type B2;
|
|
1677
|
-
typedef typename add_value<A3>::type B3;
|
|
1678
|
-
typedef typename add_value<A4>::type B4;
|
|
1679
|
-
typedef typename add_value<A5>::type B5;
|
|
1680
|
-
typedef typename add_value<A6>::type B6;
|
|
1681
|
-
typedef list6<B1, B2, B3, B4, B5, B6> type;
|
|
1682
|
-
};
|
|
1683
|
-
|
|
1684
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct list_av_7
|
|
1685
|
-
{
|
|
1686
|
-
typedef typename add_value<A1>::type B1;
|
|
1687
|
-
typedef typename add_value<A2>::type B2;
|
|
1688
|
-
typedef typename add_value<A3>::type B3;
|
|
1689
|
-
typedef typename add_value<A4>::type B4;
|
|
1690
|
-
typedef typename add_value<A5>::type B5;
|
|
1691
|
-
typedef typename add_value<A6>::type B6;
|
|
1692
|
-
typedef typename add_value<A7>::type B7;
|
|
1693
|
-
typedef list7<B1, B2, B3, B4, B5, B6, B7> type;
|
|
1694
|
-
};
|
|
1695
|
-
|
|
1696
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct list_av_8
|
|
1697
|
-
{
|
|
1698
|
-
typedef typename add_value<A1>::type B1;
|
|
1699
|
-
typedef typename add_value<A2>::type B2;
|
|
1700
|
-
typedef typename add_value<A3>::type B3;
|
|
1701
|
-
typedef typename add_value<A4>::type B4;
|
|
1702
|
-
typedef typename add_value<A5>::type B5;
|
|
1703
|
-
typedef typename add_value<A6>::type B6;
|
|
1704
|
-
typedef typename add_value<A7>::type B7;
|
|
1705
|
-
typedef typename add_value<A8>::type B8;
|
|
1706
|
-
typedef list8<B1, B2, B3, B4, B5, B6, B7, B8> type;
|
|
1707
|
-
};
|
|
404
|
+
// list_av
|
|
1708
405
|
|
|
1709
|
-
template<class
|
|
406
|
+
template<class... A> struct list_av
|
|
1710
407
|
{
|
|
1711
|
-
typedef typename add_value<
|
|
1712
|
-
typedef typename add_value<A2>::type B2;
|
|
1713
|
-
typedef typename add_value<A3>::type B3;
|
|
1714
|
-
typedef typename add_value<A4>::type B4;
|
|
1715
|
-
typedef typename add_value<A5>::type B5;
|
|
1716
|
-
typedef typename add_value<A6>::type B6;
|
|
1717
|
-
typedef typename add_value<A7>::type B7;
|
|
1718
|
-
typedef typename add_value<A8>::type B8;
|
|
1719
|
-
typedef typename add_value<A9>::type B9;
|
|
1720
|
-
typedef list9<B1, B2, B3, B4, B5, B6, B7, B8, B9> type;
|
|
408
|
+
typedef list< typename add_value<A>::type... > type;
|
|
1721
409
|
};
|
|
1722
410
|
|
|
1723
411
|
// operator!
|
|
@@ -1728,10 +416,10 @@ struct logical_not
|
|
|
1728
416
|
};
|
|
1729
417
|
|
|
1730
418
|
template<class R, class F, class L>
|
|
1731
|
-
bind_t< bool, logical_not,
|
|
419
|
+
bind_t< bool, logical_not, list< bind_t<R, F, L> > >
|
|
1732
420
|
operator! (bind_t<R, F, L> const & f)
|
|
1733
421
|
{
|
|
1734
|
-
typedef
|
|
422
|
+
typedef list< bind_t<R, F, L> > list_type;
|
|
1735
423
|
return bind_t<bool, logical_not, list_type> ( logical_not(), list_type(f) );
|
|
1736
424
|
}
|
|
1737
425
|
|
|
@@ -1745,11 +433,11 @@ struct name \
|
|
|
1745
433
|
}; \
|
|
1746
434
|
\
|
|
1747
435
|
template<class R, class F, class L, class A2> \
|
|
1748
|
-
bind_t< bool, name,
|
|
436
|
+
bind_t< bool, name, list< bind_t<R, F, L>, typename add_value<A2>::type > > \
|
|
1749
437
|
operator op (bind_t<R, F, L> const & f, A2 a2) \
|
|
1750
438
|
{ \
|
|
1751
439
|
typedef typename add_value<A2>::type B2; \
|
|
1752
|
-
typedef
|
|
440
|
+
typedef list< bind_t<R, F, L>, B2> list_type; \
|
|
1753
441
|
return bind_t<bool, name, list_type> ( name(), list_type(f, a2) ); \
|
|
1754
442
|
}
|
|
1755
443
|
|
|
@@ -1767,36 +455,12 @@ BOOST_BIND_OPERATOR( ||, logical_or )
|
|
|
1767
455
|
|
|
1768
456
|
#undef BOOST_BIND_OPERATOR
|
|
1769
457
|
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
// resolve ambiguity with rel_ops
|
|
1773
|
-
|
|
1774
|
-
#define BOOST_BIND_OPERATOR( op, name ) \
|
|
1775
|
-
\
|
|
1776
|
-
template<class R, class F, class L> \
|
|
1777
|
-
bind_t< bool, name, list2< bind_t<R, F, L>, bind_t<R, F, L> > > \
|
|
1778
|
-
operator op (bind_t<R, F, L> const & f, bind_t<R, F, L> const & g) \
|
|
1779
|
-
{ \
|
|
1780
|
-
typedef list2< bind_t<R, F, L>, bind_t<R, F, L> > list_type; \
|
|
1781
|
-
return bind_t<bool, name, list_type> ( name(), list_type(f, g) ); \
|
|
1782
|
-
}
|
|
1783
|
-
|
|
1784
|
-
BOOST_BIND_OPERATOR( !=, not_equal )
|
|
1785
|
-
BOOST_BIND_OPERATOR( <=, less_equal )
|
|
1786
|
-
BOOST_BIND_OPERATOR( >, greater )
|
|
1787
|
-
BOOST_BIND_OPERATOR( >=, greater_equal )
|
|
1788
|
-
|
|
1789
|
-
#endif
|
|
1790
|
-
|
|
1791
|
-
// visit_each, ADL
|
|
1792
|
-
|
|
1793
|
-
#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( BOOST_BORLANDC ) \
|
|
1794
|
-
&& !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
|
|
458
|
+
// visit_each
|
|
1795
459
|
|
|
1796
460
|
template<class V, class T> void visit_each( V & v, value<T> const & t, int )
|
|
1797
461
|
{
|
|
1798
462
|
using boost::visit_each;
|
|
1799
|
-
|
|
463
|
+
visit_each( v, t.get(), 0 );
|
|
1800
464
|
}
|
|
1801
465
|
|
|
1802
466
|
template<class V, class R, class F, class L> void visit_each( V & v, bind_t<R, F, L> const & t, int )
|
|
@@ -1804,27 +468,8 @@ template<class V, class R, class F, class L> void visit_each( V & v, bind_t<R, F
|
|
|
1804
468
|
t.accept( v );
|
|
1805
469
|
}
|
|
1806
470
|
|
|
1807
|
-
#endif
|
|
1808
|
-
|
|
1809
471
|
} // namespace _bi
|
|
1810
472
|
|
|
1811
|
-
// visit_each, no ADL
|
|
1812
|
-
|
|
1813
|
-
#if defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( BOOST_BORLANDC ) \
|
|
1814
|
-
|| (defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
|
|
1815
|
-
|
|
1816
|
-
template<class V, class T> void visit_each( V & v, _bi::value<T> const & t, int )
|
|
1817
|
-
{
|
|
1818
|
-
BOOST_BIND_VISIT_EACH( v, t.get(), 0 );
|
|
1819
|
-
}
|
|
1820
|
-
|
|
1821
|
-
template<class V, class R, class F, class L> void visit_each( V & v, _bi::bind_t<R, F, L> const & t, int )
|
|
1822
|
-
{
|
|
1823
|
-
t.accept( v );
|
|
1824
|
-
}
|
|
1825
|
-
|
|
1826
|
-
#endif
|
|
1827
|
-
|
|
1828
473
|
// is_bind_expression
|
|
1829
474
|
|
|
1830
475
|
template< class T > struct is_bind_expression
|
|
@@ -1832,15 +477,11 @@ template< class T > struct is_bind_expression
|
|
|
1832
477
|
enum _vt { value = 0 };
|
|
1833
478
|
};
|
|
1834
479
|
|
|
1835
|
-
#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
|
|
1836
|
-
|
|
1837
480
|
template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R, F, L > >
|
|
1838
481
|
{
|
|
1839
482
|
enum _vt { value = 1 };
|
|
1840
483
|
};
|
|
1841
484
|
|
|
1842
|
-
#endif
|
|
1843
|
-
|
|
1844
485
|
// bind
|
|
1845
486
|
|
|
1846
487
|
#ifndef BOOST_BIND
|
|
@@ -1849,266 +490,135 @@ template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R,
|
|
|
1849
490
|
|
|
1850
491
|
// generic function objects
|
|
1851
492
|
|
|
1852
|
-
|
|
1853
|
-
_bi::bind_t<R, F, _bi::list0>
|
|
1854
|
-
BOOST_BIND(F f)
|
|
1855
|
-
{
|
|
1856
|
-
typedef _bi::list0 list_type;
|
|
1857
|
-
return _bi::bind_t<R, F, list_type> (f, list_type());
|
|
1858
|
-
}
|
|
1859
|
-
|
|
1860
|
-
template<class R, class F, class A1>
|
|
1861
|
-
_bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>
|
|
1862
|
-
BOOST_BIND(F f, A1 a1)
|
|
1863
|
-
{
|
|
1864
|
-
typedef typename _bi::list_av_1<A1>::type list_type;
|
|
1865
|
-
return _bi::bind_t<R, F, list_type> (f, list_type(a1));
|
|
1866
|
-
}
|
|
1867
|
-
|
|
1868
|
-
template<class R, class F, class A1, class A2>
|
|
1869
|
-
_bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>
|
|
1870
|
-
BOOST_BIND(F f, A1 a1, A2 a2)
|
|
1871
|
-
{
|
|
1872
|
-
typedef typename _bi::list_av_2<A1, A2>::type list_type;
|
|
1873
|
-
return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
|
|
1874
|
-
}
|
|
1875
|
-
|
|
1876
|
-
template<class R, class F, class A1, class A2, class A3>
|
|
1877
|
-
_bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>
|
|
1878
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)
|
|
1879
|
-
{
|
|
1880
|
-
typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
|
|
1881
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
|
|
1882
|
-
}
|
|
1883
|
-
|
|
1884
|
-
template<class R, class F, class A1, class A2, class A3, class A4>
|
|
1885
|
-
_bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
|
|
1886
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)
|
|
1887
|
-
{
|
|
1888
|
-
typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
|
|
1889
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
|
|
1890
|
-
}
|
|
1891
|
-
|
|
1892
|
-
template<class R, class F, class A1, class A2, class A3, class A4, class A5>
|
|
1893
|
-
_bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
|
|
1894
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
|
|
1895
|
-
{
|
|
1896
|
-
typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
|
|
1897
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
|
|
1898
|
-
}
|
|
1899
|
-
|
|
1900
|
-
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>
|
|
1901
|
-
_bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
|
|
1902
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
|
|
1903
|
-
{
|
|
1904
|
-
typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
|
|
1905
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
|
|
1906
|
-
}
|
|
1907
|
-
|
|
1908
|
-
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
|
|
1909
|
-
_bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
|
|
1910
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
|
|
1911
|
-
{
|
|
1912
|
-
typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
|
|
1913
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
|
|
1914
|
-
}
|
|
493
|
+
#if !BOOST_WORKAROUND(__GNUC__, < 6)
|
|
1915
494
|
|
|
1916
|
-
template<class R, class F, class
|
|
1917
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1918
|
-
BOOST_BIND(F f,
|
|
495
|
+
template<class R, class F, class... A>
|
|
496
|
+
_bi::bind_t<R, F, typename _bi::list_av<A...>::type>
|
|
497
|
+
BOOST_BIND( F f, A... a )
|
|
1919
498
|
{
|
|
1920
|
-
typedef typename _bi::
|
|
1921
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(
|
|
499
|
+
typedef typename _bi::list_av<A...>::type list_type;
|
|
500
|
+
return _bi::bind_t<R, F, list_type>( std::move(f), list_type( a... ) );
|
|
1922
501
|
}
|
|
1923
502
|
|
|
1924
|
-
|
|
1925
|
-
_bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
|
|
1926
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
|
|
1927
|
-
{
|
|
1928
|
-
typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
|
|
1929
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
|
|
1930
|
-
}
|
|
503
|
+
#else
|
|
1931
504
|
|
|
1932
|
-
//
|
|
505
|
+
// g++ 4.x (and some 5.x) consider boost::bind<void>( &X::f )
|
|
506
|
+
// ambiguous if the variadic form above is used
|
|
1933
507
|
|
|
1934
508
|
template<class R, class F>
|
|
1935
|
-
_bi::bind_t<R, F, _bi::
|
|
1936
|
-
BOOST_BIND(
|
|
509
|
+
_bi::bind_t<R, F, typename _bi::list_av<>::type>
|
|
510
|
+
BOOST_BIND( F f )
|
|
1937
511
|
{
|
|
1938
|
-
typedef _bi::
|
|
1939
|
-
return _bi::bind_t<R, F, list_type> (f, list_type());
|
|
512
|
+
typedef typename _bi::list_av<>::type list_type;
|
|
513
|
+
return _bi::bind_t<R, F, list_type>( std::move(f), list_type() );
|
|
1940
514
|
}
|
|
1941
515
|
|
|
1942
516
|
template<class R, class F, class A1>
|
|
1943
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1944
|
-
BOOST_BIND(
|
|
517
|
+
_bi::bind_t<R, F, typename _bi::list_av<A1>::type>
|
|
518
|
+
BOOST_BIND( F f, A1 a1 )
|
|
1945
519
|
{
|
|
1946
|
-
typedef typename _bi::
|
|
1947
|
-
return _bi::bind_t<R, F, list_type> (f, list_type(a1));
|
|
520
|
+
typedef typename _bi::list_av<A1>::type list_type;
|
|
521
|
+
return _bi::bind_t<R, F, list_type>( std::move(f), list_type( a1 ) );
|
|
1948
522
|
}
|
|
1949
523
|
|
|
1950
524
|
template<class R, class F, class A1, class A2>
|
|
1951
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1952
|
-
BOOST_BIND(
|
|
525
|
+
_bi::bind_t<R, F, typename _bi::list_av<A1, A2>::type>
|
|
526
|
+
BOOST_BIND( F f, A1 a1, A2 a2 )
|
|
1953
527
|
{
|
|
1954
|
-
typedef typename _bi::
|
|
1955
|
-
return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
|
|
528
|
+
typedef typename _bi::list_av<A1, A2>::type list_type;
|
|
529
|
+
return _bi::bind_t<R, F, list_type>( std::move(f), list_type( a1, a2 ) );
|
|
1956
530
|
}
|
|
1957
531
|
|
|
1958
532
|
template<class R, class F, class A1, class A2, class A3>
|
|
1959
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1960
|
-
BOOST_BIND(
|
|
533
|
+
_bi::bind_t<R, F, typename _bi::list_av<A1, A2, A3>::type>
|
|
534
|
+
BOOST_BIND( F f, A1 a1, A2 a2, A3 a3 )
|
|
1961
535
|
{
|
|
1962
|
-
typedef typename _bi::
|
|
1963
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
|
|
536
|
+
typedef typename _bi::list_av<A1, A2, A3>::type list_type;
|
|
537
|
+
return _bi::bind_t<R, F, list_type>( std::move(f), list_type( a1, a2, a3 ) );
|
|
1964
538
|
}
|
|
1965
539
|
|
|
1966
540
|
template<class R, class F, class A1, class A2, class A3, class A4>
|
|
1967
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1968
|
-
BOOST_BIND(
|
|
541
|
+
_bi::bind_t<R, F, typename _bi::list_av<A1, A2, A3, A4>::type>
|
|
542
|
+
BOOST_BIND( F f, A1 a1, A2 a2, A3 a3, A4 a4 )
|
|
1969
543
|
{
|
|
1970
|
-
typedef typename _bi::
|
|
1971
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
|
|
544
|
+
typedef typename _bi::list_av<A1, A2, A3, A4>::type list_type;
|
|
545
|
+
return _bi::bind_t<R, F, list_type>( std::move(f), list_type( a1, a2, a3, a4 ) );
|
|
1972
546
|
}
|
|
1973
547
|
|
|
1974
548
|
template<class R, class F, class A1, class A2, class A3, class A4, class A5>
|
|
1975
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1976
|
-
BOOST_BIND(
|
|
549
|
+
_bi::bind_t<R, F, typename _bi::list_av<A1, A2, A3, A4, A5>::type>
|
|
550
|
+
BOOST_BIND( F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 )
|
|
1977
551
|
{
|
|
1978
|
-
typedef typename _bi::
|
|
1979
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
|
|
552
|
+
typedef typename _bi::list_av<A1, A2, A3, A4, A5>::type list_type;
|
|
553
|
+
return _bi::bind_t<R, F, list_type>( std::move(f), list_type( a1, a2, a3, a4, a5 ) );
|
|
1980
554
|
}
|
|
1981
555
|
|
|
1982
556
|
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>
|
|
1983
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1984
|
-
BOOST_BIND(
|
|
557
|
+
_bi::bind_t<R, F, typename _bi::list_av<A1, A2, A3, A4, A5, A6>::type>
|
|
558
|
+
BOOST_BIND( F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 )
|
|
1985
559
|
{
|
|
1986
|
-
typedef typename _bi::
|
|
1987
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
|
|
560
|
+
typedef typename _bi::list_av<A1, A2, A3, A4, A5, A6>::type list_type;
|
|
561
|
+
return _bi::bind_t<R, F, list_type>( std::move(f), list_type( a1, a2, a3, a4, a5, a6 ) );
|
|
1988
562
|
}
|
|
1989
563
|
|
|
1990
564
|
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
|
|
1991
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1992
|
-
BOOST_BIND(
|
|
565
|
+
_bi::bind_t<R, F, typename _bi::list_av<A1, A2, A3, A4, A5, A6, A7>::type>
|
|
566
|
+
BOOST_BIND( F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 )
|
|
1993
567
|
{
|
|
1994
|
-
typedef typename _bi::
|
|
1995
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
|
|
568
|
+
typedef typename _bi::list_av<A1, A2, A3, A4, A5, A6, A7>::type list_type;
|
|
569
|
+
return _bi::bind_t<R, F, list_type>( std::move(f), list_type( a1, a2, a3, a4, a5, a6, a7 ) );
|
|
1996
570
|
}
|
|
1997
571
|
|
|
1998
572
|
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
|
|
1999
|
-
_bi::bind_t<R, F, typename _bi::
|
|
2000
|
-
BOOST_BIND(
|
|
573
|
+
_bi::bind_t<R, F, typename _bi::list_av<A1, A2, A3, A4, A5, A6, A7, A8>::type>
|
|
574
|
+
BOOST_BIND( F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 )
|
|
2001
575
|
{
|
|
2002
|
-
typedef typename _bi::
|
|
2003
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
|
|
576
|
+
typedef typename _bi::list_av<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
|
|
577
|
+
return _bi::bind_t<R, F, list_type>( std::move(f), list_type( a1, a2, a3, a4, a5, a6, a7, a8 ) );
|
|
2004
578
|
}
|
|
2005
579
|
|
|
2006
580
|
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
|
|
2007
|
-
_bi::bind_t<R, F, typename _bi::
|
|
2008
|
-
BOOST_BIND(
|
|
2009
|
-
{
|
|
2010
|
-
typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
|
|
2011
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
|
|
2012
|
-
}
|
|
2013
|
-
|
|
2014
|
-
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
|
|
2015
|
-
|
|
2016
|
-
// adaptable function objects
|
|
2017
|
-
|
|
2018
|
-
template<class F>
|
|
2019
|
-
_bi::bind_t<_bi::unspecified, F, _bi::list0>
|
|
2020
|
-
BOOST_BIND(F f)
|
|
581
|
+
_bi::bind_t<R, F, typename _bi::list_av<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
|
|
582
|
+
BOOST_BIND( F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 )
|
|
2021
583
|
{
|
|
2022
|
-
typedef _bi::
|
|
2023
|
-
return _bi::bind_t<
|
|
584
|
+
typedef typename _bi::list_av<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
|
|
585
|
+
return _bi::bind_t<R, F, list_type>( std::move(f), list_type( a1, a2, a3, a4, a5, a6, a7, a8, a9 ) );
|
|
2024
586
|
}
|
|
2025
587
|
|
|
2026
|
-
|
|
2027
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_1<A1>::type>
|
|
2028
|
-
BOOST_BIND(F f, A1 a1)
|
|
2029
|
-
{
|
|
2030
|
-
typedef typename _bi::list_av_1<A1>::type list_type;
|
|
2031
|
-
return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1));
|
|
2032
|
-
}
|
|
2033
|
-
|
|
2034
|
-
template<class F, class A1, class A2>
|
|
2035
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_2<A1, A2>::type>
|
|
2036
|
-
BOOST_BIND(F f, A1 a1, A2 a2)
|
|
2037
|
-
{
|
|
2038
|
-
typedef typename _bi::list_av_2<A1, A2>::type list_type;
|
|
2039
|
-
return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1, a2));
|
|
2040
|
-
}
|
|
2041
|
-
|
|
2042
|
-
template<class F, class A1, class A2, class A3>
|
|
2043
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_3<A1, A2, A3>::type>
|
|
2044
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)
|
|
2045
|
-
{
|
|
2046
|
-
typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
|
|
2047
|
-
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3));
|
|
2048
|
-
}
|
|
2049
|
-
|
|
2050
|
-
template<class F, class A1, class A2, class A3, class A4>
|
|
2051
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
|
|
2052
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)
|
|
2053
|
-
{
|
|
2054
|
-
typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
|
|
2055
|
-
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4));
|
|
2056
|
-
}
|
|
2057
|
-
|
|
2058
|
-
template<class F, class A1, class A2, class A3, class A4, class A5>
|
|
2059
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
|
|
2060
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
|
|
2061
|
-
{
|
|
2062
|
-
typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
|
|
2063
|
-
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
|
|
2064
|
-
}
|
|
588
|
+
#endif
|
|
2065
589
|
|
|
2066
|
-
|
|
2067
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
|
|
2068
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
|
|
2069
|
-
{
|
|
2070
|
-
typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
|
|
2071
|
-
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
|
|
2072
|
-
}
|
|
590
|
+
// generic function objects, alternative syntax
|
|
2073
591
|
|
|
2074
|
-
template<class
|
|
2075
|
-
_bi::bind_t<
|
|
2076
|
-
BOOST_BIND(F f,
|
|
592
|
+
template<class R, class F, class... A>
|
|
593
|
+
_bi::bind_t<R, F, typename _bi::list_av<A...>::type>
|
|
594
|
+
BOOST_BIND( boost::type<R>, F f, A... a )
|
|
2077
595
|
{
|
|
2078
|
-
typedef typename _bi::
|
|
2079
|
-
return _bi::bind_t<
|
|
596
|
+
typedef typename _bi::list_av<A...>::type list_type;
|
|
597
|
+
return _bi::bind_t<R, F, list_type>( std::move(f), list_type( a... ) );
|
|
2080
598
|
}
|
|
2081
599
|
|
|
2082
|
-
|
|
2083
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
|
|
2084
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
|
|
2085
|
-
{
|
|
2086
|
-
typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
|
|
2087
|
-
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
|
|
2088
|
-
}
|
|
600
|
+
// adaptable function objects
|
|
2089
601
|
|
|
2090
|
-
template<class F, class
|
|
2091
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::
|
|
2092
|
-
BOOST_BIND(F f,
|
|
602
|
+
template<class F, class... A>
|
|
603
|
+
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av<A...>::type>
|
|
604
|
+
BOOST_BIND( F f, A... a )
|
|
2093
605
|
{
|
|
2094
|
-
typedef typename _bi::
|
|
2095
|
-
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(
|
|
606
|
+
typedef typename _bi::list_av<A...>::type list_type;
|
|
607
|
+
return _bi::bind_t<_bi::unspecified, F, list_type>( std::move(f), list_type( a... ) );
|
|
2096
608
|
}
|
|
2097
609
|
|
|
2098
|
-
#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
|
|
2099
|
-
|
|
2100
610
|
// function pointers
|
|
2101
611
|
|
|
2102
612
|
#define BOOST_BIND_CC
|
|
2103
613
|
#define BOOST_BIND_ST
|
|
2104
614
|
#define BOOST_BIND_NOEXCEPT
|
|
2105
615
|
|
|
2106
|
-
#include <boost/bind/bind_cc.hpp>
|
|
616
|
+
#include <boost/bind/detail/bind_cc.hpp>
|
|
2107
617
|
|
|
2108
618
|
# if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED )
|
|
2109
619
|
# undef BOOST_BIND_NOEXCEPT
|
|
2110
620
|
# define BOOST_BIND_NOEXCEPT noexcept
|
|
2111
|
-
# include <boost/bind/bind_cc.hpp>
|
|
621
|
+
# include <boost/bind/detail/bind_cc.hpp>
|
|
2112
622
|
# endif
|
|
2113
623
|
|
|
2114
624
|
#undef BOOST_BIND_CC
|
|
@@ -2121,7 +631,7 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2121
631
|
#define BOOST_BIND_ST
|
|
2122
632
|
#define BOOST_BIND_NOEXCEPT
|
|
2123
633
|
|
|
2124
|
-
#include <boost/bind/bind_cc.hpp>
|
|
634
|
+
#include <boost/bind/detail/bind_cc.hpp>
|
|
2125
635
|
|
|
2126
636
|
#undef BOOST_BIND_CC
|
|
2127
637
|
#undef BOOST_BIND_ST
|
|
@@ -2135,7 +645,7 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2135
645
|
#define BOOST_BIND_ST
|
|
2136
646
|
#define BOOST_BIND_NOEXCEPT
|
|
2137
647
|
|
|
2138
|
-
#include <boost/bind/bind_cc.hpp>
|
|
648
|
+
#include <boost/bind/detail/bind_cc.hpp>
|
|
2139
649
|
|
|
2140
650
|
#undef BOOST_BIND_CC
|
|
2141
651
|
#undef BOOST_BIND_ST
|
|
@@ -2149,7 +659,7 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2149
659
|
#define BOOST_BIND_CC
|
|
2150
660
|
#define BOOST_BIND_NOEXCEPT
|
|
2151
661
|
|
|
2152
|
-
#include <boost/bind/bind_cc.hpp>
|
|
662
|
+
#include <boost/bind/detail/bind_cc.hpp>
|
|
2153
663
|
|
|
2154
664
|
#undef BOOST_BIND_ST
|
|
2155
665
|
#undef BOOST_BIND_CC
|
|
@@ -2163,14 +673,14 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2163
673
|
#define BOOST_BIND_MF_CC
|
|
2164
674
|
#define BOOST_BIND_MF_NOEXCEPT
|
|
2165
675
|
|
|
2166
|
-
#include <boost/bind/bind_mf_cc.hpp>
|
|
2167
|
-
#include <boost/bind/bind_mf2_cc.hpp>
|
|
676
|
+
#include <boost/bind/detail/bind_mf_cc.hpp>
|
|
677
|
+
#include <boost/bind/detail/bind_mf2_cc.hpp>
|
|
2168
678
|
|
|
2169
679
|
# if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED )
|
|
2170
680
|
# undef BOOST_BIND_MF_NOEXCEPT
|
|
2171
681
|
# define BOOST_BIND_MF_NOEXCEPT noexcept
|
|
2172
|
-
# include <boost/bind/bind_mf_cc.hpp>
|
|
2173
|
-
# include <boost/bind/bind_mf2_cc.hpp>
|
|
682
|
+
# include <boost/bind/detail/bind_mf_cc.hpp>
|
|
683
|
+
# include <boost/bind/detail/bind_mf2_cc.hpp>
|
|
2174
684
|
# endif
|
|
2175
685
|
|
|
2176
686
|
#undef BOOST_BIND_MF_NAME
|
|
@@ -2183,8 +693,8 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2183
693
|
#define BOOST_BIND_MF_CC __cdecl
|
|
2184
694
|
#define BOOST_BIND_MF_NOEXCEPT
|
|
2185
695
|
|
|
2186
|
-
#include <boost/bind/bind_mf_cc.hpp>
|
|
2187
|
-
#include <boost/bind/bind_mf2_cc.hpp>
|
|
696
|
+
#include <boost/bind/detail/bind_mf_cc.hpp>
|
|
697
|
+
#include <boost/bind/detail/bind_mf2_cc.hpp>
|
|
2188
698
|
|
|
2189
699
|
#undef BOOST_BIND_MF_NAME
|
|
2190
700
|
#undef BOOST_BIND_MF_CC
|
|
@@ -2198,8 +708,8 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2198
708
|
#define BOOST_BIND_MF_CC __stdcall
|
|
2199
709
|
#define BOOST_BIND_MF_NOEXCEPT
|
|
2200
710
|
|
|
2201
|
-
#include <boost/bind/bind_mf_cc.hpp>
|
|
2202
|
-
#include <boost/bind/bind_mf2_cc.hpp>
|
|
711
|
+
#include <boost/bind/detail/bind_mf_cc.hpp>
|
|
712
|
+
#include <boost/bind/detail/bind_mf2_cc.hpp>
|
|
2203
713
|
|
|
2204
714
|
#undef BOOST_BIND_MF_NAME
|
|
2205
715
|
#undef BOOST_BIND_MF_CC
|
|
@@ -2213,8 +723,8 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2213
723
|
#define BOOST_BIND_MF_CC __fastcall
|
|
2214
724
|
#define BOOST_BIND_MF_NOEXCEPT
|
|
2215
725
|
|
|
2216
|
-
#include <boost/bind/bind_mf_cc.hpp>
|
|
2217
|
-
#include <boost/bind/bind_mf2_cc.hpp>
|
|
726
|
+
#include <boost/bind/detail/bind_mf_cc.hpp>
|
|
727
|
+
#include <boost/bind/detail/bind_mf2_cc.hpp>
|
|
2218
728
|
|
|
2219
729
|
#undef BOOST_BIND_MF_NAME
|
|
2220
730
|
#undef BOOST_BIND_MF_CC
|
|
@@ -2224,20 +734,6 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2224
734
|
|
|
2225
735
|
// data member pointers
|
|
2226
736
|
|
|
2227
|
-
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
|
|
2228
|
-
|| ( defined(BOOST_BORLANDC) && BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT( 0x620 ) ) )
|
|
2229
|
-
|
|
2230
|
-
template<class R, class T, class A1>
|
|
2231
|
-
_bi::bind_t< R, _mfi::dm<R, T>, typename _bi::list_av_1<A1>::type >
|
|
2232
|
-
BOOST_BIND(R T::*f, A1 a1)
|
|
2233
|
-
{
|
|
2234
|
-
typedef _mfi::dm<R, T> F;
|
|
2235
|
-
typedef typename _bi::list_av_1<A1>::type list_type;
|
|
2236
|
-
return _bi::bind_t<R, F, list_type>( F(f), list_type(a1) );
|
|
2237
|
-
}
|
|
2238
|
-
|
|
2239
|
-
#else
|
|
2240
|
-
|
|
2241
737
|
namespace _bi
|
|
2242
738
|
{
|
|
2243
739
|
|
|
@@ -2265,8 +761,6 @@ template< class R, class T > struct add_cref< R (T::*) (), 1 >
|
|
|
2265
761
|
typedef void type;
|
|
2266
762
|
};
|
|
2267
763
|
|
|
2268
|
-
#if !defined(__IBMCPP__) || __IBMCPP_FUNC_CV_TMPL_ARG_DEDUCTION
|
|
2269
|
-
|
|
2270
764
|
template< class R, class T > struct add_cref< R (T::*) () const, 1 >
|
|
2271
765
|
{
|
|
2272
766
|
typedef void type;
|
|
@@ -2281,8 +775,6 @@ template< class R, class T > struct add_cref< R (T::*) () const noexcept, 1 >
|
|
|
2281
775
|
|
|
2282
776
|
#endif // __cpp_noexcept_function_type
|
|
2283
777
|
|
|
2284
|
-
#endif // __IBMCPP__
|
|
2285
|
-
|
|
2286
778
|
template<class R> struct isref
|
|
2287
779
|
{
|
|
2288
780
|
enum value_type { value = 0 };
|
|
@@ -2316,19 +808,17 @@ template< class A1, class M, class T >
|
|
|
2316
808
|
_bi::bind_t<
|
|
2317
809
|
typename _bi::dm_result< M T::*, A1 >::type,
|
|
2318
810
|
_mfi::dm<M, T>,
|
|
2319
|
-
typename _bi::
|
|
811
|
+
typename _bi::list_av<A1>::type
|
|
2320
812
|
>
|
|
2321
813
|
|
|
2322
814
|
BOOST_BIND( M T::*f, A1 a1 )
|
|
2323
815
|
{
|
|
2324
816
|
typedef typename _bi::dm_result< M T::*, A1 >::type result_type;
|
|
2325
817
|
typedef _mfi::dm<M, T> F;
|
|
2326
|
-
typedef typename _bi::
|
|
818
|
+
typedef typename _bi::list_av<A1>::type list_type;
|
|
2327
819
|
return _bi::bind_t< result_type, F, list_type >( F( f ), list_type( a1 ) );
|
|
2328
820
|
}
|
|
2329
821
|
|
|
2330
|
-
#endif
|
|
2331
|
-
|
|
2332
822
|
} // namespace boost
|
|
2333
823
|
|
|
2334
824
|
#ifndef BOOST_BIND_NO_PLACEHOLDERS
|