passenger 6.0.20 → 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 +41 -1
- data/CONTRIBUTORS +2 -0
- data/README.md +2 -2
- data/bin/passenger-install-nginx-module +4 -4
- data/build/support/cxx_dependency_map.rb +155 -54
- data/dev/copy_boost_headers +21 -7
- data/dev/nginx_version_sha256 +72 -0
- 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 +96 -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 +61 -62
- 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 +28 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +42 -59
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +154 -883
- 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 +19 -22
- 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 +106 -153
- 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 +75 -294
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +75 -283
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +89 -288
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +73 -275
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +170 -328
- 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 +26 -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 +32 -48
- 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 +26 -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 +53 -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 +22 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +188 -275
- 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 +2 -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 +91 -975
- 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 +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +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 +5 -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 +73 -127
- 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 +32 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +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 +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +1 -1
- 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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +2 -2
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +1 -1
- 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 +1 -1
- 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 +56 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +56 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +56 -101
- 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 +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +3 -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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +7 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +3 -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 +3 -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 +1 -1
- 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 +12 -44
- 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 +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +11 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +11 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +4 -5
- 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 +3 -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 +3 -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 +1 -1
- 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 +2 -2
- 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 +1 -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 +21 -26
- 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 +229 -1019
- 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 +55 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +55 -33
- 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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +3 -3
- 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 +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +130 -53
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_payload.hpp +92 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +15 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +73 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +48 -48
- 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 +39 -30
- 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 +16 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +14 -14
- 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 +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +2 -2
- 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/use_coro.hpp +14 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +11 -11
- 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 +62 -137
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +22 -21
- 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 +44 -36
- 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 +32 -41
- 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 +1 -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 +36 -420
- 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 +205 -421
- 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 +1 -1
- 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 +77 -423
- 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 +25 -34
- 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 +4 -4
- 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 +4 -4
- 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 +21 -26
- 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 +10 -21
- 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 +1 -1
- 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 +1 -27
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +2 -3
- 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 +1 -1
- 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/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 -61
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +229 -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/tuple_for_each.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +138 -289
- data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +3 -16
- data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +0 -280
- data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +0 -7
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +1 -0
- 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 +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +4 -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 +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +3 -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 +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -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 +40 -0
- 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/deque.hpp +112 -112
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +40 -40
- 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 +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +30 -25
- 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 +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +129 -129
- 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/next_capacity.hpp +6 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +32 -32
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +18 -19
- 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 +77 -77
- 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 +44 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +78 -78
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +231 -231
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +85 -85
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -33
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +107 -109
- 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 +18 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +2 -2
- 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 -80
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +81 -81
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +115 -109
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +101 -101
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +32 -32
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +150 -190
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +165 -165
- 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 +84 -86
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple_like.hpp +5 -99
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/mulx.hpp +20 -20
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +25 -126
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +27 -21
- 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 -41
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_tuple_like.hpp +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +20 -6
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +19 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_pause.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +1 -1
- 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/invoke_swap.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/launder.hpp +17 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +6 -55
- 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 +2 -2
- 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/{ratio → exception}/detail/requires_cxx11.hpp +7 -5
- 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 +1 -1
- 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 +1 -1
- 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 +21 -166
- data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +36 -41
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +267 -418
- data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +1 -31
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +5 -63
- 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 +2 -2
- 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/common_slist_algorithms.hpp +5 -5
- 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 -21
- 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 -21
- 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 +32 -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 +56 -57
- 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 +60 -61
- 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/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 +611 -633
- 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 -30
- 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/thread/src/pthread/thread.cpp +24 -14
- 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 +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +5 -19
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +3 -3
- 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/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 +67 -17
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +48 -48
- data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_fold.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integral.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/list.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- 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 +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
- 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 -87
- 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/smart_ptr/detail/requires_cxx11.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +1 -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 +13 -57
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +5 -29
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +51 -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 +8 -1
- 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 +5 -9
- 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/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/is_floating_point.hpp +22 -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 +2 -54
- 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 +2 -12
- 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 -203
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +145 -103
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +1 -4
- 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 +531 -91
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +346 -194
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/element_type.hpp +10 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +22 -15
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +10 -13
- 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/table.hpp +150 -55
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +346 -1039
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/narrow_cast.hpp +8 -8
- 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 +95 -144
- 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 +123 -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 +65 -46
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +41 -23
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +324 -997
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +7 -12
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +57 -46
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +35 -24
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +229 -629
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +8 -13
- 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/native_support.rb +10 -7
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +3 -7
- 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 +50 -149
- data/src/cxx_supportlib/ServerKit/http_parser.cpp +0 -2575
- data/src/cxx_supportlib/ServerKit/http_parser.h +0 -452
- 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 -91
- 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/handler_alloc_hook.ipp +0 -64
- 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/detail/is_same.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/requires_cxx11.hpp +0 -22
- 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 -476
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/requires_cxx11.hpp +0 -22
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_win32_sleep.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/epilogue.hpp +0 -39
- 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 -27
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/requires_cxx11.hpp +0 -22
- 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/swap.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/requires_cxx11.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/typeof/detail/requires_cxx11.hpp +0 -18
- 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/fwd.hpp +0 -150
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/requires_cxx11.hpp +0 -21
- /data/dev/{webpacketpp.patch → websocketpp.patch} +0 -0
|
@@ -8,46 +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/bind/detail/requires_cxx11.hpp>
|
|
25
|
-
#include <boost/config.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/
|
|
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>
|
|
30
|
+
#include <boost/is_placeholder.hpp>
|
|
31
|
+
#include <boost/type.hpp>
|
|
34
32
|
#include <boost/core/ref.hpp>
|
|
35
|
-
#include <boost/
|
|
36
|
-
#include <boost/
|
|
37
|
-
|
|
38
|
-
#
|
|
39
|
-
#include <
|
|
40
|
-
#endif
|
|
41
|
-
|
|
42
|
-
// Borland-specific bug, visit_each() silently fails to produce code
|
|
43
|
-
|
|
44
|
-
#if defined(BOOST_BORLANDC)
|
|
45
|
-
# define BOOST_BIND_VISIT_EACH boost::visit_each
|
|
46
|
-
#else
|
|
47
|
-
# define BOOST_BIND_VISIT_EACH visit_each
|
|
48
|
-
#endif
|
|
49
|
-
|
|
50
|
-
#include <boost/bind/storage.hpp>
|
|
33
|
+
#include <boost/config.hpp>
|
|
34
|
+
#include <boost/config/workaround.hpp>
|
|
35
|
+
#include <utility>
|
|
36
|
+
#include <type_traits>
|
|
37
|
+
#include <tuple>
|
|
51
38
|
|
|
52
39
|
#ifdef BOOST_MSVC
|
|
53
40
|
# pragma warning(push)
|
|
@@ -64,22 +51,22 @@ namespace _bi // implementation details
|
|
|
64
51
|
|
|
65
52
|
// ref_compare
|
|
66
53
|
|
|
67
|
-
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 )
|
|
68
55
|
{
|
|
69
56
|
return a == b;
|
|
70
57
|
}
|
|
71
58
|
|
|
72
|
-
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 & )
|
|
73
60
|
{
|
|
74
61
|
return true;
|
|
75
62
|
}
|
|
76
63
|
|
|
77
|
-
template<int I> bool ref_compare( arg<I> (*) (), arg<I> (*) ()
|
|
64
|
+
template<int I> bool ref_compare( arg<I> (*) (), arg<I> (*) () )
|
|
78
65
|
{
|
|
79
66
|
return true;
|
|
80
67
|
}
|
|
81
68
|
|
|
82
|
-
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 )
|
|
83
70
|
{
|
|
84
71
|
return a.get_pointer() == b.get_pointer();
|
|
85
72
|
}
|
|
@@ -88,7 +75,7 @@ template<class T> bool ref_compare( reference_wrapper<T> const & a, reference_wr
|
|
|
88
75
|
|
|
89
76
|
template<class R, class F, class L> class bind_t;
|
|
90
77
|
|
|
91
|
-
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 )
|
|
92
79
|
{
|
|
93
80
|
return a.compare( b );
|
|
94
81
|
}
|
|
@@ -116,7 +103,7 @@ private:
|
|
|
116
103
|
|
|
117
104
|
// ref_compare for weak_ptr
|
|
118
105
|
|
|
119
|
-
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 )
|
|
120
107
|
{
|
|
121
108
|
return !(a.get() < b.get()) && !(b.get() < a.get());
|
|
122
109
|
}
|
|
@@ -145,1409 +132,235 @@ template<class F> struct unwrapper
|
|
|
145
132
|
}
|
|
146
133
|
};
|
|
147
134
|
|
|
148
|
-
//
|
|
135
|
+
// list
|
|
149
136
|
|
|
150
|
-
class
|
|
137
|
+
template<class V> struct accept_lambda
|
|
151
138
|
{
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
list0() {}
|
|
155
|
-
|
|
156
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
157
|
-
|
|
158
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
159
|
-
|
|
160
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
161
|
-
|
|
162
|
-
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); }
|
|
163
|
-
|
|
164
|
-
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); }
|
|
165
|
-
|
|
166
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A &, long)
|
|
167
|
-
{
|
|
168
|
-
return unwrapper<F>::unwrap(f, 0)();
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A &, long) const
|
|
172
|
-
{
|
|
173
|
-
return unwrapper<F const>::unwrap(f, 0)();
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
template<class F, class A> void operator()(type<void>, F & f, A &, int)
|
|
177
|
-
{
|
|
178
|
-
unwrapper<F>::unwrap(f, 0)();
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
template<class F, class A> void operator()(type<void>, F const & f, A &, int) const
|
|
182
|
-
{
|
|
183
|
-
unwrapper<F const>::unwrap(f, 0)();
|
|
184
|
-
}
|
|
139
|
+
V& v_;
|
|
185
140
|
|
|
186
|
-
|
|
187
|
-
{
|
|
188
|
-
}
|
|
141
|
+
explicit accept_lambda( V& v ): v_( v ) {}
|
|
189
142
|
|
|
190
|
-
|
|
143
|
+
template<class A> void operator()( A& a ) const
|
|
191
144
|
{
|
|
192
|
-
|
|
145
|
+
visit_each( v_, a, 0 );
|
|
193
146
|
}
|
|
194
147
|
};
|
|
195
148
|
|
|
196
|
-
|
|
197
|
-
// MSVC is bright enough to realise that the parameter rhs
|
|
198
|
-
// in operator==may be unused for some template argument types:
|
|
199
|
-
#pragma warning(push)
|
|
200
|
-
#pragma warning(disable:4100)
|
|
201
|
-
#endif
|
|
202
|
-
|
|
203
|
-
template< class A1 > class list1: private storage1< A1 >
|
|
149
|
+
struct equal_lambda
|
|
204
150
|
{
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
typedef storage1< A1 > base_type;
|
|
208
|
-
|
|
209
|
-
public:
|
|
210
|
-
|
|
211
|
-
explicit list1( A1 a1 ): base_type( a1 ) {}
|
|
212
|
-
|
|
213
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
214
|
-
|
|
215
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
216
|
-
|
|
217
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
218
|
-
|
|
219
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
220
|
-
|
|
221
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
222
|
-
|
|
223
|
-
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); }
|
|
224
|
-
|
|
225
|
-
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); }
|
|
226
|
-
|
|
227
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
228
|
-
{
|
|
229
|
-
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
233
|
-
{
|
|
234
|
-
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_]);
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
238
|
-
{
|
|
239
|
-
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
243
|
-
{
|
|
244
|
-
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_]);
|
|
245
|
-
}
|
|
151
|
+
bool result;
|
|
246
152
|
|
|
247
|
-
|
|
248
|
-
{
|
|
249
|
-
base_type::accept(v);
|
|
250
|
-
}
|
|
153
|
+
equal_lambda(): result( true ) {}
|
|
251
154
|
|
|
252
|
-
|
|
155
|
+
template<class A1, class A2> void operator()( A1& a1, A2& a2 )
|
|
253
156
|
{
|
|
254
|
-
|
|
157
|
+
result = result && ref_compare( a1, a2 );
|
|
255
158
|
}
|
|
256
159
|
};
|
|
257
160
|
|
|
258
161
|
struct logical_and;
|
|
259
162
|
struct logical_or;
|
|
260
163
|
|
|
261
|
-
template<
|
|
262
|
-
{
|
|
263
|
-
private:
|
|
264
|
-
|
|
265
|
-
typedef storage2< A1, A2 > base_type;
|
|
266
|
-
|
|
267
|
-
public:
|
|
268
|
-
|
|
269
|
-
list2( A1 a1, A2 a2 ): base_type( a1, a2 ) {}
|
|
270
|
-
|
|
271
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
272
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
273
|
-
|
|
274
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
275
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
276
|
-
|
|
277
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
278
|
-
|
|
279
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
280
|
-
|
|
281
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
282
|
-
|
|
283
|
-
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); }
|
|
284
|
-
|
|
285
|
-
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); }
|
|
286
|
-
|
|
287
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
288
|
-
{
|
|
289
|
-
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
293
|
-
{
|
|
294
|
-
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
298
|
-
{
|
|
299
|
-
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
303
|
-
{
|
|
304
|
-
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
template<class A> bool operator()( type<bool>, logical_and & /*f*/, A & a, int )
|
|
308
|
-
{
|
|
309
|
-
return a[ base_type::a1_ ] && a[ base_type::a2_ ];
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
template<class A> bool operator()( type<bool>, logical_and const & /*f*/, A & a, int ) const
|
|
313
|
-
{
|
|
314
|
-
return a[ base_type::a1_ ] && a[ base_type::a2_ ];
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
template<class A> bool operator()( type<bool>, logical_or & /*f*/, A & a, int )
|
|
318
|
-
{
|
|
319
|
-
return a[ base_type::a1_ ] || a[ base_type::a2_ ];
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
template<class A> bool operator()( type<bool>, logical_or const & /*f*/, A & a, int ) const
|
|
323
|
-
{
|
|
324
|
-
return a[ base_type::a1_ ] || a[ base_type::a2_ ];
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
template<class V> void accept(V & v) const
|
|
328
|
-
{
|
|
329
|
-
base_type::accept(v);
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
bool operator==(list2 const & rhs) const
|
|
333
|
-
{
|
|
334
|
-
return ref_compare(base_type::a1_, rhs.a1_, 0) && ref_compare(base_type::a2_, rhs.a2_, 0);
|
|
335
|
-
}
|
|
336
|
-
};
|
|
337
|
-
|
|
338
|
-
template< class A1, class A2, class A3 > class list3: private storage3< A1, A2, A3 >
|
|
339
|
-
{
|
|
340
|
-
private:
|
|
341
|
-
|
|
342
|
-
typedef storage3< A1, A2, A3 > base_type;
|
|
343
|
-
|
|
344
|
-
public:
|
|
345
|
-
|
|
346
|
-
list3( A1 a1, A2 a2, A3 a3 ): base_type( a1, a2, a3 ) {}
|
|
347
|
-
|
|
348
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
349
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
350
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
351
|
-
|
|
352
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
353
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
354
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
355
|
-
|
|
356
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
357
|
-
|
|
358
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
359
|
-
|
|
360
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
361
|
-
|
|
362
|
-
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); }
|
|
363
|
-
|
|
364
|
-
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); }
|
|
365
|
-
|
|
366
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
367
|
-
{
|
|
368
|
-
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
372
|
-
{
|
|
373
|
-
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
377
|
-
{
|
|
378
|
-
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
382
|
-
{
|
|
383
|
-
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
template<class V> void accept(V & v) const
|
|
387
|
-
{
|
|
388
|
-
base_type::accept(v);
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
bool operator==(list3 const & rhs) const
|
|
392
|
-
{
|
|
393
|
-
return
|
|
394
|
-
|
|
395
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
396
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
397
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 );
|
|
398
|
-
}
|
|
399
|
-
};
|
|
400
|
-
|
|
401
|
-
template< class A1, class A2, class A3, class A4 > class list4: private storage4< A1, A2, A3, A4 >
|
|
402
|
-
{
|
|
403
|
-
private:
|
|
404
|
-
|
|
405
|
-
typedef storage4< A1, A2, A3, A4 > base_type;
|
|
406
|
-
|
|
407
|
-
public:
|
|
408
|
-
|
|
409
|
-
list4( A1 a1, A2 a2, A3 a3, A4 a4 ): base_type( a1, a2, a3, a4 ) {}
|
|
410
|
-
|
|
411
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
412
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
413
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
414
|
-
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
|
415
|
-
|
|
416
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
417
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
418
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
419
|
-
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
|
420
|
-
|
|
421
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
422
|
-
|
|
423
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
424
|
-
|
|
425
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
426
|
-
|
|
427
|
-
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); }
|
|
428
|
-
|
|
429
|
-
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); }
|
|
430
|
-
|
|
431
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
432
|
-
{
|
|
433
|
-
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
437
|
-
{
|
|
438
|
-
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
442
|
-
{
|
|
443
|
-
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
447
|
-
{
|
|
448
|
-
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
template<class V> void accept(V & v) const
|
|
452
|
-
{
|
|
453
|
-
base_type::accept(v);
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
bool operator==(list4 const & rhs) const
|
|
457
|
-
{
|
|
458
|
-
return
|
|
459
|
-
|
|
460
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
461
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
462
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
|
463
|
-
ref_compare( base_type::a4_, rhs.a4_, 0 );
|
|
464
|
-
}
|
|
465
|
-
};
|
|
466
|
-
|
|
467
|
-
template< class A1, class A2, class A3, class A4, class A5 > class list5: private storage5< A1, A2, A3, A4, A5 >
|
|
468
|
-
{
|
|
469
|
-
private:
|
|
470
|
-
|
|
471
|
-
typedef storage5< A1, A2, A3, A4, A5 > base_type;
|
|
472
|
-
|
|
473
|
-
public:
|
|
474
|
-
|
|
475
|
-
list5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): base_type( a1, a2, a3, a4, a5 ) {}
|
|
476
|
-
|
|
477
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
478
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
479
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
480
|
-
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
|
481
|
-
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
|
482
|
-
|
|
483
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
484
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
485
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
486
|
-
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
|
487
|
-
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
|
488
|
-
|
|
489
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
490
|
-
|
|
491
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
492
|
-
|
|
493
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
494
|
-
|
|
495
|
-
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); }
|
|
496
|
-
|
|
497
|
-
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); }
|
|
498
|
-
|
|
499
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
500
|
-
{
|
|
501
|
-
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_]);
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
505
|
-
{
|
|
506
|
-
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_]);
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
510
|
-
{
|
|
511
|
-
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_]);
|
|
512
|
-
}
|
|
513
|
-
|
|
514
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
515
|
-
{
|
|
516
|
-
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_]);
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
template<class V> void accept(V & v) const
|
|
520
|
-
{
|
|
521
|
-
base_type::accept(v);
|
|
522
|
-
}
|
|
523
|
-
|
|
524
|
-
bool operator==(list5 const & rhs) const
|
|
525
|
-
{
|
|
526
|
-
return
|
|
527
|
-
|
|
528
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
529
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
530
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
|
531
|
-
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
|
532
|
-
ref_compare( base_type::a5_, rhs.a5_, 0 );
|
|
533
|
-
}
|
|
534
|
-
};
|
|
535
|
-
|
|
536
|
-
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
|
|
537
165
|
{
|
|
538
166
|
private:
|
|
539
167
|
|
|
540
|
-
typedef
|
|
168
|
+
typedef std::tuple<A...> data_type;
|
|
169
|
+
data_type data_;
|
|
541
170
|
|
|
542
171
|
public:
|
|
543
172
|
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
547
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
548
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
549
|
-
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
|
550
|
-
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
|
551
|
-
A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
|
|
552
|
-
|
|
553
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
554
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
555
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
556
|
-
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
|
557
|
-
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
|
558
|
-
A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
|
|
559
|
-
|
|
560
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
561
|
-
|
|
562
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
563
|
-
|
|
564
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
565
|
-
|
|
566
|
-
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); }
|
|
567
|
-
|
|
568
|
-
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); }
|
|
569
|
-
|
|
570
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
571
|
-
{
|
|
572
|
-
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_]);
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
576
|
-
{
|
|
577
|
-
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_]);
|
|
578
|
-
}
|
|
173
|
+
list( A... a ): data_( a... ) {}
|
|
579
174
|
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
175
|
+
#if defined(BOOST_MSVC)
|
|
176
|
+
# pragma warning( push )
|
|
177
|
+
# pragma warning( disable: 4100 ) // unreferenced formal parameter 'a2'
|
|
178
|
+
#endif
|
|
584
179
|
|
|
585
|
-
template<class F, 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...> )
|
|
586
181
|
{
|
|
587
|
-
unwrapper<F
|
|
182
|
+
return unwrapper<F>::unwrap( f, 0 )( a2[ std::get<I>( data_ ) ]... );
|
|
588
183
|
}
|
|
589
184
|
|
|
590
|
-
template<class
|
|
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
|
|
591
186
|
{
|
|
592
|
-
|
|
187
|
+
return unwrapper<F>::unwrap( f, 0 )( a2[ std::get<I>( data_ ) ]... );
|
|
593
188
|
}
|
|
594
189
|
|
|
595
|
-
|
|
190
|
+
template<class F, class A2, std::size_t... I> void call_impl( type<void>, F & f, A2 & a2, _bi::index_sequence<I...> )
|
|
596
191
|
{
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
600
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
601
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
|
602
|
-
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
|
603
|
-
ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
|
|
604
|
-
ref_compare( base_type::a6_, rhs.a6_, 0 );
|
|
192
|
+
unwrapper<F>::unwrap( f, 0 )( a2[ std::get<I>( data_ ) ]... );
|
|
605
193
|
}
|
|
606
|
-
};
|
|
607
|
-
|
|
608
|
-
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 >
|
|
609
|
-
{
|
|
610
|
-
private:
|
|
611
|
-
|
|
612
|
-
typedef storage7< A1, A2, A3, A4, A5, A6, A7 > base_type;
|
|
613
|
-
|
|
614
|
-
public:
|
|
615
|
-
|
|
616
|
-
list7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): base_type( a1, a2, a3, a4, a5, a6, a7 ) {}
|
|
617
194
|
|
|
618
|
-
|
|
619
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
620
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
621
|
-
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
|
622
|
-
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
|
623
|
-
A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
|
|
624
|
-
A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
|
|
625
|
-
|
|
626
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
627
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
628
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
629
|
-
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
|
630
|
-
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
|
631
|
-
A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
|
|
632
|
-
A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
|
|
633
|
-
|
|
634
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
635
|
-
|
|
636
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
637
|
-
|
|
638
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
639
|
-
|
|
640
|
-
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); }
|
|
641
|
-
|
|
642
|
-
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); }
|
|
643
|
-
|
|
644
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
195
|
+
template<class F, class A2, std::size_t... I> void call_impl( type<void>, F & f, A2 & a2, _bi::index_sequence<I...> ) const
|
|
645
196
|
{
|
|
646
|
-
|
|
197
|
+
unwrapper<F>::unwrap( f, 0 )( a2[ std::get<I>( data_ ) ]... );
|
|
647
198
|
}
|
|
648
199
|
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
}
|
|
200
|
+
#if defined(BOOST_MSVC)
|
|
201
|
+
# pragma warning( pop )
|
|
202
|
+
#endif
|
|
653
203
|
|
|
654
|
-
|
|
655
|
-
{
|
|
656
|
-
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_]);
|
|
657
|
-
}
|
|
204
|
+
//
|
|
658
205
|
|
|
659
|
-
template<class F, class
|
|
206
|
+
template<class R, class F, class A2> R operator()( type<R>, F & f, A2 & a2 )
|
|
660
207
|
{
|
|
661
|
-
|
|
208
|
+
return call_impl( type<R>(), f, a2, _bi::index_sequence_for<A...>() );
|
|
662
209
|
}
|
|
663
210
|
|
|
664
|
-
template<class
|
|
211
|
+
template<class R, class F, class A2> R operator()( type<R>, F & f, A2 & a2 ) const
|
|
665
212
|
{
|
|
666
|
-
|
|
213
|
+
return call_impl( type<R>(), f, a2, _bi::index_sequence_for<A...>() );
|
|
667
214
|
}
|
|
668
215
|
|
|
669
|
-
bool operator==(list7 const & rhs) const
|
|
670
|
-
{
|
|
671
|
-
return
|
|
672
|
-
|
|
673
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
674
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
675
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
|
676
|
-
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
|
677
|
-
ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
|
|
678
|
-
ref_compare( base_type::a6_, rhs.a6_, 0 ) &&
|
|
679
|
-
ref_compare( base_type::a7_, rhs.a7_, 0 );
|
|
680
|
-
}
|
|
681
|
-
};
|
|
682
|
-
|
|
683
|
-
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 >
|
|
684
|
-
{
|
|
685
|
-
private:
|
|
686
|
-
|
|
687
|
-
typedef storage8< A1, A2, A3, A4, A5, A6, A7, A8 > base_type;
|
|
688
|
-
|
|
689
|
-
public:
|
|
690
|
-
|
|
691
|
-
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 ) {}
|
|
692
|
-
|
|
693
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
694
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
695
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
696
|
-
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
|
697
|
-
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
|
698
|
-
A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
|
|
699
|
-
A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
|
|
700
|
-
A8 operator[] (boost::arg<8>) const { return base_type::a8_; }
|
|
701
|
-
|
|
702
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
703
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
704
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
705
|
-
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
|
706
|
-
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
|
707
|
-
A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
|
|
708
|
-
A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
|
|
709
|
-
A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }
|
|
710
|
-
|
|
711
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
712
|
-
|
|
713
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
714
|
-
|
|
715
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
716
|
-
|
|
717
|
-
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); }
|
|
718
|
-
|
|
719
|
-
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); }
|
|
720
|
-
|
|
721
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
722
|
-
{
|
|
723
|
-
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_]);
|
|
724
|
-
}
|
|
725
|
-
|
|
726
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
727
|
-
{
|
|
728
|
-
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_]);
|
|
729
|
-
}
|
|
730
|
-
|
|
731
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
732
|
-
{
|
|
733
|
-
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_]);
|
|
734
|
-
}
|
|
735
|
-
|
|
736
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
737
|
-
{
|
|
738
|
-
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_]);
|
|
739
|
-
}
|
|
740
|
-
|
|
741
|
-
template<class V> void accept(V & v) const
|
|
742
|
-
{
|
|
743
|
-
base_type::accept(v);
|
|
744
|
-
}
|
|
745
|
-
|
|
746
|
-
bool operator==(list8 const & rhs) const
|
|
747
|
-
{
|
|
748
|
-
return
|
|
749
|
-
|
|
750
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
751
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
752
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
|
753
|
-
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
|
754
|
-
ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
|
|
755
|
-
ref_compare( base_type::a6_, rhs.a6_, 0 ) &&
|
|
756
|
-
ref_compare( base_type::a7_, rhs.a7_, 0 ) &&
|
|
757
|
-
ref_compare( base_type::a8_, rhs.a8_, 0 );
|
|
758
|
-
}
|
|
759
|
-
};
|
|
760
|
-
|
|
761
|
-
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 >
|
|
762
|
-
{
|
|
763
|
-
private:
|
|
764
|
-
|
|
765
|
-
typedef storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > base_type;
|
|
766
|
-
|
|
767
|
-
public:
|
|
768
|
-
|
|
769
|
-
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 ) {}
|
|
770
|
-
|
|
771
|
-
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
|
772
|
-
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
|
773
|
-
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
|
774
|
-
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
|
775
|
-
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
|
776
|
-
A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
|
|
777
|
-
A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
|
|
778
|
-
A8 operator[] (boost::arg<8>) const { return base_type::a8_; }
|
|
779
|
-
A9 operator[] (boost::arg<9>) const { return base_type::a9_; }
|
|
780
|
-
|
|
781
|
-
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
|
782
|
-
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
|
783
|
-
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
|
784
|
-
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
|
785
|
-
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
|
786
|
-
A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
|
|
787
|
-
A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
|
|
788
|
-
A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }
|
|
789
|
-
A9 operator[] (boost::arg<9> (*) ()) const { return base_type::a9_; }
|
|
790
|
-
|
|
791
|
-
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
|
792
|
-
|
|
793
|
-
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
|
794
|
-
|
|
795
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
796
|
-
|
|
797
|
-
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); }
|
|
798
|
-
|
|
799
|
-
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); }
|
|
800
|
-
|
|
801
|
-
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
|
802
|
-
{
|
|
803
|
-
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_]);
|
|
804
|
-
}
|
|
805
|
-
|
|
806
|
-
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
|
807
|
-
{
|
|
808
|
-
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_]);
|
|
809
|
-
}
|
|
810
|
-
|
|
811
|
-
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
|
812
|
-
{
|
|
813
|
-
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_]);
|
|
814
|
-
}
|
|
815
|
-
|
|
816
|
-
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
|
817
|
-
{
|
|
818
|
-
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_]);
|
|
819
|
-
}
|
|
820
|
-
|
|
821
|
-
template<class V> void accept(V & v) const
|
|
822
|
-
{
|
|
823
|
-
base_type::accept(v);
|
|
824
|
-
}
|
|
825
|
-
|
|
826
|
-
bool operator==(list9 const & rhs) const
|
|
827
|
-
{
|
|
828
|
-
return
|
|
829
|
-
|
|
830
|
-
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
|
831
|
-
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
|
832
|
-
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
|
833
|
-
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
|
834
|
-
ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
|
|
835
|
-
ref_compare( base_type::a6_, rhs.a6_, 0 ) &&
|
|
836
|
-
ref_compare( base_type::a7_, rhs.a7_, 0 ) &&
|
|
837
|
-
ref_compare( base_type::a8_, rhs.a8_, 0 ) &&
|
|
838
|
-
ref_compare( base_type::a9_, rhs.a9_, 0 );
|
|
839
|
-
}
|
|
840
|
-
};
|
|
841
|
-
|
|
842
|
-
#ifdef BOOST_MSVC
|
|
843
|
-
#pragma warning(pop)
|
|
844
|
-
#endif
|
|
845
|
-
|
|
846
|
-
// bind_t
|
|
847
|
-
|
|
848
|
-
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !(defined(BOOST_GCC) && BOOST_GCC < 40600)
|
|
849
|
-
|
|
850
|
-
template< class A1 > class rrlist1
|
|
851
|
-
{
|
|
852
|
-
private:
|
|
853
|
-
|
|
854
|
-
A1 & a1_; // not A1&& because of msvc-10.0
|
|
855
|
-
|
|
856
|
-
public:
|
|
857
|
-
|
|
858
|
-
explicit rrlist1( A1 & a1 ): a1_( a1 ) {}
|
|
859
|
-
|
|
860
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); } // not static_cast because of g++ 4.9
|
|
861
|
-
|
|
862
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
863
|
-
|
|
864
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
865
|
-
|
|
866
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
867
|
-
|
|
868
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
869
|
-
|
|
870
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
871
|
-
{
|
|
872
|
-
rrlist1<A1&> a( a1_ );
|
|
873
|
-
return b.eval( a );
|
|
874
|
-
}
|
|
875
|
-
|
|
876
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
877
|
-
{
|
|
878
|
-
rrlist1<A1&> a( a1_ );
|
|
879
|
-
return b.eval( a );
|
|
880
|
-
}
|
|
881
|
-
};
|
|
882
|
-
|
|
883
|
-
template< class A1, class A2 > class rrlist2
|
|
884
|
-
{
|
|
885
|
-
private:
|
|
886
|
-
|
|
887
|
-
A1 & a1_;
|
|
888
|
-
A2 & a2_;
|
|
889
|
-
|
|
890
|
-
public:
|
|
891
|
-
|
|
892
|
-
rrlist2( A1 & a1, A2 & a2 ): a1_( a1 ), a2_( a2 ) {}
|
|
893
|
-
|
|
894
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
895
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
896
|
-
|
|
897
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
898
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
899
|
-
|
|
900
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
901
|
-
|
|
902
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
903
|
-
|
|
904
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
905
|
-
|
|
906
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
907
|
-
{
|
|
908
|
-
rrlist2<A1&, A2&> a( a1_, a2_ );
|
|
909
|
-
return b.eval( a );
|
|
910
|
-
}
|
|
911
|
-
|
|
912
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
913
|
-
{
|
|
914
|
-
rrlist2<A1&, A2&> a( a1_, a2_ );
|
|
915
|
-
return b.eval( a );
|
|
916
|
-
}
|
|
917
|
-
};
|
|
918
|
-
|
|
919
|
-
template< class A1, class A2, class A3 > class rrlist3
|
|
920
|
-
{
|
|
921
|
-
private:
|
|
922
|
-
|
|
923
|
-
A1 & a1_;
|
|
924
|
-
A2 & a2_;
|
|
925
|
-
A3 & a3_;
|
|
926
|
-
|
|
927
|
-
public:
|
|
928
|
-
|
|
929
|
-
rrlist3( A1 & a1, A2 & a2, A3 & a3 ): a1_( a1 ), a2_( a2 ), a3_( a3 ) {}
|
|
930
|
-
|
|
931
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
932
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
933
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
934
|
-
|
|
935
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
936
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
937
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
938
|
-
|
|
939
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
940
|
-
|
|
941
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
942
|
-
|
|
943
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
944
|
-
|
|
945
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
946
|
-
{
|
|
947
|
-
rrlist3<A1&, A2&, A3&> a( a1_, a2_, a3_ );
|
|
948
|
-
return b.eval( a );
|
|
949
|
-
}
|
|
950
|
-
|
|
951
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
952
|
-
{
|
|
953
|
-
rrlist3<A1&, A2&, A3&> a( a1_, a2_, a3_ );
|
|
954
|
-
return b.eval( a );
|
|
955
|
-
}
|
|
956
|
-
};
|
|
957
|
-
|
|
958
|
-
template< class A1, class A2, class A3, class A4 > class rrlist4
|
|
959
|
-
{
|
|
960
|
-
private:
|
|
961
|
-
|
|
962
|
-
A1 & a1_;
|
|
963
|
-
A2 & a2_;
|
|
964
|
-
A3 & a3_;
|
|
965
|
-
A4 & a4_;
|
|
966
|
-
|
|
967
|
-
public:
|
|
968
|
-
|
|
969
|
-
rrlist4( A1 & a1, A2 & a2, A3 & a3, A4 & a4 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ) {}
|
|
970
|
-
|
|
971
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
972
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
973
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
974
|
-
A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
|
|
975
|
-
|
|
976
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
977
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
978
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
979
|
-
A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
|
|
980
|
-
|
|
981
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
982
|
-
|
|
983
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
984
|
-
|
|
985
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
986
|
-
|
|
987
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
988
|
-
{
|
|
989
|
-
rrlist4<A1&, A2&, A3&, A4&> a( a1_, a2_, a3_, a4_ );
|
|
990
|
-
return b.eval( a );
|
|
991
|
-
}
|
|
992
|
-
|
|
993
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
994
|
-
{
|
|
995
|
-
rrlist4<A1&, A2&, A3&, A4&> a( a1_, a2_, a3_, a4_ );
|
|
996
|
-
return b.eval( a );
|
|
997
|
-
}
|
|
998
|
-
};
|
|
999
|
-
|
|
1000
|
-
template< class A1, class A2, class A3, class A4, class A5 > class rrlist5
|
|
1001
|
-
{
|
|
1002
|
-
private:
|
|
1003
|
-
|
|
1004
|
-
A1 & a1_;
|
|
1005
|
-
A2 & a2_;
|
|
1006
|
-
A3 & a3_;
|
|
1007
|
-
A4 & a4_;
|
|
1008
|
-
A5 & a5_;
|
|
1009
|
-
|
|
1010
|
-
public:
|
|
1011
|
-
|
|
1012
|
-
rrlist5( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ) {}
|
|
1013
|
-
|
|
1014
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
1015
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
1016
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
1017
|
-
A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
|
|
1018
|
-
A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
|
|
1019
|
-
|
|
1020
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
1021
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
1022
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
1023
|
-
A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
|
|
1024
|
-
A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
|
|
1025
|
-
|
|
1026
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
1027
|
-
|
|
1028
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
1029
|
-
|
|
1030
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
1031
|
-
|
|
1032
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
1033
|
-
{
|
|
1034
|
-
rrlist5<A1&, A2&, A3&, A4&, A5&> a( a1_, a2_, a3_, a4_, a5_ );
|
|
1035
|
-
return b.eval( a );
|
|
1036
|
-
}
|
|
1037
|
-
|
|
1038
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
1039
|
-
{
|
|
1040
|
-
rrlist5<A1&, A2&, A3&, A4&, A5&> a( a1_, a2_, a3_, a4_, a5_ );
|
|
1041
|
-
return b.eval( a );
|
|
1042
|
-
}
|
|
1043
|
-
};
|
|
1044
|
-
|
|
1045
|
-
template< class A1, class A2, class A3, class A4, class A5, class A6 > class rrlist6
|
|
1046
|
-
{
|
|
1047
|
-
private:
|
|
1048
|
-
|
|
1049
|
-
A1 & a1_;
|
|
1050
|
-
A2 & a2_;
|
|
1051
|
-
A3 & a3_;
|
|
1052
|
-
A4 & a4_;
|
|
1053
|
-
A5 & a5_;
|
|
1054
|
-
A6 & a6_;
|
|
1055
|
-
|
|
1056
|
-
public:
|
|
1057
|
-
|
|
1058
|
-
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 ) {}
|
|
1059
|
-
|
|
1060
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
1061
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
1062
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
1063
|
-
A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
|
|
1064
|
-
A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
|
|
1065
|
-
A6 && operator[] (boost::arg<6>) const { return std::forward<A6>( a6_ ); }
|
|
1066
|
-
|
|
1067
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
1068
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
1069
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
1070
|
-
A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
|
|
1071
|
-
A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
|
|
1072
|
-
A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward<A6>( a6_ ); }
|
|
1073
|
-
|
|
1074
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
1075
|
-
|
|
1076
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
1077
|
-
|
|
1078
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
1079
|
-
|
|
1080
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
1081
|
-
{
|
|
1082
|
-
rrlist6<A1&, A2&, A3&, A4&, A5&, A6&> a( a1_, a2_, a3_, a4_, a5_, a6_ );
|
|
1083
|
-
return b.eval( a );
|
|
1084
|
-
}
|
|
1085
|
-
|
|
1086
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
1087
|
-
{
|
|
1088
|
-
rrlist6<A1&, A2&, A3&, A4&, A5&, A6&> a( a1_, a2_, a3_, a4_, a5_, a6_ );
|
|
1089
|
-
return b.eval( a );
|
|
1090
|
-
}
|
|
1091
|
-
};
|
|
1092
|
-
|
|
1093
|
-
template< class A1, class A2, class A3, class A4, class A5, class A6, class A7 > class rrlist7
|
|
1094
|
-
{
|
|
1095
|
-
private:
|
|
1096
|
-
|
|
1097
|
-
A1 & a1_;
|
|
1098
|
-
A2 & a2_;
|
|
1099
|
-
A3 & a3_;
|
|
1100
|
-
A4 & a4_;
|
|
1101
|
-
A5 & a5_;
|
|
1102
|
-
A6 & a6_;
|
|
1103
|
-
A7 & a7_;
|
|
1104
|
-
|
|
1105
|
-
public:
|
|
1106
|
-
|
|
1107
|
-
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 ) {}
|
|
1108
|
-
|
|
1109
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
1110
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
1111
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
1112
|
-
A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
|
|
1113
|
-
A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
|
|
1114
|
-
A6 && operator[] (boost::arg<6>) const { return std::forward<A6>( a6_ ); }
|
|
1115
|
-
A7 && operator[] (boost::arg<7>) const { return std::forward<A7>( a7_ ); }
|
|
1116
|
-
|
|
1117
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
1118
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
1119
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
1120
|
-
A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
|
|
1121
|
-
A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
|
|
1122
|
-
A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward<A6>( a6_ ); }
|
|
1123
|
-
A7 && operator[] (boost::arg<7> (*) ()) const { return std::forward<A7>( a7_ ); }
|
|
1124
|
-
|
|
1125
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
1126
|
-
|
|
1127
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
1128
|
-
|
|
1129
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
1130
|
-
|
|
1131
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
1132
|
-
{
|
|
1133
|
-
rrlist7<A1&, A2&, A3&, A4&, A5&, A6&, A7&> a( a1_, a2_, a3_, a4_, a5_, a6_, a7_ );
|
|
1134
|
-
return b.eval( a );
|
|
1135
|
-
}
|
|
1136
|
-
|
|
1137
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
1138
|
-
{
|
|
1139
|
-
rrlist7<A1&, A2&, A3&, A4&, A5&, A6&, A7&> a( a1_, a2_, a3_, a4_, a5_, a6_, a7_ );
|
|
1140
|
-
return b.eval( a );
|
|
1141
|
-
}
|
|
1142
|
-
};
|
|
1143
|
-
|
|
1144
|
-
template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class rrlist8
|
|
1145
|
-
{
|
|
1146
|
-
private:
|
|
1147
|
-
|
|
1148
|
-
A1 & a1_;
|
|
1149
|
-
A2 & a2_;
|
|
1150
|
-
A3 & a3_;
|
|
1151
|
-
A4 & a4_;
|
|
1152
|
-
A5 & a5_;
|
|
1153
|
-
A6 & a6_;
|
|
1154
|
-
A7 & a7_;
|
|
1155
|
-
A8 & a8_;
|
|
1156
|
-
|
|
1157
|
-
public:
|
|
1158
|
-
|
|
1159
|
-
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 ) {}
|
|
1160
|
-
|
|
1161
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
1162
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
1163
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
1164
|
-
A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
|
|
1165
|
-
A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
|
|
1166
|
-
A6 && operator[] (boost::arg<6>) const { return std::forward<A6>( a6_ ); }
|
|
1167
|
-
A7 && operator[] (boost::arg<7>) const { return std::forward<A7>( a7_ ); }
|
|
1168
|
-
A8 && operator[] (boost::arg<8>) const { return std::forward<A8>( a8_ ); }
|
|
1169
|
-
|
|
1170
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
1171
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
1172
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
1173
|
-
A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
|
|
1174
|
-
A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
|
|
1175
|
-
A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward<A6>( a6_ ); }
|
|
1176
|
-
A7 && operator[] (boost::arg<7> (*) ()) const { return std::forward<A7>( a7_ ); }
|
|
1177
|
-
A8 && operator[] (boost::arg<8> (*) ()) const { return std::forward<A8>( a8_ ); }
|
|
1178
|
-
|
|
1179
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
1180
|
-
|
|
1181
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
1182
|
-
|
|
1183
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
1184
|
-
|
|
1185
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
1186
|
-
{
|
|
1187
|
-
rrlist8<A1&, A2&, A3&, A4&, A5&, A6&, A7&, A8&> a( a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_ );
|
|
1188
|
-
return b.eval( a );
|
|
1189
|
-
}
|
|
1190
|
-
|
|
1191
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
1192
|
-
{
|
|
1193
|
-
rrlist8<A1&, A2&, A3&, A4&, A5&, A6&, A7&, A8&> a( a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_ );
|
|
1194
|
-
return b.eval( a );
|
|
1195
|
-
}
|
|
1196
|
-
};
|
|
1197
|
-
|
|
1198
|
-
template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 > class rrlist9
|
|
1199
|
-
{
|
|
1200
|
-
private:
|
|
1201
|
-
|
|
1202
|
-
A1 & a1_;
|
|
1203
|
-
A2 & a2_;
|
|
1204
|
-
A3 & a3_;
|
|
1205
|
-
A4 & a4_;
|
|
1206
|
-
A5 & a5_;
|
|
1207
|
-
A6 & a6_;
|
|
1208
|
-
A7 & a7_;
|
|
1209
|
-
A8 & a8_;
|
|
1210
|
-
A9 & a9_;
|
|
1211
|
-
|
|
1212
|
-
public:
|
|
1213
|
-
|
|
1214
|
-
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 ) {}
|
|
1215
|
-
|
|
1216
|
-
A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
|
|
1217
|
-
A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
|
|
1218
|
-
A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
|
|
1219
|
-
A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
|
|
1220
|
-
A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
|
|
1221
|
-
A6 && operator[] (boost::arg<6>) const { return std::forward<A6>( a6_ ); }
|
|
1222
|
-
A7 && operator[] (boost::arg<7>) const { return std::forward<A7>( a7_ ); }
|
|
1223
|
-
A8 && operator[] (boost::arg<8>) const { return std::forward<A8>( a8_ ); }
|
|
1224
|
-
A9 && operator[] (boost::arg<9>) const { return std::forward<A9>( a9_ ); }
|
|
1225
|
-
|
|
1226
|
-
A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
|
|
1227
|
-
A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
|
|
1228
|
-
A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
|
|
1229
|
-
A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
|
|
1230
|
-
A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
|
|
1231
|
-
A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward<A6>( a6_ ); }
|
|
1232
|
-
A7 && operator[] (boost::arg<7> (*) ()) const { return std::forward<A7>( a7_ ); }
|
|
1233
|
-
A8 && operator[] (boost::arg<8> (*) ()) const { return std::forward<A8>( a8_ ); }
|
|
1234
|
-
A9 && operator[] (boost::arg<9> (*) ()) const { return std::forward<A9>( a9_ ); }
|
|
1235
|
-
|
|
1236
|
-
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
1237
|
-
|
|
1238
|
-
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
1239
|
-
|
|
1240
|
-
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
|
1241
|
-
|
|
1242
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const
|
|
1243
|
-
{
|
|
1244
|
-
rrlist9<A1&, A2&, A3&, A4&, A5&, A6&, A7&, A8&, A9&> a( a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_ );
|
|
1245
|
-
return b.eval( a );
|
|
1246
|
-
}
|
|
1247
|
-
|
|
1248
|
-
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const
|
|
1249
|
-
{
|
|
1250
|
-
rrlist9<A1&, A2&, A3&, A4&, A5&, A6&, A7&, A8&, A9&> a( a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_ );
|
|
1251
|
-
return b.eval( a );
|
|
1252
|
-
}
|
|
1253
|
-
};
|
|
1254
|
-
|
|
1255
|
-
template<class R, class F, class L> class bind_t
|
|
1256
|
-
{
|
|
1257
|
-
private:
|
|
1258
|
-
|
|
1259
|
-
F f_;
|
|
1260
|
-
L l_;
|
|
1261
|
-
|
|
1262
|
-
public:
|
|
1263
|
-
|
|
1264
|
-
typedef typename result_traits<R, F>::type result_type;
|
|
1265
|
-
typedef bind_t this_type;
|
|
1266
|
-
|
|
1267
|
-
bind_t( F f, L const & l ): f_( f ), l_( l ) {}
|
|
1268
|
-
|
|
1269
216
|
//
|
|
1270
217
|
|
|
1271
|
-
|
|
1272
|
-
{
|
|
1273
|
-
list0 a;
|
|
1274
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1275
|
-
}
|
|
1276
|
-
|
|
1277
|
-
result_type operator()() const
|
|
1278
|
-
{
|
|
1279
|
-
list0 a;
|
|
1280
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1281
|
-
}
|
|
1282
|
-
|
|
1283
|
-
template<class A1> result_type operator()( A1 && a1 )
|
|
1284
|
-
{
|
|
1285
|
-
rrlist1< A1 > a( a1 );
|
|
1286
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1287
|
-
}
|
|
1288
|
-
|
|
1289
|
-
template<class A1> result_type operator()( A1 && a1 ) const
|
|
1290
|
-
{
|
|
1291
|
-
rrlist1< A1 > a( a1 );
|
|
1292
|
-
return l_(type<result_type>(), f_, a, 0);
|
|
1293
|
-
}
|
|
1294
|
-
|
|
1295
|
-
template<class A1, class A2> result_type operator()( A1 && a1, A2 && a2 )
|
|
1296
|
-
{
|
|
1297
|
-
rrlist2< A1, A2 > a( a1, a2 );
|
|
1298
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1299
|
-
}
|
|
1300
|
-
|
|
1301
|
-
template<class A1, class A2> result_type operator()( A1 && a1, A2 && a2 ) const
|
|
1302
|
-
{
|
|
1303
|
-
rrlist2< A1, A2 > a( a1, a2 );
|
|
1304
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1305
|
-
}
|
|
1306
|
-
|
|
1307
|
-
template<class A1, class A2, class A3> result_type operator()( A1 && a1, A2 && a2, A3 && a3 )
|
|
1308
|
-
{
|
|
1309
|
-
rrlist3< A1, A2, A3 > a( a1, a2, a3 );
|
|
1310
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1311
|
-
}
|
|
1312
|
-
|
|
1313
|
-
template<class A1, class A2, class A3> result_type operator()( A1 && a1, A2 && a2, A3 && a3 ) const
|
|
1314
|
-
{
|
|
1315
|
-
rrlist3< A1, A2, A3 > a( a1, a2, a3 );
|
|
1316
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1317
|
-
}
|
|
1318
|
-
|
|
1319
|
-
template<class A1, class A2, class A3, class A4> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4 )
|
|
1320
|
-
{
|
|
1321
|
-
rrlist4< A1, A2, A3, A4 > a( a1, a2, a3, a4 );
|
|
1322
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1323
|
-
}
|
|
1324
|
-
|
|
1325
|
-
template<class A1, class A2, class A3, class A4> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4 ) const
|
|
1326
|
-
{
|
|
1327
|
-
rrlist4< A1, A2, A3, A4 > a( a1, a2, a3, a4 );
|
|
1328
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1329
|
-
}
|
|
1330
|
-
|
|
1331
|
-
template<class A1, class A2, class A3, class A4, class A5> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5 )
|
|
1332
|
-
{
|
|
1333
|
-
rrlist5< A1, A2, A3, A4, A5 > a( a1, a2, a3, a4, a5 );
|
|
1334
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1335
|
-
}
|
|
1336
|
-
|
|
1337
|
-
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
|
|
1338
|
-
{
|
|
1339
|
-
rrlist5< A1, A2, A3, A4, A5 > a( a1, a2, a3, a4, a5 );
|
|
1340
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1341
|
-
}
|
|
1342
|
-
|
|
1343
|
-
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 )
|
|
1344
|
-
{
|
|
1345
|
-
rrlist6< A1, A2, A3, A4, A5, A6 > a( a1, a2, a3, a4, a5, a6 );
|
|
1346
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1347
|
-
}
|
|
1348
|
-
|
|
1349
|
-
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
|
|
1350
|
-
{
|
|
1351
|
-
rrlist6< A1, A2, A3, A4, A5, A6 > a( a1, a2, a3, a4, a5, a6 );
|
|
1352
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1353
|
-
}
|
|
1354
|
-
|
|
1355
|
-
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 )
|
|
1356
|
-
{
|
|
1357
|
-
rrlist7< A1, A2, A3, A4, A5, A6, A7 > a( a1, a2, a3, a4, a5, a6, a7 );
|
|
1358
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1359
|
-
}
|
|
1360
|
-
|
|
1361
|
-
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
|
|
1362
|
-
{
|
|
1363
|
-
rrlist7< A1, A2, A3, A4, A5, A6, A7 > a( a1, a2, a3, a4, a5, a6, a7 );
|
|
1364
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1365
|
-
}
|
|
1366
|
-
|
|
1367
|
-
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 )
|
|
1368
|
-
{
|
|
1369
|
-
rrlist8< A1, A2, A3, A4, A5, A6, A7, A8 > a( a1, a2, a3, a4, a5, a6, a7, a8 );
|
|
1370
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1371
|
-
}
|
|
1372
|
-
|
|
1373
|
-
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
|
|
1374
|
-
{
|
|
1375
|
-
rrlist8< A1, A2, A3, A4, A5, A6, A7, A8 > a( a1, a2, a3, a4, a5, a6, a7, a8 );
|
|
1376
|
-
return l_( type<result_type>(), f_, a, 0 );
|
|
1377
|
-
}
|
|
1378
|
-
|
|
1379
|
-
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 )
|
|
1380
219
|
{
|
|
1381
|
-
|
|
1382
|
-
return
|
|
220
|
+
static_assert( sizeof...(A) == 2, "operator&& must have two arguments" );
|
|
221
|
+
return a2[ std::get<0>( data_ ) ] && a2[ std::get<1>( data_ ) ];
|
|
1383
222
|
}
|
|
1384
223
|
|
|
1385
|
-
template<class
|
|
224
|
+
template<class A2> bool operator()( type<bool>, logical_and const & /*f*/, A2 & a2 ) const
|
|
1386
225
|
{
|
|
1387
|
-
|
|
1388
|
-
return
|
|
226
|
+
static_assert( sizeof...(A) == 2, "operator&& must have two arguments" );
|
|
227
|
+
return a2[ std::get<0>( data_ ) ] && a2[ std::get<1>( data_ ) ];
|
|
1389
228
|
}
|
|
1390
229
|
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
template<class A> result_type eval( A & a )
|
|
230
|
+
template<class A2> bool operator()( type<bool>, logical_or & /*f*/, A2 & a2 )
|
|
1394
231
|
{
|
|
1395
|
-
|
|
232
|
+
static_assert( sizeof...(A) == 2, "operator|| must have two arguments" );
|
|
233
|
+
return a2[ std::get<0>( data_ ) ] || a2[ std::get<1>( data_ ) ];
|
|
1396
234
|
}
|
|
1397
235
|
|
|
1398
|
-
template<class
|
|
236
|
+
template<class A2> bool operator()( type<bool>, logical_or const & /*f*/, A2 & a2 ) const
|
|
1399
237
|
{
|
|
1400
|
-
|
|
238
|
+
static_assert( sizeof...(A) == 2, "operator|| must have two arguments" );
|
|
239
|
+
return a2[ std::get<0>( data_ ) ] || a2[ std::get<1>( data_ ) ];
|
|
1401
240
|
}
|
|
1402
241
|
|
|
242
|
+
//
|
|
243
|
+
|
|
1403
244
|
template<class V> void accept( V & v ) const
|
|
1404
245
|
{
|
|
1405
|
-
|
|
1406
|
-
using boost::visit_each;
|
|
1407
|
-
#endif
|
|
1408
|
-
|
|
1409
|
-
BOOST_BIND_VISIT_EACH( v, f_, 0 );
|
|
1410
|
-
l_.accept( v );
|
|
246
|
+
_bi::tuple_for_each( accept_lambda<V>( v ), data_ );
|
|
1411
247
|
}
|
|
1412
248
|
|
|
1413
|
-
bool
|
|
249
|
+
bool operator==( list const & rhs ) const
|
|
1414
250
|
{
|
|
1415
|
-
return
|
|
251
|
+
return _bi::tuple_for_each( equal_lambda(), data_, rhs.data_ ).result;
|
|
1416
252
|
}
|
|
1417
253
|
};
|
|
1418
254
|
|
|
1419
|
-
|
|
255
|
+
// bind_t
|
|
1420
256
|
|
|
1421
|
-
template<class
|
|
257
|
+
template<class... A> class rrlist
|
|
1422
258
|
{
|
|
1423
|
-
|
|
259
|
+
private:
|
|
1424
260
|
|
|
1425
|
-
|
|
261
|
+
using args_type = std::tuple<A...>;
|
|
1426
262
|
|
|
1427
|
-
|
|
263
|
+
using data_type = std::tuple<A&...>;
|
|
264
|
+
data_type data_;
|
|
1428
265
|
|
|
1429
|
-
|
|
1430
|
-
#include <boost/bind/bind_template.hpp>
|
|
1431
|
-
#undef BOOST_BIND_RETURN
|
|
266
|
+
template<class...> friend class rrlist;
|
|
1432
267
|
|
|
1433
|
-
|
|
268
|
+
public:
|
|
1434
269
|
|
|
1435
|
-
|
|
270
|
+
explicit rrlist( A&... a ): data_( a... ) {}
|
|
271
|
+
template<class... B> explicit rrlist( rrlist<B...> const& r ): data_( r.data_ ) {}
|
|
1436
272
|
|
|
1437
|
-
template<
|
|
1438
|
-
{
|
|
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
|
+
}
|
|
1439
277
|
|
|
1440
|
-
template<
|
|
1441
|
-
{
|
|
1442
|
-
|
|
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
|
+
}
|
|
1443
282
|
|
|
1444
|
-
|
|
283
|
+
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
|
1445
284
|
|
|
1446
|
-
|
|
285
|
+
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
|
1447
286
|
|
|
1448
|
-
|
|
1449
|
-
#include <boost/bind/bind_template.hpp>
|
|
1450
|
-
#undef BOOST_BIND_RETURN
|
|
287
|
+
template<class T> T & operator[] ( reference_wrapper<T> const & v ) const { return v.get(); }
|
|
1451
288
|
|
|
1452
|
-
|
|
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
|
+
}
|
|
1453
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
|
+
}
|
|
1454
300
|
};
|
|
1455
301
|
|
|
1456
|
-
template
|
|
1457
|
-
{
|
|
1458
|
-
|
|
1459
|
-
template<class F, class L> class implementation
|
|
302
|
+
template<class R, class F, class L> class bind_t
|
|
1460
303
|
{
|
|
1461
304
|
private:
|
|
1462
305
|
|
|
1463
|
-
|
|
306
|
+
F f_;
|
|
307
|
+
L l_;
|
|
1464
308
|
|
|
1465
309
|
public:
|
|
1466
310
|
|
|
1467
|
-
typedef
|
|
1468
|
-
|
|
1469
|
-
implementation(F f, L const & l): f_(f), l_(l) {}
|
|
1470
|
-
|
|
1471
|
-
#define BOOST_BIND_RETURN
|
|
1472
|
-
#include <boost/bind/bind_template.hpp>
|
|
1473
|
-
#undef BOOST_BIND_RETURN
|
|
311
|
+
typedef typename result_traits<R, F>::type result_type;
|
|
312
|
+
typedef bind_t this_type;
|
|
1474
313
|
|
|
1475
|
-
}
|
|
314
|
+
bind_t( F f, L const & l ): f_( std::move(f) ), l_( l ) {}
|
|
1476
315
|
|
|
1477
|
-
|
|
316
|
+
//
|
|
1478
317
|
|
|
1479
|
-
template<class
|
|
1480
|
-
{
|
|
1481
|
-
|
|
318
|
+
template<class... A> result_type operator()( A&&... a )
|
|
319
|
+
{
|
|
320
|
+
rrlist<A...> a2( a... );
|
|
321
|
+
return l_( type<result_type>(), f_, a2 );
|
|
322
|
+
}
|
|
1482
323
|
|
|
1483
|
-
|
|
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
|
+
}
|
|
1484
329
|
|
|
1485
|
-
|
|
330
|
+
//
|
|
1486
331
|
|
|
1487
|
-
|
|
332
|
+
template<class A> result_type eval( A & a )
|
|
333
|
+
{
|
|
334
|
+
return l_( type<result_type>(), f_, a );
|
|
335
|
+
}
|
|
1488
336
|
|
|
1489
|
-
|
|
337
|
+
template<class A> result_type eval( A & a ) const
|
|
338
|
+
{
|
|
339
|
+
return l_( type<result_type>(), f_, a );
|
|
340
|
+
}
|
|
1490
341
|
|
|
1491
|
-
|
|
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
|
+
}
|
|
1492
348
|
|
|
1493
|
-
|
|
349
|
+
bool compare( this_type const & rhs ) const
|
|
350
|
+
{
|
|
351
|
+
return ref_compare( f_, rhs.f_ ) && l_ == rhs.l_;
|
|
352
|
+
}
|
|
353
|
+
};
|
|
1494
354
|
|
|
1495
|
-
|
|
355
|
+
// function_equal
|
|
1496
356
|
|
|
1497
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 )
|
|
1498
358
|
{
|
|
1499
359
|
return a.compare(b);
|
|
1500
360
|
}
|
|
1501
361
|
|
|
1502
|
-
# else
|
|
1503
|
-
|
|
1504
|
-
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 )
|
|
1505
|
-
{
|
|
1506
|
-
return a.compare(b);
|
|
1507
|
-
}
|
|
1508
|
-
|
|
1509
|
-
# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
|
1510
|
-
|
|
1511
|
-
#else // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
|
1512
|
-
|
|
1513
|
-
// put overloads in boost
|
|
1514
|
-
|
|
1515
|
-
} // namespace _bi
|
|
1516
|
-
|
|
1517
|
-
# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
|
1518
|
-
|
|
1519
|
-
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 )
|
|
1520
|
-
{
|
|
1521
|
-
return a.compare(b);
|
|
1522
|
-
}
|
|
1523
|
-
|
|
1524
|
-
# else
|
|
1525
|
-
|
|
1526
|
-
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 )
|
|
1527
|
-
{
|
|
1528
|
-
return a.compare(b);
|
|
1529
|
-
}
|
|
1530
|
-
|
|
1531
|
-
# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
|
1532
|
-
|
|
1533
|
-
namespace _bi
|
|
1534
|
-
{
|
|
1535
|
-
|
|
1536
|
-
#endif // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
|
1537
|
-
|
|
1538
362
|
// add_value
|
|
1539
363
|
|
|
1540
|
-
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || (__SUNPRO_CC >= 0x530)
|
|
1541
|
-
|
|
1542
|
-
#if defined( BOOST_BORLANDC ) && BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x582) )
|
|
1543
|
-
|
|
1544
|
-
template<class T> struct add_value
|
|
1545
|
-
{
|
|
1546
|
-
typedef _bi::value<T> type;
|
|
1547
|
-
};
|
|
1548
|
-
|
|
1549
|
-
#else
|
|
1550
|
-
|
|
1551
364
|
template< class T, int I > struct add_value_2
|
|
1552
365
|
{
|
|
1553
366
|
typedef boost::arg<I> type;
|
|
@@ -1563,8 +376,6 @@ template<class T> struct add_value
|
|
|
1563
376
|
typedef typename add_value_2< T, boost::is_placeholder< T >::value >::type type;
|
|
1564
377
|
};
|
|
1565
378
|
|
|
1566
|
-
#endif
|
|
1567
|
-
|
|
1568
379
|
template<class T> struct add_value< value<T> >
|
|
1569
380
|
{
|
|
1570
381
|
typedef _bi::value<T> type;
|
|
@@ -1590,135 +401,11 @@ template<class R, class F, class L> struct add_value< bind_t<R, F, L> >
|
|
|
1590
401
|
typedef bind_t<R, F, L> type;
|
|
1591
402
|
};
|
|
1592
403
|
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
template<int I> struct _avt_0;
|
|
1596
|
-
|
|
1597
|
-
template<> struct _avt_0<1>
|
|
1598
|
-
{
|
|
1599
|
-
template<class T> struct inner
|
|
1600
|
-
{
|
|
1601
|
-
typedef T type;
|
|
1602
|
-
};
|
|
1603
|
-
};
|
|
1604
|
-
|
|
1605
|
-
template<> struct _avt_0<2>
|
|
1606
|
-
{
|
|
1607
|
-
template<class T> struct inner
|
|
1608
|
-
{
|
|
1609
|
-
typedef value<T> type;
|
|
1610
|
-
};
|
|
1611
|
-
};
|
|
1612
|
-
|
|
1613
|
-
typedef char (&_avt_r1) [1];
|
|
1614
|
-
typedef char (&_avt_r2) [2];
|
|
1615
|
-
|
|
1616
|
-
template<class T> _avt_r1 _avt_f(value<T>);
|
|
1617
|
-
template<class T> _avt_r1 _avt_f(reference_wrapper<T>);
|
|
1618
|
-
template<int I> _avt_r1 _avt_f(arg<I>);
|
|
1619
|
-
template<int I> _avt_r1 _avt_f(arg<I> (*) ());
|
|
1620
|
-
template<class R, class F, class L> _avt_r1 _avt_f(bind_t<R, F, L>);
|
|
1621
|
-
|
|
1622
|
-
_avt_r2 _avt_f(...);
|
|
1623
|
-
|
|
1624
|
-
template<class T> struct add_value
|
|
1625
|
-
{
|
|
1626
|
-
static T t();
|
|
1627
|
-
typedef typename _avt_0<sizeof(_avt_f(t()))>::template inner<T>::type type;
|
|
1628
|
-
};
|
|
1629
|
-
|
|
1630
|
-
#endif
|
|
1631
|
-
|
|
1632
|
-
// list_av_N
|
|
1633
|
-
|
|
1634
|
-
template<class A1> struct list_av_1
|
|
1635
|
-
{
|
|
1636
|
-
typedef typename add_value<A1>::type B1;
|
|
1637
|
-
typedef list1<B1> type;
|
|
1638
|
-
};
|
|
1639
|
-
|
|
1640
|
-
template<class A1, class A2> struct list_av_2
|
|
1641
|
-
{
|
|
1642
|
-
typedef typename add_value<A1>::type B1;
|
|
1643
|
-
typedef typename add_value<A2>::type B2;
|
|
1644
|
-
typedef list2<B1, B2> type;
|
|
1645
|
-
};
|
|
1646
|
-
|
|
1647
|
-
template<class A1, class A2, class A3> struct list_av_3
|
|
1648
|
-
{
|
|
1649
|
-
typedef typename add_value<A1>::type B1;
|
|
1650
|
-
typedef typename add_value<A2>::type B2;
|
|
1651
|
-
typedef typename add_value<A3>::type B3;
|
|
1652
|
-
typedef list3<B1, B2, B3> type;
|
|
1653
|
-
};
|
|
1654
|
-
|
|
1655
|
-
template<class A1, class A2, class A3, class A4> struct list_av_4
|
|
1656
|
-
{
|
|
1657
|
-
typedef typename add_value<A1>::type B1;
|
|
1658
|
-
typedef typename add_value<A2>::type B2;
|
|
1659
|
-
typedef typename add_value<A3>::type B3;
|
|
1660
|
-
typedef typename add_value<A4>::type B4;
|
|
1661
|
-
typedef list4<B1, B2, B3, B4> type;
|
|
1662
|
-
};
|
|
1663
|
-
|
|
1664
|
-
template<class A1, class A2, class A3, class A4, class A5> struct list_av_5
|
|
1665
|
-
{
|
|
1666
|
-
typedef typename add_value<A1>::type B1;
|
|
1667
|
-
typedef typename add_value<A2>::type B2;
|
|
1668
|
-
typedef typename add_value<A3>::type B3;
|
|
1669
|
-
typedef typename add_value<A4>::type B4;
|
|
1670
|
-
typedef typename add_value<A5>::type B5;
|
|
1671
|
-
typedef list5<B1, B2, B3, B4, B5> type;
|
|
1672
|
-
};
|
|
1673
|
-
|
|
1674
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6> struct list_av_6
|
|
1675
|
-
{
|
|
1676
|
-
typedef typename add_value<A1>::type B1;
|
|
1677
|
-
typedef typename add_value<A2>::type B2;
|
|
1678
|
-
typedef typename add_value<A3>::type B3;
|
|
1679
|
-
typedef typename add_value<A4>::type B4;
|
|
1680
|
-
typedef typename add_value<A5>::type B5;
|
|
1681
|
-
typedef typename add_value<A6>::type B6;
|
|
1682
|
-
typedef list6<B1, B2, B3, B4, B5, B6> type;
|
|
1683
|
-
};
|
|
1684
|
-
|
|
1685
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct list_av_7
|
|
1686
|
-
{
|
|
1687
|
-
typedef typename add_value<A1>::type B1;
|
|
1688
|
-
typedef typename add_value<A2>::type B2;
|
|
1689
|
-
typedef typename add_value<A3>::type B3;
|
|
1690
|
-
typedef typename add_value<A4>::type B4;
|
|
1691
|
-
typedef typename add_value<A5>::type B5;
|
|
1692
|
-
typedef typename add_value<A6>::type B6;
|
|
1693
|
-
typedef typename add_value<A7>::type B7;
|
|
1694
|
-
typedef list7<B1, B2, B3, B4, B5, B6, B7> type;
|
|
1695
|
-
};
|
|
1696
|
-
|
|
1697
|
-
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct list_av_8
|
|
1698
|
-
{
|
|
1699
|
-
typedef typename add_value<A1>::type B1;
|
|
1700
|
-
typedef typename add_value<A2>::type B2;
|
|
1701
|
-
typedef typename add_value<A3>::type B3;
|
|
1702
|
-
typedef typename add_value<A4>::type B4;
|
|
1703
|
-
typedef typename add_value<A5>::type B5;
|
|
1704
|
-
typedef typename add_value<A6>::type B6;
|
|
1705
|
-
typedef typename add_value<A7>::type B7;
|
|
1706
|
-
typedef typename add_value<A8>::type B8;
|
|
1707
|
-
typedef list8<B1, B2, B3, B4, B5, B6, B7, B8> type;
|
|
1708
|
-
};
|
|
404
|
+
// list_av
|
|
1709
405
|
|
|
1710
|
-
template<class
|
|
406
|
+
template<class... A> struct list_av
|
|
1711
407
|
{
|
|
1712
|
-
typedef typename add_value<
|
|
1713
|
-
typedef typename add_value<A2>::type B2;
|
|
1714
|
-
typedef typename add_value<A3>::type B3;
|
|
1715
|
-
typedef typename add_value<A4>::type B4;
|
|
1716
|
-
typedef typename add_value<A5>::type B5;
|
|
1717
|
-
typedef typename add_value<A6>::type B6;
|
|
1718
|
-
typedef typename add_value<A7>::type B7;
|
|
1719
|
-
typedef typename add_value<A8>::type B8;
|
|
1720
|
-
typedef typename add_value<A9>::type B9;
|
|
1721
|
-
typedef list9<B1, B2, B3, B4, B5, B6, B7, B8, B9> type;
|
|
408
|
+
typedef list< typename add_value<A>::type... > type;
|
|
1722
409
|
};
|
|
1723
410
|
|
|
1724
411
|
// operator!
|
|
@@ -1729,10 +416,10 @@ struct logical_not
|
|
|
1729
416
|
};
|
|
1730
417
|
|
|
1731
418
|
template<class R, class F, class L>
|
|
1732
|
-
bind_t< bool, logical_not,
|
|
419
|
+
bind_t< bool, logical_not, list< bind_t<R, F, L> > >
|
|
1733
420
|
operator! (bind_t<R, F, L> const & f)
|
|
1734
421
|
{
|
|
1735
|
-
typedef
|
|
422
|
+
typedef list< bind_t<R, F, L> > list_type;
|
|
1736
423
|
return bind_t<bool, logical_not, list_type> ( logical_not(), list_type(f) );
|
|
1737
424
|
}
|
|
1738
425
|
|
|
@@ -1746,11 +433,11 @@ struct name \
|
|
|
1746
433
|
}; \
|
|
1747
434
|
\
|
|
1748
435
|
template<class R, class F, class L, class A2> \
|
|
1749
|
-
bind_t< bool, name,
|
|
436
|
+
bind_t< bool, name, list< bind_t<R, F, L>, typename add_value<A2>::type > > \
|
|
1750
437
|
operator op (bind_t<R, F, L> const & f, A2 a2) \
|
|
1751
438
|
{ \
|
|
1752
439
|
typedef typename add_value<A2>::type B2; \
|
|
1753
|
-
typedef
|
|
440
|
+
typedef list< bind_t<R, F, L>, B2> list_type; \
|
|
1754
441
|
return bind_t<bool, name, list_type> ( name(), list_type(f, a2) ); \
|
|
1755
442
|
}
|
|
1756
443
|
|
|
@@ -1768,36 +455,12 @@ BOOST_BIND_OPERATOR( ||, logical_or )
|
|
|
1768
455
|
|
|
1769
456
|
#undef BOOST_BIND_OPERATOR
|
|
1770
457
|
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
// resolve ambiguity with rel_ops
|
|
1774
|
-
|
|
1775
|
-
#define BOOST_BIND_OPERATOR( op, name ) \
|
|
1776
|
-
\
|
|
1777
|
-
template<class R, class F, class L> \
|
|
1778
|
-
bind_t< bool, name, list2< bind_t<R, F, L>, bind_t<R, F, L> > > \
|
|
1779
|
-
operator op (bind_t<R, F, L> const & f, bind_t<R, F, L> const & g) \
|
|
1780
|
-
{ \
|
|
1781
|
-
typedef list2< bind_t<R, F, L>, bind_t<R, F, L> > list_type; \
|
|
1782
|
-
return bind_t<bool, name, list_type> ( name(), list_type(f, g) ); \
|
|
1783
|
-
}
|
|
1784
|
-
|
|
1785
|
-
BOOST_BIND_OPERATOR( !=, not_equal )
|
|
1786
|
-
BOOST_BIND_OPERATOR( <=, less_equal )
|
|
1787
|
-
BOOST_BIND_OPERATOR( >, greater )
|
|
1788
|
-
BOOST_BIND_OPERATOR( >=, greater_equal )
|
|
1789
|
-
|
|
1790
|
-
#endif
|
|
1791
|
-
|
|
1792
|
-
// visit_each, ADL
|
|
1793
|
-
|
|
1794
|
-
#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( BOOST_BORLANDC ) \
|
|
1795
|
-
&& !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
|
|
458
|
+
// visit_each
|
|
1796
459
|
|
|
1797
460
|
template<class V, class T> void visit_each( V & v, value<T> const & t, int )
|
|
1798
461
|
{
|
|
1799
462
|
using boost::visit_each;
|
|
1800
|
-
|
|
463
|
+
visit_each( v, t.get(), 0 );
|
|
1801
464
|
}
|
|
1802
465
|
|
|
1803
466
|
template<class V, class R, class F, class L> void visit_each( V & v, bind_t<R, F, L> const & t, int )
|
|
@@ -1805,27 +468,8 @@ template<class V, class R, class F, class L> void visit_each( V & v, bind_t<R, F
|
|
|
1805
468
|
t.accept( v );
|
|
1806
469
|
}
|
|
1807
470
|
|
|
1808
|
-
#endif
|
|
1809
|
-
|
|
1810
471
|
} // namespace _bi
|
|
1811
472
|
|
|
1812
|
-
// visit_each, no ADL
|
|
1813
|
-
|
|
1814
|
-
#if defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( BOOST_BORLANDC ) \
|
|
1815
|
-
|| (defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
|
|
1816
|
-
|
|
1817
|
-
template<class V, class T> void visit_each( V & v, _bi::value<T> const & t, int )
|
|
1818
|
-
{
|
|
1819
|
-
BOOST_BIND_VISIT_EACH( v, t.get(), 0 );
|
|
1820
|
-
}
|
|
1821
|
-
|
|
1822
|
-
template<class V, class R, class F, class L> void visit_each( V & v, _bi::bind_t<R, F, L> const & t, int )
|
|
1823
|
-
{
|
|
1824
|
-
t.accept( v );
|
|
1825
|
-
}
|
|
1826
|
-
|
|
1827
|
-
#endif
|
|
1828
|
-
|
|
1829
473
|
// is_bind_expression
|
|
1830
474
|
|
|
1831
475
|
template< class T > struct is_bind_expression
|
|
@@ -1833,15 +477,11 @@ template< class T > struct is_bind_expression
|
|
|
1833
477
|
enum _vt { value = 0 };
|
|
1834
478
|
};
|
|
1835
479
|
|
|
1836
|
-
#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
|
|
1837
|
-
|
|
1838
480
|
template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R, F, L > >
|
|
1839
481
|
{
|
|
1840
482
|
enum _vt { value = 1 };
|
|
1841
483
|
};
|
|
1842
484
|
|
|
1843
|
-
#endif
|
|
1844
|
-
|
|
1845
485
|
// bind
|
|
1846
486
|
|
|
1847
487
|
#ifndef BOOST_BIND
|
|
@@ -1850,266 +490,135 @@ template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R,
|
|
|
1850
490
|
|
|
1851
491
|
// generic function objects
|
|
1852
492
|
|
|
1853
|
-
|
|
1854
|
-
_bi::bind_t<R, F, _bi::list0>
|
|
1855
|
-
BOOST_BIND(F f)
|
|
1856
|
-
{
|
|
1857
|
-
typedef _bi::list0 list_type;
|
|
1858
|
-
return _bi::bind_t<R, F, list_type> (f, list_type());
|
|
1859
|
-
}
|
|
1860
|
-
|
|
1861
|
-
template<class R, class F, class A1>
|
|
1862
|
-
_bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>
|
|
1863
|
-
BOOST_BIND(F f, A1 a1)
|
|
1864
|
-
{
|
|
1865
|
-
typedef typename _bi::list_av_1<A1>::type list_type;
|
|
1866
|
-
return _bi::bind_t<R, F, list_type> (f, list_type(a1));
|
|
1867
|
-
}
|
|
1868
|
-
|
|
1869
|
-
template<class R, class F, class A1, class A2>
|
|
1870
|
-
_bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>
|
|
1871
|
-
BOOST_BIND(F f, A1 a1, A2 a2)
|
|
1872
|
-
{
|
|
1873
|
-
typedef typename _bi::list_av_2<A1, A2>::type list_type;
|
|
1874
|
-
return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
|
|
1875
|
-
}
|
|
1876
|
-
|
|
1877
|
-
template<class R, class F, class A1, class A2, class A3>
|
|
1878
|
-
_bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>
|
|
1879
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)
|
|
1880
|
-
{
|
|
1881
|
-
typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
|
|
1882
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
|
|
1883
|
-
}
|
|
1884
|
-
|
|
1885
|
-
template<class R, class F, class A1, class A2, class A3, class A4>
|
|
1886
|
-
_bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
|
|
1887
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)
|
|
1888
|
-
{
|
|
1889
|
-
typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
|
|
1890
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
|
|
1891
|
-
}
|
|
1892
|
-
|
|
1893
|
-
template<class R, class F, class A1, class A2, class A3, class A4, class A5>
|
|
1894
|
-
_bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
|
|
1895
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
|
|
1896
|
-
{
|
|
1897
|
-
typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
|
|
1898
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
|
|
1899
|
-
}
|
|
1900
|
-
|
|
1901
|
-
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>
|
|
1902
|
-
_bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
|
|
1903
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
|
|
1904
|
-
{
|
|
1905
|
-
typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
|
|
1906
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
|
|
1907
|
-
}
|
|
1908
|
-
|
|
1909
|
-
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
|
|
1910
|
-
_bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
|
|
1911
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
|
|
1912
|
-
{
|
|
1913
|
-
typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
|
|
1914
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
|
|
1915
|
-
}
|
|
493
|
+
#if !BOOST_WORKAROUND(__GNUC__, < 6)
|
|
1916
494
|
|
|
1917
|
-
template<class R, class F, class
|
|
1918
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1919
|
-
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 )
|
|
1920
498
|
{
|
|
1921
|
-
typedef typename _bi::
|
|
1922
|
-
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... ) );
|
|
1923
501
|
}
|
|
1924
502
|
|
|
1925
|
-
|
|
1926
|
-
_bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
|
|
1927
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
|
|
1928
|
-
{
|
|
1929
|
-
typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
|
|
1930
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
|
|
1931
|
-
}
|
|
503
|
+
#else
|
|
1932
504
|
|
|
1933
|
-
//
|
|
505
|
+
// g++ 4.x (and some 5.x) consider boost::bind<void>( &X::f )
|
|
506
|
+
// ambiguous if the variadic form above is used
|
|
1934
507
|
|
|
1935
508
|
template<class R, class F>
|
|
1936
|
-
_bi::bind_t<R, F, _bi::
|
|
1937
|
-
BOOST_BIND(
|
|
509
|
+
_bi::bind_t<R, F, typename _bi::list_av<>::type>
|
|
510
|
+
BOOST_BIND( F f )
|
|
1938
511
|
{
|
|
1939
|
-
typedef _bi::
|
|
1940
|
-
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() );
|
|
1941
514
|
}
|
|
1942
515
|
|
|
1943
516
|
template<class R, class F, class A1>
|
|
1944
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1945
|
-
BOOST_BIND(
|
|
517
|
+
_bi::bind_t<R, F, typename _bi::list_av<A1>::type>
|
|
518
|
+
BOOST_BIND( F f, A1 a1 )
|
|
1946
519
|
{
|
|
1947
|
-
typedef typename _bi::
|
|
1948
|
-
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 ) );
|
|
1949
522
|
}
|
|
1950
523
|
|
|
1951
524
|
template<class R, class F, class A1, class A2>
|
|
1952
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1953
|
-
BOOST_BIND(
|
|
525
|
+
_bi::bind_t<R, F, typename _bi::list_av<A1, A2>::type>
|
|
526
|
+
BOOST_BIND( F f, A1 a1, A2 a2 )
|
|
1954
527
|
{
|
|
1955
|
-
typedef typename _bi::
|
|
1956
|
-
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 ) );
|
|
1957
530
|
}
|
|
1958
531
|
|
|
1959
532
|
template<class R, class F, class A1, class A2, class A3>
|
|
1960
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1961
|
-
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 )
|
|
1962
535
|
{
|
|
1963
|
-
typedef typename _bi::
|
|
1964
|
-
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 ) );
|
|
1965
538
|
}
|
|
1966
539
|
|
|
1967
540
|
template<class R, class F, class A1, class A2, class A3, class A4>
|
|
1968
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1969
|
-
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 )
|
|
1970
543
|
{
|
|
1971
|
-
typedef typename _bi::
|
|
1972
|
-
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 ) );
|
|
1973
546
|
}
|
|
1974
547
|
|
|
1975
548
|
template<class R, class F, class A1, class A2, class A3, class A4, class A5>
|
|
1976
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1977
|
-
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 )
|
|
1978
551
|
{
|
|
1979
|
-
typedef typename _bi::
|
|
1980
|
-
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 ) );
|
|
1981
554
|
}
|
|
1982
555
|
|
|
1983
556
|
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>
|
|
1984
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1985
|
-
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 )
|
|
1986
559
|
{
|
|
1987
|
-
typedef typename _bi::
|
|
1988
|
-
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 ) );
|
|
1989
562
|
}
|
|
1990
563
|
|
|
1991
564
|
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
|
|
1992
|
-
_bi::bind_t<R, F, typename _bi::
|
|
1993
|
-
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 )
|
|
1994
567
|
{
|
|
1995
|
-
typedef typename _bi::
|
|
1996
|
-
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 ) );
|
|
1997
570
|
}
|
|
1998
571
|
|
|
1999
572
|
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
|
|
2000
|
-
_bi::bind_t<R, F, typename _bi::
|
|
2001
|
-
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 )
|
|
2002
575
|
{
|
|
2003
|
-
typedef typename _bi::
|
|
2004
|
-
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 ) );
|
|
2005
578
|
}
|
|
2006
579
|
|
|
2007
580
|
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
|
|
2008
|
-
_bi::bind_t<R, F, typename _bi::
|
|
2009
|
-
BOOST_BIND(
|
|
2010
|
-
{
|
|
2011
|
-
typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
|
|
2012
|
-
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
|
|
2013
|
-
}
|
|
2014
|
-
|
|
2015
|
-
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
|
|
2016
|
-
|
|
2017
|
-
// adaptable function objects
|
|
2018
|
-
|
|
2019
|
-
template<class F>
|
|
2020
|
-
_bi::bind_t<_bi::unspecified, F, _bi::list0>
|
|
2021
|
-
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 )
|
|
2022
583
|
{
|
|
2023
|
-
typedef _bi::
|
|
2024
|
-
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 ) );
|
|
2025
586
|
}
|
|
2026
587
|
|
|
2027
|
-
|
|
2028
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_1<A1>::type>
|
|
2029
|
-
BOOST_BIND(F f, A1 a1)
|
|
2030
|
-
{
|
|
2031
|
-
typedef typename _bi::list_av_1<A1>::type list_type;
|
|
2032
|
-
return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1));
|
|
2033
|
-
}
|
|
2034
|
-
|
|
2035
|
-
template<class F, class A1, class A2>
|
|
2036
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_2<A1, A2>::type>
|
|
2037
|
-
BOOST_BIND(F f, A1 a1, A2 a2)
|
|
2038
|
-
{
|
|
2039
|
-
typedef typename _bi::list_av_2<A1, A2>::type list_type;
|
|
2040
|
-
return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1, a2));
|
|
2041
|
-
}
|
|
2042
|
-
|
|
2043
|
-
template<class F, class A1, class A2, class A3>
|
|
2044
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_3<A1, A2, A3>::type>
|
|
2045
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)
|
|
2046
|
-
{
|
|
2047
|
-
typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
|
|
2048
|
-
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3));
|
|
2049
|
-
}
|
|
2050
|
-
|
|
2051
|
-
template<class F, class A1, class A2, class A3, class A4>
|
|
2052
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
|
|
2053
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)
|
|
2054
|
-
{
|
|
2055
|
-
typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
|
|
2056
|
-
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4));
|
|
2057
|
-
}
|
|
2058
|
-
|
|
2059
|
-
template<class F, class A1, class A2, class A3, class A4, class A5>
|
|
2060
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
|
|
2061
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
|
|
2062
|
-
{
|
|
2063
|
-
typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
|
|
2064
|
-
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
|
|
2065
|
-
}
|
|
588
|
+
#endif
|
|
2066
589
|
|
|
2067
|
-
|
|
2068
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
|
|
2069
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
|
|
2070
|
-
{
|
|
2071
|
-
typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
|
|
2072
|
-
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
|
|
2073
|
-
}
|
|
590
|
+
// generic function objects, alternative syntax
|
|
2074
591
|
|
|
2075
|
-
template<class
|
|
2076
|
-
_bi::bind_t<
|
|
2077
|
-
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 )
|
|
2078
595
|
{
|
|
2079
|
-
typedef typename _bi::
|
|
2080
|
-
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... ) );
|
|
2081
598
|
}
|
|
2082
599
|
|
|
2083
|
-
|
|
2084
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
|
|
2085
|
-
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
|
|
2086
|
-
{
|
|
2087
|
-
typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
|
|
2088
|
-
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
|
|
2089
|
-
}
|
|
600
|
+
// adaptable function objects
|
|
2090
601
|
|
|
2091
|
-
template<class F, class
|
|
2092
|
-
_bi::bind_t<_bi::unspecified, F, typename _bi::
|
|
2093
|
-
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 )
|
|
2094
605
|
{
|
|
2095
|
-
typedef typename _bi::
|
|
2096
|
-
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... ) );
|
|
2097
608
|
}
|
|
2098
609
|
|
|
2099
|
-
#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
|
|
2100
|
-
|
|
2101
610
|
// function pointers
|
|
2102
611
|
|
|
2103
612
|
#define BOOST_BIND_CC
|
|
2104
613
|
#define BOOST_BIND_ST
|
|
2105
614
|
#define BOOST_BIND_NOEXCEPT
|
|
2106
615
|
|
|
2107
|
-
#include <boost/bind/bind_cc.hpp>
|
|
616
|
+
#include <boost/bind/detail/bind_cc.hpp>
|
|
2108
617
|
|
|
2109
618
|
# if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED )
|
|
2110
619
|
# undef BOOST_BIND_NOEXCEPT
|
|
2111
620
|
# define BOOST_BIND_NOEXCEPT noexcept
|
|
2112
|
-
# include <boost/bind/bind_cc.hpp>
|
|
621
|
+
# include <boost/bind/detail/bind_cc.hpp>
|
|
2113
622
|
# endif
|
|
2114
623
|
|
|
2115
624
|
#undef BOOST_BIND_CC
|
|
@@ -2122,7 +631,7 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2122
631
|
#define BOOST_BIND_ST
|
|
2123
632
|
#define BOOST_BIND_NOEXCEPT
|
|
2124
633
|
|
|
2125
|
-
#include <boost/bind/bind_cc.hpp>
|
|
634
|
+
#include <boost/bind/detail/bind_cc.hpp>
|
|
2126
635
|
|
|
2127
636
|
#undef BOOST_BIND_CC
|
|
2128
637
|
#undef BOOST_BIND_ST
|
|
@@ -2136,7 +645,7 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2136
645
|
#define BOOST_BIND_ST
|
|
2137
646
|
#define BOOST_BIND_NOEXCEPT
|
|
2138
647
|
|
|
2139
|
-
#include <boost/bind/bind_cc.hpp>
|
|
648
|
+
#include <boost/bind/detail/bind_cc.hpp>
|
|
2140
649
|
|
|
2141
650
|
#undef BOOST_BIND_CC
|
|
2142
651
|
#undef BOOST_BIND_ST
|
|
@@ -2150,7 +659,7 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2150
659
|
#define BOOST_BIND_CC
|
|
2151
660
|
#define BOOST_BIND_NOEXCEPT
|
|
2152
661
|
|
|
2153
|
-
#include <boost/bind/bind_cc.hpp>
|
|
662
|
+
#include <boost/bind/detail/bind_cc.hpp>
|
|
2154
663
|
|
|
2155
664
|
#undef BOOST_BIND_ST
|
|
2156
665
|
#undef BOOST_BIND_CC
|
|
@@ -2164,14 +673,14 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2164
673
|
#define BOOST_BIND_MF_CC
|
|
2165
674
|
#define BOOST_BIND_MF_NOEXCEPT
|
|
2166
675
|
|
|
2167
|
-
#include <boost/bind/bind_mf_cc.hpp>
|
|
2168
|
-
#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>
|
|
2169
678
|
|
|
2170
679
|
# if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED )
|
|
2171
680
|
# undef BOOST_BIND_MF_NOEXCEPT
|
|
2172
681
|
# define BOOST_BIND_MF_NOEXCEPT noexcept
|
|
2173
|
-
# include <boost/bind/bind_mf_cc.hpp>
|
|
2174
|
-
# 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>
|
|
2175
684
|
# endif
|
|
2176
685
|
|
|
2177
686
|
#undef BOOST_BIND_MF_NAME
|
|
@@ -2184,8 +693,8 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2184
693
|
#define BOOST_BIND_MF_CC __cdecl
|
|
2185
694
|
#define BOOST_BIND_MF_NOEXCEPT
|
|
2186
695
|
|
|
2187
|
-
#include <boost/bind/bind_mf_cc.hpp>
|
|
2188
|
-
#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>
|
|
2189
698
|
|
|
2190
699
|
#undef BOOST_BIND_MF_NAME
|
|
2191
700
|
#undef BOOST_BIND_MF_CC
|
|
@@ -2199,8 +708,8 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2199
708
|
#define BOOST_BIND_MF_CC __stdcall
|
|
2200
709
|
#define BOOST_BIND_MF_NOEXCEPT
|
|
2201
710
|
|
|
2202
|
-
#include <boost/bind/bind_mf_cc.hpp>
|
|
2203
|
-
#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>
|
|
2204
713
|
|
|
2205
714
|
#undef BOOST_BIND_MF_NAME
|
|
2206
715
|
#undef BOOST_BIND_MF_CC
|
|
@@ -2214,8 +723,8 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2214
723
|
#define BOOST_BIND_MF_CC __fastcall
|
|
2215
724
|
#define BOOST_BIND_MF_NOEXCEPT
|
|
2216
725
|
|
|
2217
|
-
#include <boost/bind/bind_mf_cc.hpp>
|
|
2218
|
-
#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>
|
|
2219
728
|
|
|
2220
729
|
#undef BOOST_BIND_MF_NAME
|
|
2221
730
|
#undef BOOST_BIND_MF_CC
|
|
@@ -2225,20 +734,6 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
|
|
2225
734
|
|
|
2226
735
|
// data member pointers
|
|
2227
736
|
|
|
2228
|
-
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
|
|
2229
|
-
|| ( defined(BOOST_BORLANDC) && BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT( 0x620 ) ) )
|
|
2230
|
-
|
|
2231
|
-
template<class R, class T, class A1>
|
|
2232
|
-
_bi::bind_t< R, _mfi::dm<R, T>, typename _bi::list_av_1<A1>::type >
|
|
2233
|
-
BOOST_BIND(R T::*f, A1 a1)
|
|
2234
|
-
{
|
|
2235
|
-
typedef _mfi::dm<R, T> F;
|
|
2236
|
-
typedef typename _bi::list_av_1<A1>::type list_type;
|
|
2237
|
-
return _bi::bind_t<R, F, list_type>( F(f), list_type(a1) );
|
|
2238
|
-
}
|
|
2239
|
-
|
|
2240
|
-
#else
|
|
2241
|
-
|
|
2242
737
|
namespace _bi
|
|
2243
738
|
{
|
|
2244
739
|
|
|
@@ -2266,8 +761,6 @@ template< class R, class T > struct add_cref< R (T::*) (), 1 >
|
|
|
2266
761
|
typedef void type;
|
|
2267
762
|
};
|
|
2268
763
|
|
|
2269
|
-
#if !defined(__IBMCPP__) || __IBMCPP_FUNC_CV_TMPL_ARG_DEDUCTION
|
|
2270
|
-
|
|
2271
764
|
template< class R, class T > struct add_cref< R (T::*) () const, 1 >
|
|
2272
765
|
{
|
|
2273
766
|
typedef void type;
|
|
@@ -2282,8 +775,6 @@ template< class R, class T > struct add_cref< R (T::*) () const noexcept, 1 >
|
|
|
2282
775
|
|
|
2283
776
|
#endif // __cpp_noexcept_function_type
|
|
2284
777
|
|
|
2285
|
-
#endif // __IBMCPP__
|
|
2286
|
-
|
|
2287
778
|
template<class R> struct isref
|
|
2288
779
|
{
|
|
2289
780
|
enum value_type { value = 0 };
|
|
@@ -2317,19 +808,17 @@ template< class A1, class M, class T >
|
|
|
2317
808
|
_bi::bind_t<
|
|
2318
809
|
typename _bi::dm_result< M T::*, A1 >::type,
|
|
2319
810
|
_mfi::dm<M, T>,
|
|
2320
|
-
typename _bi::
|
|
811
|
+
typename _bi::list_av<A1>::type
|
|
2321
812
|
>
|
|
2322
813
|
|
|
2323
814
|
BOOST_BIND( M T::*f, A1 a1 )
|
|
2324
815
|
{
|
|
2325
816
|
typedef typename _bi::dm_result< M T::*, A1 >::type result_type;
|
|
2326
817
|
typedef _mfi::dm<M, T> F;
|
|
2327
|
-
typedef typename _bi::
|
|
818
|
+
typedef typename _bi::list_av<A1>::type list_type;
|
|
2328
819
|
return _bi::bind_t< result_type, F, list_type >( F( f ), list_type( a1 ) );
|
|
2329
820
|
}
|
|
2330
821
|
|
|
2331
|
-
#endif
|
|
2332
|
-
|
|
2333
822
|
} // namespace boost
|
|
2334
823
|
|
|
2335
824
|
#ifndef BOOST_BIND_NO_PLACEHOLDERS
|