passenger 6.0.8 → 6.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +29 -0
- data/CONTRIBUTORS +5 -0
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Shared/ApplicationPoolApiKey.h +2 -0
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +27 -27
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +2 -2
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +19 -19
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/DataStructures/HashedStaticString.h +2 -0
- data/src/cxx_supportlib/FileDescriptor.h +8 -0
- data/src/cxx_supportlib/StaticString.h +2 -0
- data/src/cxx_supportlib/Utils/HttpConstants.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/case_conv.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/classification.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_format_all.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +240 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +21 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +21 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +20 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +29 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +22 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +58 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +20 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +25 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +1 -1
- 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 +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +1 -1
- 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 +58 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +88 -12
- 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 +1 -1
- 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 +10 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +1 -1
- 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 +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_serial_port_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +6 -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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +13 -11
- 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 +7 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +25 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +3 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +29 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +4 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +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_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 +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_serial_port_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +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 +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +1 -1
- 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 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +16 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +1 -1
- 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 +1 -1
- 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 +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +4 -5
- 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 +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +107 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +194 -112
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +283 -83
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +218 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +47 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +287 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +39 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +62 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +29 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_invocable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_receiver.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/bulk_sender.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/submit_receiver.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/void_receiver.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +67 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +39 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/receiver_invocation_error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +281 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +62 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +216 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +215 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +14 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +34 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +137 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +245 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +13 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +13 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +1 -1
- 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 +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +6 -2
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +13 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +56 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +106 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +2 -1
- 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 +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +6 -2
- 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 +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +56 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +21 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +1 -1
- 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 +23 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +21 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +47 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +32 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +51 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +17 -6
- 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 +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +235 -157
- data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +79 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +55 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +106 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +136 -89
- data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +100 -58
- 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/socket_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +2 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +55 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +23 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +21 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_free.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_member.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_free.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_member.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_free.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_free.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_member.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_free.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_member.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_free.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_member.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_free.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_member.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_free.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_member.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_free.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_member.hpp +1 -1
- 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 +3 -11
- 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 +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +55 -43
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +32 -32
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +25 -1
- data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +3 -23
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf2_cc.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/bind/detail/result_traits.hpp +154 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +52 -8
- data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +4 -320
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +214 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +215 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx98.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +186 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +37 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +21 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +45 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +123 -71
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +117 -45
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +142 -36
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +100 -31
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +141 -90
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/guards_dended.hpp +198 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +12 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +4 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +22 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +126 -92
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_functors.hpp +4 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +3000 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +237 -169
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +10 -28
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +58 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +84 -80
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +21 -35
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +51 -26
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +109 -57
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +184 -105
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +123 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +368 -384
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/extensions.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +102 -134
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +581 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +199 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/splitmix64.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_iterator.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_iterator.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +55 -37
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/integer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_ct.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/integer/integer_log2.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/integer/integer_mask.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/integer/mod_inverse.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/integer/static_log2.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/integer/static_min_max.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/integer_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/integer_traits.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +8 -16
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/array_initializer.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +94 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/twin.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/value_functors.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +11 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +7 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +18 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +38 -38
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +13 -16
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/random/src/random_device.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +3 -7
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +10 -121
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +31 -14
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +4 -48
- data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +30 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/fwd_macros.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +224 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +253 -43
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/enum.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/params.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/mpl/has_xxx.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mpl/string.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/none.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/converter_policies.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/converter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/meta.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/arg_list.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/default.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/maybe.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/name.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/item.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_arg_list.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg_ref.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_forward_match.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/specification.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/is_binary.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/is_nullary.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tag.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tagged_argument.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/parameter/config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/macros.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/match.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/parameter/parameters.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/pool/object_pool.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool_alloc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/alpha.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/blackfin.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/convex.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/e2k.h +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ia64.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/m68k.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/mips.h +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/parisc.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ppc.h +55 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/pyramid.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/riscv.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/rs6k.h +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sparc.h +14 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/superh.h +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys370.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys390.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/32.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/64.h +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/z.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/cxx.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stdcpp3.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/bsdi.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/dragonfly.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/free.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/net.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/open.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/other.h +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/wordsize.h +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform.h +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/add.hpp +54 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/dec.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/detail/is_1_number.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/detail/is_maximum_number.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/detail/is_minimum_number.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/detail/maximum_number.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/div.hpp +37 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/inc.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/dec_1024.hpp +531 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/dec_256.hpp +276 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/dec_512.hpp +275 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/inc_1024.hpp +536 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/inc_256.hpp +275 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/inc_512.hpp +280 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/mod.hpp +37 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/mul.hpp +60 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/sub.hpp +51 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/detail/get_data.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/enum.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/insert.hpp +71 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/remove.hpp +66 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/replace.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/comparison/limits/not_equal_1024.hpp +1044 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/comparison/limits/not_equal_256.hpp +793 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/comparison/limits/not_equal_512.hpp +532 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/comparison/not_equal.hpp +44 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +16 -33
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/limits.hpp +136 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/deduce_d.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/dmc/while.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/edg/limits/while_1024.hpp +1044 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/edg/limits/while_256.hpp +533 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/edg/limits/while_512.hpp +532 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/edg/while.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/limits/while_1024.hpp +1044 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/limits/while_256.hpp +533 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/limits/while_512.hpp +532 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/while.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/limits/while_1024.hpp +531 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/limits/while_256.hpp +275 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/limits/while_512.hpp +275 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/while.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/auto_rec.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/dmc/auto_rec.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/limits/auto_rec_1024.hpp +532 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/limits/auto_rec_256.hpp +280 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/limits/auto_rec_512.hpp +276 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/intercept.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty_variadic.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/limits/intercept_1024.hpp +530 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/limits/intercept_256.hpp +273 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/limits/intercept_512.hpp +274 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/overload.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward1.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward2.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward3.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward4.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward5.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward1_1024.hpp +2573 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward1_256.hpp +1296 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward1_512.hpp +1293 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward2_1024.hpp +2573 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward2_256.hpp +1296 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward2_512.hpp +1293 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward3_1024.hpp +2573 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward3_256.hpp +1296 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward3_512.hpp +1293 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward4_1024.hpp +2573 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward4_256.hpp +1296 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward4_512.hpp +1293 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward5_1024.hpp +2573 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward5_256.hpp +1296 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward5_512.hpp +1293 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse1_1024.hpp +2571 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse1_256.hpp +1296 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse1_512.hpp +1291 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse2_1024.hpp +2571 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse2_256.hpp +1296 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse2_512.hpp +1293 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse3_1024.hpp +2571 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse3_256.hpp +1296 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse3_512.hpp +1293 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse4_1024.hpp +2571 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse4_256.hpp +1296 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse4_512.hpp +1293 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse5_1024.hpp +2571 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse5_256.hpp +1296 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse5_512.hpp +1293 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse1.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse2.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse3.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse4.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse5.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/local_1024.hpp +1549 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/local_256.hpp +782 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/local_512.hpp +781 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/rlocal_1024.hpp +1549 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/rlocal_256.hpp +782 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/rlocal_512.hpp +781 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/local.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/rlocal.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/dmc/fold_left.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/fold_left.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/fold_right.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_left_1024.hpp +1044 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_left_256.hpp +533 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_left_512.hpp +532 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_right_1024.hpp +1557 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_right_256.hpp +791 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_right_512.hpp +789 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/fold_left.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/fold_right.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_left_1024.hpp +532 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_left_256.hpp +275 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_left_512.hpp +276 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_right_1024.hpp +532 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_right_256.hpp +275 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_right_512.hpp +276 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/enum.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/fold_left.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/fold_right.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/for_each_product.hpp +25 -6
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/limits/fold_left_1024.hpp +531 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/limits/fold_left_256.hpp +275 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/limits/fold_left_512.hpp +275 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/reverse.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/size.hpp +56 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_array.hpp +5 -72
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/logical/bool.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/logical/limits/bool_1024.hpp +531 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/logical/limits/bool_256.hpp +275 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/logical/limits/bool_512.hpp +275 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/is_begin_parens.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/remove_parens.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/deduce_r.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/dmc/for.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/edg/for.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/edg/limits/for_1024.hpp +1044 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/edg/limits/for_256.hpp +533 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/edg/limits/for_512.hpp +532 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/for.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/limits/for_1024.hpp +1044 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/limits/for_256.hpp +533 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/limits/for_512.hpp +532 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/msvc/for.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/for.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/for_1024.hpp +531 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/for_256.hpp +275 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/for_512.hpp +275 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/repeat_1024.hpp +1557 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/repeat_256.hpp +791 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/repeat_512.hpp +789 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/repeat.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/repeat_from_to.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/binary_transform.hpp +6 -11
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/limits/split_1024.hpp +530 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/limits/split_256.hpp +272 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/limits/split_512.hpp +274 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/split.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/elem.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/enum.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/fold_left.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/fold_right.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/elem_1024.hpp +530 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/elem_256.hpp +272 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/elem_512.hpp +274 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/enum_1024.hpp +530 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/enum_256.hpp +272 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/enum_512.hpp +274 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_left_1024.hpp +1556 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_left_256.hpp +1053 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_left_512.hpp +788 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_right_1024.hpp +530 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_right_256.hpp +273 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_right_512.hpp +274 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/size_1024.hpp +1043 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/size_256.hpp +532 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/size_512.hpp +531 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/rest_n.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/size.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/variadic_seq_to_seq.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/detail/is_single_return.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/eat.hpp +4 -18
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/elem.hpp +11 -157
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/insert.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/reverse_128.hpp +403 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/reverse_256.hpp +1171 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/reverse_64.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_list_128.hpp +595 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_list_256.hpp +1747 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_list_64.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_128.hpp +403 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +1171 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_64.hpp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_back.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_front.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_back.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_front.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/rem.hpp +17 -39
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/remove.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/replace.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/reverse.hpp +38 -25
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/size.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_array.hpp +15 -12
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_list.hpp +37 -25
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_seq.hpp +38 -24
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/has_opt.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/is_single_return.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/elem.hpp +93 -71
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/elem_128.hpp +275 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/elem_256.hpp +723 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/elem_64.hpp +81 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/size_128.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/size_256.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/size_64.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/size.hpp +39 -4
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/to_array.hpp +15 -9
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/to_list.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/to_seq.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/to_tuple.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/random.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/additive_combine.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +29 -5
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/int_float_pair.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/mixmax_skip_N17.ipp +287 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/operators.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/seed.hpp +9 -11
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/seed_impl.hpp +13 -14
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/discard_block.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/generate_canonical.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/random/independent_bits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/random/inversive_congruential.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/random/lagged_fibonacci.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/random/linear_congruential.hpp +5 -7
- data/src/cxx_supportlib/vendor-modified/boost/random/linear_feedback_shift.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +313 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/random_device.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/shuffle_order.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/subtract_with_carry.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/random/traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/random/uniform_int_distribution.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/random/uniform_real_distribution.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/random/uniform_smallint.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/random/xor_combine.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +78 -73
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +97 -113
- data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +4 -75
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +4 -147
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +8 -761
- data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +8 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +20 -19
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +342 -42
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +107 -24
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -117
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +1516 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +39 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +127 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +13 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +39 -41
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +35 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +638 -22
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +790 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +521 -37
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +734 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +1575 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +3117 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +474 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +1040 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +195 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +1402 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/indexed_bit_flag.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +156 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +667 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +175 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +160 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +576 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +915 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +1872 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/primary_transform.hpp +120 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +158 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +106 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +1124 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +98 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +173 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +71 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +213 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +103 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +152 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +255 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +130 -0
- data/src/cxx_supportlib/vendor-modified/boost/{libs/regex/src/regex_traits_defaults.cpp → regex/v5/regex_traits_defaults.hpp} +719 -415
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +159 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +299 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +382 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +177 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +312 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +864 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +1176 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/cerrno.hpp +329 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/enable_if.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/errc.hpp +126 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +189 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +108 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +215 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +163 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +80 -58
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +108 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/{system_category_posix.hpp → is_generic_value.hpp} +7 -14
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/throws.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/{std_interoperability.hpp → to_std_category.hpp} +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/system/errc.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/error_category.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +7 -925
- data/src/cxx_supportlib/vendor-modified/boost/system/error_condition.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/generic_category.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/is_error_code_enum.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/is_error_condition_enum.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/system_category.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +37 -39
- data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +247 -168
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_tester.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +242 -217
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_convertible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_empty.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_trivially_copyable.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/ruby_supportlib/phusion_passenger.rb +5 -5
- data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +5 -0
- metadata +223 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.cpp +0 -25
- data/src/cxx_supportlib/vendor-modified/boost/bind.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/c_regex_traits.cpp +0 -206
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cpp_regex_traits.cpp +0 -117
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +0 -667
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/instances.cpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_raw_buffer.cpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wc_regex_traits.cpp +0 -314
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/winstances.cpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/math/policies/policy.hpp +0 -1038
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +0 -581
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/round_fwd.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/fpclassify.hpp +0 -640
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +0 -1712
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/sign.hpp +0 -194
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +0 -489
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/promotion.hpp +0 -182
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/real_cast.hpp +0 -31
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/user.hpp +0 -105
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -557
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +0 -236
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp.orig +0 -841
- data/src/cxx_supportlib/vendor-modified/boost/thread/once.hpp.orig +0 -54
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/*
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 1998-2002
|
|
4
|
+
* John Maddock
|
|
5
|
+
*
|
|
6
|
+
* Use, modification and distribution are subject to the
|
|
7
|
+
* Boost Software License, Version 1.0. (See accompanying file
|
|
8
|
+
* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* LOCATION: see http://www.boost.org for most recent version.
|
|
14
|
+
* FILE cregex.cpp
|
|
15
|
+
* VERSION see <boost/version.hpp>
|
|
16
|
+
* DESCRIPTION: Declares POSIX API functions
|
|
17
|
+
* + boost::RegEx high level wrapper.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
#ifndef BOOST_RE_CREGEX_HPP_INCLUDED
|
|
21
|
+
#define BOOST_RE_CREGEX_HPP_INCLUDED
|
|
22
|
+
|
|
23
|
+
#ifndef BOOST_REGEX_CONFIG_HPP
|
|
24
|
+
#include <boost/regex/config.hpp>
|
|
25
|
+
#endif
|
|
26
|
+
#include <boost/regex/v5/match_flags.hpp>
|
|
27
|
+
#include <boost/regex/v5/error_type.hpp>
|
|
28
|
+
|
|
29
|
+
#ifndef BOOST_REGEX_STANDALONE
|
|
30
|
+
#if !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus)
|
|
31
|
+
# define BOOST_LIB_NAME boost_regex
|
|
32
|
+
# if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
|
|
33
|
+
# define BOOST_DYN_LINK
|
|
34
|
+
# endif
|
|
35
|
+
# ifdef BOOST_REGEX_DIAG
|
|
36
|
+
# define BOOST_LIB_DIAGNOSTIC
|
|
37
|
+
# endif
|
|
38
|
+
# include <boost/config/auto_link.hpp>
|
|
39
|
+
#endif
|
|
40
|
+
#endif
|
|
41
|
+
|
|
42
|
+
#ifdef __cplusplus
|
|
43
|
+
#include <cstddef>
|
|
44
|
+
#else
|
|
45
|
+
#include <stddef.h>
|
|
46
|
+
#endif
|
|
47
|
+
|
|
48
|
+
/* include these defs only for POSIX compatablity */
|
|
49
|
+
#ifdef __cplusplus
|
|
50
|
+
namespace boost{
|
|
51
|
+
extern "C" {
|
|
52
|
+
#endif
|
|
53
|
+
|
|
54
|
+
#if defined(__cplusplus)
|
|
55
|
+
typedef std::ptrdiff_t regoff_t;
|
|
56
|
+
typedef std::size_t regsize_t;
|
|
57
|
+
#else
|
|
58
|
+
typedef ptrdiff_t regoff_t;
|
|
59
|
+
typedef size_t regsize_t;
|
|
60
|
+
#endif
|
|
61
|
+
|
|
62
|
+
typedef struct
|
|
63
|
+
{
|
|
64
|
+
unsigned int re_magic;
|
|
65
|
+
#ifdef __cplusplus
|
|
66
|
+
std::size_t re_nsub; /* number of parenthesized subexpressions */
|
|
67
|
+
#else
|
|
68
|
+
size_t re_nsub;
|
|
69
|
+
#endif
|
|
70
|
+
const char* re_endp; /* end pointer for REG_PEND */
|
|
71
|
+
void* guts; /* none of your business :-) */
|
|
72
|
+
match_flag_type eflags; /* none of your business :-) */
|
|
73
|
+
} regex_tA;
|
|
74
|
+
|
|
75
|
+
#ifndef BOOST_NO_WREGEX
|
|
76
|
+
typedef struct
|
|
77
|
+
{
|
|
78
|
+
unsigned int re_magic;
|
|
79
|
+
#ifdef __cplusplus
|
|
80
|
+
std::size_t re_nsub; /* number of parenthesized subexpressions */
|
|
81
|
+
#else
|
|
82
|
+
size_t re_nsub;
|
|
83
|
+
#endif
|
|
84
|
+
const wchar_t* re_endp; /* end pointer for REG_PEND */
|
|
85
|
+
void* guts; /* none of your business :-) */
|
|
86
|
+
match_flag_type eflags; /* none of your business :-) */
|
|
87
|
+
} regex_tW;
|
|
88
|
+
#endif
|
|
89
|
+
|
|
90
|
+
typedef struct
|
|
91
|
+
{
|
|
92
|
+
regoff_t rm_so; /* start of match */
|
|
93
|
+
regoff_t rm_eo; /* end of match */
|
|
94
|
+
} regmatch_t;
|
|
95
|
+
|
|
96
|
+
/* regcomp() flags */
|
|
97
|
+
typedef enum{
|
|
98
|
+
REG_BASIC = 0000,
|
|
99
|
+
REG_EXTENDED = 0001,
|
|
100
|
+
REG_ICASE = 0002,
|
|
101
|
+
REG_NOSUB = 0004,
|
|
102
|
+
REG_NEWLINE = 0010,
|
|
103
|
+
REG_NOSPEC = 0020,
|
|
104
|
+
REG_PEND = 0040,
|
|
105
|
+
REG_DUMP = 0200,
|
|
106
|
+
REG_NOCOLLATE = 0400,
|
|
107
|
+
REG_ESCAPE_IN_LISTS = 01000,
|
|
108
|
+
REG_NEWLINE_ALT = 02000,
|
|
109
|
+
REG_PERLEX = 04000,
|
|
110
|
+
|
|
111
|
+
REG_PERL = REG_EXTENDED | REG_NOCOLLATE | REG_ESCAPE_IN_LISTS | REG_PERLEX,
|
|
112
|
+
REG_AWK = REG_EXTENDED | REG_ESCAPE_IN_LISTS,
|
|
113
|
+
REG_GREP = REG_BASIC | REG_NEWLINE_ALT,
|
|
114
|
+
REG_EGREP = REG_EXTENDED | REG_NEWLINE_ALT,
|
|
115
|
+
|
|
116
|
+
REG_ASSERT = 15,
|
|
117
|
+
REG_INVARG = 16,
|
|
118
|
+
REG_ATOI = 255, /* convert name to number (!) */
|
|
119
|
+
REG_ITOA = 0400 /* convert number to name (!) */
|
|
120
|
+
} reg_comp_flags;
|
|
121
|
+
|
|
122
|
+
/* regexec() flags */
|
|
123
|
+
typedef enum{
|
|
124
|
+
REG_NOTBOL = 00001,
|
|
125
|
+
REG_NOTEOL = 00002,
|
|
126
|
+
REG_STARTEND = 00004
|
|
127
|
+
} reg_exec_flags;
|
|
128
|
+
|
|
129
|
+
/*
|
|
130
|
+
* POSIX error codes:
|
|
131
|
+
*/
|
|
132
|
+
typedef unsigned reg_error_t;
|
|
133
|
+
typedef reg_error_t reg_errcode_t; /* backwards compatibility */
|
|
134
|
+
|
|
135
|
+
static const reg_error_t REG_NOERROR = 0; /* Success. */
|
|
136
|
+
static const reg_error_t REG_NOMATCH = 1; /* Didn't find a match (for regexec). */
|
|
137
|
+
|
|
138
|
+
/* POSIX regcomp return error codes. (In the order listed in the
|
|
139
|
+
standard.) */
|
|
140
|
+
static const reg_error_t REG_BADPAT = 2; /* Invalid pattern. */
|
|
141
|
+
static const reg_error_t REG_ECOLLATE = 3; /* Undefined collating element. */
|
|
142
|
+
static const reg_error_t REG_ECTYPE = 4; /* Invalid character class name. */
|
|
143
|
+
static const reg_error_t REG_EESCAPE = 5; /* Trailing backslash. */
|
|
144
|
+
static const reg_error_t REG_ESUBREG = 6; /* Invalid back reference. */
|
|
145
|
+
static const reg_error_t REG_EBRACK = 7; /* Unmatched left bracket. */
|
|
146
|
+
static const reg_error_t REG_EPAREN = 8; /* Parenthesis imbalance. */
|
|
147
|
+
static const reg_error_t REG_EBRACE = 9; /* Unmatched \{. */
|
|
148
|
+
static const reg_error_t REG_BADBR = 10; /* Invalid contents of \{\}. */
|
|
149
|
+
static const reg_error_t REG_ERANGE = 11; /* Invalid range end. */
|
|
150
|
+
static const reg_error_t REG_ESPACE = 12; /* Ran out of memory. */
|
|
151
|
+
static const reg_error_t REG_BADRPT = 13; /* No preceding re for repetition op. */
|
|
152
|
+
static const reg_error_t REG_EEND = 14; /* unexpected end of expression */
|
|
153
|
+
static const reg_error_t REG_ESIZE = 15; /* expression too big */
|
|
154
|
+
static const reg_error_t REG_ERPAREN = 8; /* = REG_EPAREN : unmatched right parenthesis */
|
|
155
|
+
static const reg_error_t REG_EMPTY = 17; /* empty expression */
|
|
156
|
+
static const reg_error_t REG_E_MEMORY = 15; /* = REG_ESIZE : out of memory */
|
|
157
|
+
static const reg_error_t REG_ECOMPLEXITY = 18; /* complexity too high */
|
|
158
|
+
static const reg_error_t REG_ESTACK = 19; /* out of stack space */
|
|
159
|
+
static const reg_error_t REG_E_PERL = 20; /* Perl (?...) error */
|
|
160
|
+
static const reg_error_t REG_E_UNKNOWN = 21; /* unknown error */
|
|
161
|
+
static const reg_error_t REG_ENOSYS = 21; /* = REG_E_UNKNOWN : Reserved. */
|
|
162
|
+
|
|
163
|
+
BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA*, const char*, int);
|
|
164
|
+
BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int, const regex_tA*, char*, regsize_t);
|
|
165
|
+
BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA*, const char*, regsize_t, regmatch_t*, int);
|
|
166
|
+
BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA*);
|
|
167
|
+
|
|
168
|
+
#ifndef BOOST_NO_WREGEX
|
|
169
|
+
BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW*, const wchar_t*, int);
|
|
170
|
+
BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int, const regex_tW*, wchar_t*, regsize_t);
|
|
171
|
+
BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW*, const wchar_t*, regsize_t, regmatch_t*, int);
|
|
172
|
+
BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW*);
|
|
173
|
+
#endif
|
|
174
|
+
|
|
175
|
+
#ifdef UNICODE
|
|
176
|
+
#define regcomp regcompW
|
|
177
|
+
#define regerror regerrorW
|
|
178
|
+
#define regexec regexecW
|
|
179
|
+
#define regfree regfreeW
|
|
180
|
+
#define regex_t regex_tW
|
|
181
|
+
#else
|
|
182
|
+
#define regcomp regcompA
|
|
183
|
+
#define regerror regerrorA
|
|
184
|
+
#define regexec regexecA
|
|
185
|
+
#define regfree regfreeA
|
|
186
|
+
#define regex_t regex_tA
|
|
187
|
+
#endif
|
|
188
|
+
|
|
189
|
+
#ifdef __cplusplus
|
|
190
|
+
} /* extern "C" */
|
|
191
|
+
} /* namespace */
|
|
192
|
+
#endif
|
|
193
|
+
|
|
194
|
+
#endif /* include guard */
|
|
195
|
+
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2003-2005
|
|
4
|
+
* John Maddock
|
|
5
|
+
*
|
|
6
|
+
* Use, modification and distribution are subject to the
|
|
7
|
+
* Boost Software License, Version 1.0. (See accompanying file
|
|
8
|
+
* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* LOCATION: see http://www.boost.org for most recent version.
|
|
14
|
+
* FILE error_type.hpp
|
|
15
|
+
* VERSION see <boost/version.hpp>
|
|
16
|
+
* DESCRIPTION: Declares regular expression error type enumerator.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
#ifndef BOOST_REGEX_ERROR_TYPE_HPP
|
|
20
|
+
#define BOOST_REGEX_ERROR_TYPE_HPP
|
|
21
|
+
|
|
22
|
+
#ifdef __cplusplus
|
|
23
|
+
namespace boost{
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
#ifdef __cplusplus
|
|
27
|
+
namespace regex_constants{
|
|
28
|
+
|
|
29
|
+
enum error_type{
|
|
30
|
+
|
|
31
|
+
error_ok = 0, /* not used */
|
|
32
|
+
error_no_match = 1, /* not used */
|
|
33
|
+
error_bad_pattern = 2,
|
|
34
|
+
error_collate = 3,
|
|
35
|
+
error_ctype = 4,
|
|
36
|
+
error_escape = 5,
|
|
37
|
+
error_backref = 6,
|
|
38
|
+
error_brack = 7,
|
|
39
|
+
error_paren = 8,
|
|
40
|
+
error_brace = 9,
|
|
41
|
+
error_badbrace = 10,
|
|
42
|
+
error_range = 11,
|
|
43
|
+
error_space = 12,
|
|
44
|
+
error_badrepeat = 13,
|
|
45
|
+
error_end = 14, /* not used */
|
|
46
|
+
error_size = 15,
|
|
47
|
+
error_right_paren = 16, /* not used */
|
|
48
|
+
error_empty = 17,
|
|
49
|
+
error_complexity = 18,
|
|
50
|
+
error_stack = 19,
|
|
51
|
+
error_perl_extension = 20,
|
|
52
|
+
error_unknown = 21
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
#endif /* __cplusplus */
|
|
58
|
+
|
|
59
|
+
#endif
|
|
@@ -0,0 +1,1402 @@
|
|
|
1
|
+
/*
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2004
|
|
4
|
+
* John Maddock
|
|
5
|
+
*
|
|
6
|
+
* Use, modification and distribution are subject to the
|
|
7
|
+
* Boost Software License, Version 1.0. (See accompanying file
|
|
8
|
+
* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* LOCATION: see http://www.boost.org for most recent version.
|
|
14
|
+
* FILE icu.hpp
|
|
15
|
+
* VERSION see <boost/version.hpp>
|
|
16
|
+
* DESCRIPTION: Unicode regular expressions on top of the ICU Library.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
#ifndef BOOST_REGEX_ICU_V5_HPP
|
|
20
|
+
#define BOOST_REGEX_ICU_V5_HPP
|
|
21
|
+
|
|
22
|
+
#include <unicode/utypes.h>
|
|
23
|
+
#include <unicode/uchar.h>
|
|
24
|
+
#include <unicode/coll.h>
|
|
25
|
+
#include <type_traits>
|
|
26
|
+
#include <functional>
|
|
27
|
+
#include <boost/regex.hpp>
|
|
28
|
+
#include <boost/regex/v5/unicode_iterator.hpp>
|
|
29
|
+
|
|
30
|
+
#ifdef BOOST_REGEX_MSVC
|
|
31
|
+
#pragma warning (push)
|
|
32
|
+
#pragma warning (disable: 4251)
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
namespace boost{
|
|
36
|
+
|
|
37
|
+
namespace BOOST_REGEX_DETAIL_NS{
|
|
38
|
+
|
|
39
|
+
//
|
|
40
|
+
// Implementation details:
|
|
41
|
+
//
|
|
42
|
+
class icu_regex_traits_implementation
|
|
43
|
+
{
|
|
44
|
+
typedef UChar32 char_type;
|
|
45
|
+
typedef std::size_t size_type;
|
|
46
|
+
typedef std::vector<char_type> string_type;
|
|
47
|
+
typedef U_NAMESPACE_QUALIFIER Locale locale_type;
|
|
48
|
+
typedef std::uint_least32_t char_class_type;
|
|
49
|
+
public:
|
|
50
|
+
icu_regex_traits_implementation(const U_NAMESPACE_QUALIFIER Locale& l)
|
|
51
|
+
: m_locale(l)
|
|
52
|
+
{
|
|
53
|
+
UErrorCode success = U_ZERO_ERROR;
|
|
54
|
+
m_collator.reset(U_NAMESPACE_QUALIFIER Collator::createInstance(l, success));
|
|
55
|
+
if(U_SUCCESS(success) == 0)
|
|
56
|
+
init_error();
|
|
57
|
+
m_collator->setStrength(U_NAMESPACE_QUALIFIER Collator::IDENTICAL);
|
|
58
|
+
success = U_ZERO_ERROR;
|
|
59
|
+
m_primary_collator.reset(U_NAMESPACE_QUALIFIER Collator::createInstance(l, success));
|
|
60
|
+
if(U_SUCCESS(success) == 0)
|
|
61
|
+
init_error();
|
|
62
|
+
m_primary_collator->setStrength(U_NAMESPACE_QUALIFIER Collator::PRIMARY);
|
|
63
|
+
}
|
|
64
|
+
U_NAMESPACE_QUALIFIER Locale getloc()const
|
|
65
|
+
{
|
|
66
|
+
return m_locale;
|
|
67
|
+
}
|
|
68
|
+
string_type do_transform(const char_type* p1, const char_type* p2, const U_NAMESPACE_QUALIFIER Collator* pcoll) const
|
|
69
|
+
{
|
|
70
|
+
// TODO make thread safe!!!! :
|
|
71
|
+
typedef u32_to_u16_iterator<const char_type*, ::UChar> itt;
|
|
72
|
+
itt i(p1), j(p2);
|
|
73
|
+
std::vector< ::UChar> t(i, j);
|
|
74
|
+
std::uint8_t result[100];
|
|
75
|
+
std::int32_t len;
|
|
76
|
+
if (!t.empty())
|
|
77
|
+
len = pcoll->getSortKey(&*t.begin(), static_cast<std::int32_t>(t.size()), result, sizeof(result));
|
|
78
|
+
else
|
|
79
|
+
len = pcoll->getSortKey(static_cast<UChar const*>(0), static_cast<std::int32_t>(0), result, sizeof(result));
|
|
80
|
+
if (std::size_t(len) > sizeof(result))
|
|
81
|
+
{
|
|
82
|
+
std::unique_ptr< std::uint8_t[]> presult(new ::uint8_t[len + 1]);
|
|
83
|
+
if (!t.empty())
|
|
84
|
+
len = pcoll->getSortKey(&*t.begin(), static_cast<std::int32_t>(t.size()), presult.get(), len + 1);
|
|
85
|
+
else
|
|
86
|
+
len = pcoll->getSortKey(static_cast<UChar const*>(0), static_cast<std::int32_t>(0), presult.get(), len + 1);
|
|
87
|
+
if ((0 == presult[len - 1]) && (len > 1))
|
|
88
|
+
--len;
|
|
89
|
+
return string_type(presult.get(), presult.get() + len);
|
|
90
|
+
}
|
|
91
|
+
if ((0 == result[len - 1]) && (len > 1))
|
|
92
|
+
--len;
|
|
93
|
+
return string_type(result, result + len);
|
|
94
|
+
}
|
|
95
|
+
string_type transform(const char_type* p1, const char_type* p2) const
|
|
96
|
+
{
|
|
97
|
+
return do_transform(p1, p2, m_collator.get());
|
|
98
|
+
}
|
|
99
|
+
string_type transform_primary(const char_type* p1, const char_type* p2) const
|
|
100
|
+
{
|
|
101
|
+
return do_transform(p1, p2, m_primary_collator.get());
|
|
102
|
+
}
|
|
103
|
+
private:
|
|
104
|
+
void init_error()
|
|
105
|
+
{
|
|
106
|
+
std::runtime_error e("Could not initialize ICU resources");
|
|
107
|
+
#ifndef BOOST_REGEX_STANDALONE
|
|
108
|
+
boost::throw_exception(e);
|
|
109
|
+
#else
|
|
110
|
+
throw e;
|
|
111
|
+
#endif
|
|
112
|
+
}
|
|
113
|
+
U_NAMESPACE_QUALIFIER Locale m_locale; // The ICU locale that we're using
|
|
114
|
+
std::unique_ptr< U_NAMESPACE_QUALIFIER Collator> m_collator; // The full collation object
|
|
115
|
+
std::unique_ptr< U_NAMESPACE_QUALIFIER Collator> m_primary_collator; // The primary collation object
|
|
116
|
+
};
|
|
117
|
+
inline std::shared_ptr<icu_regex_traits_implementation> get_icu_regex_traits_implementation(const U_NAMESPACE_QUALIFIER Locale& loc)
|
|
118
|
+
{
|
|
119
|
+
return std::shared_ptr<icu_regex_traits_implementation>(new icu_regex_traits_implementation(loc));
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
class icu_regex_traits
|
|
125
|
+
{
|
|
126
|
+
public:
|
|
127
|
+
typedef UChar32 char_type;
|
|
128
|
+
typedef std::size_t size_type;
|
|
129
|
+
typedef std::vector<char_type> string_type;
|
|
130
|
+
typedef U_NAMESPACE_QUALIFIER Locale locale_type;
|
|
131
|
+
typedef std::uint64_t char_class_type;
|
|
132
|
+
|
|
133
|
+
struct boost_extensions_tag{};
|
|
134
|
+
|
|
135
|
+
icu_regex_traits()
|
|
136
|
+
: m_pimpl(BOOST_REGEX_DETAIL_NS::get_icu_regex_traits_implementation(U_NAMESPACE_QUALIFIER Locale()))
|
|
137
|
+
{
|
|
138
|
+
}
|
|
139
|
+
static size_type length(const char_type* p)
|
|
140
|
+
{
|
|
141
|
+
size_type result = 0;
|
|
142
|
+
while (*p)
|
|
143
|
+
{
|
|
144
|
+
++p;
|
|
145
|
+
++result;
|
|
146
|
+
}
|
|
147
|
+
return result;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
::boost::regex_constants::syntax_type syntax_type(char_type c)const
|
|
151
|
+
{
|
|
152
|
+
return ((c < 0x7f) && (c > 0)) ? BOOST_REGEX_DETAIL_NS::get_default_syntax_type(static_cast<char>(c)) : regex_constants::syntax_char;
|
|
153
|
+
}
|
|
154
|
+
::boost::regex_constants::escape_syntax_type escape_syntax_type(char_type c) const
|
|
155
|
+
{
|
|
156
|
+
return ((c < 0x7f) && (c > 0)) ? BOOST_REGEX_DETAIL_NS::get_default_escape_syntax_type(static_cast<char>(c)) : regex_constants::syntax_char;
|
|
157
|
+
}
|
|
158
|
+
char_type translate(char_type c) const
|
|
159
|
+
{
|
|
160
|
+
return c;
|
|
161
|
+
}
|
|
162
|
+
char_type translate_nocase(char_type c) const
|
|
163
|
+
{
|
|
164
|
+
return ::u_tolower(c);
|
|
165
|
+
}
|
|
166
|
+
char_type translate(char_type c, bool icase) const
|
|
167
|
+
{
|
|
168
|
+
return icase ? translate_nocase(c) : translate(c);
|
|
169
|
+
}
|
|
170
|
+
char_type tolower(char_type c) const
|
|
171
|
+
{
|
|
172
|
+
return ::u_tolower(c);
|
|
173
|
+
}
|
|
174
|
+
char_type toupper(char_type c) const
|
|
175
|
+
{
|
|
176
|
+
return ::u_toupper(c);
|
|
177
|
+
}
|
|
178
|
+
string_type transform(const char_type* p1, const char_type* p2) const
|
|
179
|
+
{
|
|
180
|
+
return m_pimpl->transform(p1, p2);
|
|
181
|
+
}
|
|
182
|
+
string_type transform_primary(const char_type* p1, const char_type* p2) const
|
|
183
|
+
{
|
|
184
|
+
return m_pimpl->transform_primary(p1, p2);
|
|
185
|
+
}
|
|
186
|
+
char_class_type lookup_classname(const char_type* p1, const char_type* p2) const
|
|
187
|
+
{
|
|
188
|
+
constexpr char_class_type mask_blank = char_class_type(1) << offset_blank;
|
|
189
|
+
constexpr char_class_type mask_space = char_class_type(1) << offset_space;
|
|
190
|
+
constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit;
|
|
191
|
+
constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore;
|
|
192
|
+
constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode;
|
|
193
|
+
constexpr char_class_type mask_any = char_class_type(1) << offset_any;
|
|
194
|
+
constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii;
|
|
195
|
+
constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal;
|
|
196
|
+
constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical;
|
|
197
|
+
|
|
198
|
+
static const char_class_type masks[] =
|
|
199
|
+
{
|
|
200
|
+
0,
|
|
201
|
+
U_GC_L_MASK | U_GC_ND_MASK,
|
|
202
|
+
U_GC_L_MASK,
|
|
203
|
+
mask_blank,
|
|
204
|
+
U_GC_CC_MASK | U_GC_CF_MASK | U_GC_ZL_MASK | U_GC_ZP_MASK,
|
|
205
|
+
U_GC_ND_MASK,
|
|
206
|
+
U_GC_ND_MASK,
|
|
207
|
+
(0x3FFFFFFFu) & ~(U_GC_CC_MASK | U_GC_CF_MASK | U_GC_CS_MASK | U_GC_CN_MASK | U_GC_Z_MASK),
|
|
208
|
+
mask_horizontal,
|
|
209
|
+
U_GC_LL_MASK,
|
|
210
|
+
U_GC_LL_MASK,
|
|
211
|
+
~(U_GC_C_MASK),
|
|
212
|
+
U_GC_P_MASK,
|
|
213
|
+
char_class_type(U_GC_Z_MASK) | mask_space,
|
|
214
|
+
char_class_type(U_GC_Z_MASK) | mask_space,
|
|
215
|
+
U_GC_LU_MASK,
|
|
216
|
+
mask_unicode,
|
|
217
|
+
U_GC_LU_MASK,
|
|
218
|
+
mask_vertical,
|
|
219
|
+
char_class_type(U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK) | mask_underscore,
|
|
220
|
+
char_class_type(U_GC_L_MASK | U_GC_ND_MASK | U_GC_MN_MASK) | mask_underscore,
|
|
221
|
+
char_class_type(U_GC_ND_MASK) | mask_xdigit,
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
int idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(p1, p2);
|
|
225
|
+
if (idx >= 0)
|
|
226
|
+
return masks[idx + 1];
|
|
227
|
+
char_class_type result = lookup_icu_mask(p1, p2);
|
|
228
|
+
if (result != 0)
|
|
229
|
+
return result;
|
|
230
|
+
|
|
231
|
+
if (idx < 0)
|
|
232
|
+
{
|
|
233
|
+
string_type s(p1, p2);
|
|
234
|
+
string_type::size_type i = 0;
|
|
235
|
+
while (i < s.size())
|
|
236
|
+
{
|
|
237
|
+
s[i] = static_cast<char>((::u_tolower)(s[i]));
|
|
238
|
+
if (::u_isspace(s[i]) || (s[i] == '-') || (s[i] == '_'))
|
|
239
|
+
s.erase(s.begin() + i, s.begin() + i + 1);
|
|
240
|
+
else
|
|
241
|
+
{
|
|
242
|
+
s[i] = static_cast<char>((::u_tolower)(s[i]));
|
|
243
|
+
++i;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
if (!s.empty())
|
|
247
|
+
idx = ::boost::BOOST_REGEX_DETAIL_NS::get_default_class_id(&*s.begin(), &*s.begin() + s.size());
|
|
248
|
+
if (idx >= 0)
|
|
249
|
+
return masks[idx + 1];
|
|
250
|
+
if (!s.empty())
|
|
251
|
+
result = lookup_icu_mask(&*s.begin(), &*s.begin() + s.size());
|
|
252
|
+
if (result != 0)
|
|
253
|
+
return result;
|
|
254
|
+
}
|
|
255
|
+
BOOST_REGEX_ASSERT(std::size_t(idx + 1) < sizeof(masks) / sizeof(masks[0]));
|
|
256
|
+
return masks[idx + 1];
|
|
257
|
+
}
|
|
258
|
+
string_type lookup_collatename(const char_type* p1, const char_type* p2) const
|
|
259
|
+
{
|
|
260
|
+
string_type result;
|
|
261
|
+
if (std::find_if(p1, p2, std::bind(std::greater< ::UChar32>(), std::placeholders::_1, 0x7f)) == p2)
|
|
262
|
+
{
|
|
263
|
+
std::string s(p1, p2);
|
|
264
|
+
// Try Unicode name:
|
|
265
|
+
UErrorCode err = U_ZERO_ERROR;
|
|
266
|
+
UChar32 c = ::u_charFromName(U_UNICODE_CHAR_NAME, s.c_str(), &err);
|
|
267
|
+
if (U_SUCCESS(err))
|
|
268
|
+
{
|
|
269
|
+
result.push_back(c);
|
|
270
|
+
return result;
|
|
271
|
+
}
|
|
272
|
+
// Try Unicode-extended name:
|
|
273
|
+
err = U_ZERO_ERROR;
|
|
274
|
+
c = ::u_charFromName(U_EXTENDED_CHAR_NAME, s.c_str(), &err);
|
|
275
|
+
if (U_SUCCESS(err))
|
|
276
|
+
{
|
|
277
|
+
result.push_back(c);
|
|
278
|
+
return result;
|
|
279
|
+
}
|
|
280
|
+
// try POSIX name:
|
|
281
|
+
s = ::boost::BOOST_REGEX_DETAIL_NS::lookup_default_collate_name(s);
|
|
282
|
+
result.assign(s.begin(), s.end());
|
|
283
|
+
}
|
|
284
|
+
if (result.empty() && (p2 - p1 == 1))
|
|
285
|
+
result.push_back(*p1);
|
|
286
|
+
return result;
|
|
287
|
+
}
|
|
288
|
+
bool isctype(char_type c, char_class_type f) const
|
|
289
|
+
{
|
|
290
|
+
constexpr char_class_type mask_blank = char_class_type(1) << offset_blank;
|
|
291
|
+
constexpr char_class_type mask_space = char_class_type(1) << offset_space;
|
|
292
|
+
constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit;
|
|
293
|
+
constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore;
|
|
294
|
+
constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode;
|
|
295
|
+
constexpr char_class_type mask_any = char_class_type(1) << offset_any;
|
|
296
|
+
constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii;
|
|
297
|
+
constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal;
|
|
298
|
+
constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical;
|
|
299
|
+
|
|
300
|
+
// check for standard catagories first:
|
|
301
|
+
char_class_type m = char_class_type(static_cast<char_class_type>(1) << u_charType(c));
|
|
302
|
+
if ((m & f) != 0)
|
|
303
|
+
return true;
|
|
304
|
+
// now check for special cases:
|
|
305
|
+
if (((f & mask_blank) != 0) && u_isblank(c))
|
|
306
|
+
return true;
|
|
307
|
+
if (((f & mask_space) != 0) && u_isspace(c))
|
|
308
|
+
return true;
|
|
309
|
+
if (((f & mask_xdigit) != 0) && (u_digit(c, 16) >= 0))
|
|
310
|
+
return true;
|
|
311
|
+
if (((f & mask_unicode) != 0) && (c >= 0x100))
|
|
312
|
+
return true;
|
|
313
|
+
if (((f & mask_underscore) != 0) && (c == '_'))
|
|
314
|
+
return true;
|
|
315
|
+
if (((f & mask_any) != 0) && (c <= 0x10FFFF))
|
|
316
|
+
return true;
|
|
317
|
+
if (((f & mask_ascii) != 0) && (c <= 0x7F))
|
|
318
|
+
return true;
|
|
319
|
+
if (((f & mask_vertical) != 0) && (::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) || (c == static_cast<char_type>('\v')) || (m == U_GC_ZL_MASK) || (m == U_GC_ZP_MASK)))
|
|
320
|
+
return true;
|
|
321
|
+
if (((f & mask_horizontal) != 0) && !::boost::BOOST_REGEX_DETAIL_NS::is_separator(c) && u_isspace(c) && (c != static_cast<char_type>('\v')))
|
|
322
|
+
return true;
|
|
323
|
+
return false;
|
|
324
|
+
}
|
|
325
|
+
std::intmax_t toi(const char_type*& p1, const char_type* p2, int radix)const
|
|
326
|
+
{
|
|
327
|
+
return BOOST_REGEX_DETAIL_NS::global_toi(p1, p2, radix, *this);
|
|
328
|
+
}
|
|
329
|
+
int value(char_type c, int radix)const
|
|
330
|
+
{
|
|
331
|
+
return u_digit(c, static_cast< std::int8_t>(radix));
|
|
332
|
+
}
|
|
333
|
+
locale_type imbue(locale_type l)
|
|
334
|
+
{
|
|
335
|
+
locale_type result(m_pimpl->getloc());
|
|
336
|
+
m_pimpl = BOOST_REGEX_DETAIL_NS::get_icu_regex_traits_implementation(l);
|
|
337
|
+
return result;
|
|
338
|
+
}
|
|
339
|
+
locale_type getloc()const
|
|
340
|
+
{
|
|
341
|
+
return locale_type();
|
|
342
|
+
}
|
|
343
|
+
std::string error_string(::boost::regex_constants::error_type n) const
|
|
344
|
+
{
|
|
345
|
+
return BOOST_REGEX_DETAIL_NS::get_default_error_string(n);
|
|
346
|
+
}
|
|
347
|
+
private:
|
|
348
|
+
icu_regex_traits(const icu_regex_traits&);
|
|
349
|
+
icu_regex_traits& operator=(const icu_regex_traits&);
|
|
350
|
+
|
|
351
|
+
//
|
|
352
|
+
// define the bitmasks offsets we need for additional character properties:
|
|
353
|
+
//
|
|
354
|
+
enum{
|
|
355
|
+
offset_blank = U_CHAR_CATEGORY_COUNT,
|
|
356
|
+
offset_space = U_CHAR_CATEGORY_COUNT+1,
|
|
357
|
+
offset_xdigit = U_CHAR_CATEGORY_COUNT+2,
|
|
358
|
+
offset_underscore = U_CHAR_CATEGORY_COUNT+3,
|
|
359
|
+
offset_unicode = U_CHAR_CATEGORY_COUNT+4,
|
|
360
|
+
offset_any = U_CHAR_CATEGORY_COUNT+5,
|
|
361
|
+
offset_ascii = U_CHAR_CATEGORY_COUNT+6,
|
|
362
|
+
offset_horizontal = U_CHAR_CATEGORY_COUNT+7,
|
|
363
|
+
offset_vertical = U_CHAR_CATEGORY_COUNT+8
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
static char_class_type lookup_icu_mask(const ::UChar32* p1, const ::UChar32* p2)
|
|
367
|
+
{
|
|
368
|
+
constexpr char_class_type mask_blank = char_class_type(1) << offset_blank;
|
|
369
|
+
constexpr char_class_type mask_space = char_class_type(1) << offset_space;
|
|
370
|
+
constexpr char_class_type mask_xdigit = char_class_type(1) << offset_xdigit;
|
|
371
|
+
constexpr char_class_type mask_underscore = char_class_type(1) << offset_underscore;
|
|
372
|
+
constexpr char_class_type mask_unicode = char_class_type(1) << offset_unicode;
|
|
373
|
+
constexpr char_class_type mask_any = char_class_type(1) << offset_any;
|
|
374
|
+
constexpr char_class_type mask_ascii = char_class_type(1) << offset_ascii;
|
|
375
|
+
constexpr char_class_type mask_horizontal = char_class_type(1) << offset_horizontal;
|
|
376
|
+
constexpr char_class_type mask_vertical = char_class_type(1) << offset_vertical;
|
|
377
|
+
|
|
378
|
+
static const ::UChar32 prop_name_table[] = {
|
|
379
|
+
/* any */ 'a', 'n', 'y',
|
|
380
|
+
/* ascii */ 'a', 's', 'c', 'i', 'i',
|
|
381
|
+
/* assigned */ 'a', 's', 's', 'i', 'g', 'n', 'e', 'd',
|
|
382
|
+
/* c* */ 'c', '*',
|
|
383
|
+
/* cc */ 'c', 'c',
|
|
384
|
+
/* cf */ 'c', 'f',
|
|
385
|
+
/* closepunctuation */ 'c', 'l', 'o', 's', 'e', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',
|
|
386
|
+
/* cn */ 'c', 'n',
|
|
387
|
+
/* co */ 'c', 'o',
|
|
388
|
+
/* connectorpunctuation */ 'c', 'o', 'n', 'n', 'e', 'c', 't', 'o', 'r', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',
|
|
389
|
+
/* control */ 'c', 'o', 'n', 't', 'r', 'o', 'l',
|
|
390
|
+
/* cs */ 'c', 's',
|
|
391
|
+
/* currencysymbol */ 'c', 'u', 'r', 'r', 'e', 'n', 'c', 'y', 's', 'y', 'm', 'b', 'o', 'l',
|
|
392
|
+
/* dashpunctuation */ 'd', 'a', 's', 'h', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',
|
|
393
|
+
/* decimaldigitnumber */ 'd', 'e', 'c', 'i', 'm', 'a', 'l', 'd', 'i', 'g', 'i', 't', 'n', 'u', 'm', 'b', 'e', 'r',
|
|
394
|
+
/* enclosingmark */ 'e', 'n', 'c', 'l', 'o', 's', 'i', 'n', 'g', 'm', 'a', 'r', 'k',
|
|
395
|
+
/* finalpunctuation */ 'f', 'i', 'n', 'a', 'l', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',
|
|
396
|
+
/* format */ 'f', 'o', 'r', 'm', 'a', 't',
|
|
397
|
+
/* initialpunctuation */ 'i', 'n', 'i', 't', 'i', 'a', 'l', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',
|
|
398
|
+
/* l* */ 'l', '*',
|
|
399
|
+
/* letter */ 'l', 'e', 't', 't', 'e', 'r',
|
|
400
|
+
/* letternumber */ 'l', 'e', 't', 't', 'e', 'r', 'n', 'u', 'm', 'b', 'e', 'r',
|
|
401
|
+
/* lineseparator */ 'l', 'i', 'n', 'e', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r',
|
|
402
|
+
/* ll */ 'l', 'l',
|
|
403
|
+
/* lm */ 'l', 'm',
|
|
404
|
+
/* lo */ 'l', 'o',
|
|
405
|
+
/* lowercaseletter */ 'l', 'o', 'w', 'e', 'r', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r',
|
|
406
|
+
/* lt */ 'l', 't',
|
|
407
|
+
/* lu */ 'l', 'u',
|
|
408
|
+
/* m* */ 'm', '*',
|
|
409
|
+
/* mark */ 'm', 'a', 'r', 'k',
|
|
410
|
+
/* mathsymbol */ 'm', 'a', 't', 'h', 's', 'y', 'm', 'b', 'o', 'l',
|
|
411
|
+
/* mc */ 'm', 'c',
|
|
412
|
+
/* me */ 'm', 'e',
|
|
413
|
+
/* mn */ 'm', 'n',
|
|
414
|
+
/* modifierletter */ 'm', 'o', 'd', 'i', 'f', 'i', 'e', 'r', 'l', 'e', 't', 't', 'e', 'r',
|
|
415
|
+
/* modifiersymbol */ 'm', 'o', 'd', 'i', 'f', 'i', 'e', 'r', 's', 'y', 'm', 'b', 'o', 'l',
|
|
416
|
+
/* n* */ 'n', '*',
|
|
417
|
+
/* nd */ 'n', 'd',
|
|
418
|
+
/* nl */ 'n', 'l',
|
|
419
|
+
/* no */ 'n', 'o',
|
|
420
|
+
/* nonspacingmark */ 'n', 'o', 'n', 's', 'p', 'a', 'c', 'i', 'n', 'g', 'm', 'a', 'r', 'k',
|
|
421
|
+
/* notassigned */ 'n', 'o', 't', 'a', 's', 's', 'i', 'g', 'n', 'e', 'd',
|
|
422
|
+
/* number */ 'n', 'u', 'm', 'b', 'e', 'r',
|
|
423
|
+
/* openpunctuation */ 'o', 'p', 'e', 'n', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',
|
|
424
|
+
/* other */ 'o', 't', 'h', 'e', 'r',
|
|
425
|
+
/* otherletter */ 'o', 't', 'h', 'e', 'r', 'l', 'e', 't', 't', 'e', 'r',
|
|
426
|
+
/* othernumber */ 'o', 't', 'h', 'e', 'r', 'n', 'u', 'm', 'b', 'e', 'r',
|
|
427
|
+
/* otherpunctuation */ 'o', 't', 'h', 'e', 'r', 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',
|
|
428
|
+
/* othersymbol */ 'o', 't', 'h', 'e', 'r', 's', 'y', 'm', 'b', 'o', 'l',
|
|
429
|
+
/* p* */ 'p', '*',
|
|
430
|
+
/* paragraphseparator */ 'p', 'a', 'r', 'a', 'g', 'r', 'a', 'p', 'h', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r',
|
|
431
|
+
/* pc */ 'p', 'c',
|
|
432
|
+
/* pd */ 'p', 'd',
|
|
433
|
+
/* pe */ 'p', 'e',
|
|
434
|
+
/* pf */ 'p', 'f',
|
|
435
|
+
/* pi */ 'p', 'i',
|
|
436
|
+
/* po */ 'p', 'o',
|
|
437
|
+
/* privateuse */ 'p', 'r', 'i', 'v', 'a', 't', 'e', 'u', 's', 'e',
|
|
438
|
+
/* ps */ 'p', 's',
|
|
439
|
+
/* punctuation */ 'p', 'u', 'n', 'c', 't', 'u', 'a', 't', 'i', 'o', 'n',
|
|
440
|
+
/* s* */ 's', '*',
|
|
441
|
+
/* sc */ 's', 'c',
|
|
442
|
+
/* separator */ 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r',
|
|
443
|
+
/* sk */ 's', 'k',
|
|
444
|
+
/* sm */ 's', 'm',
|
|
445
|
+
/* so */ 's', 'o',
|
|
446
|
+
/* spaceseparator */ 's', 'p', 'a', 'c', 'e', 's', 'e', 'p', 'a', 'r', 'a', 't', 'o', 'r',
|
|
447
|
+
/* spacingcombiningmark */ 's', 'p', 'a', 'c', 'i', 'n', 'g', 'c', 'o', 'm', 'b', 'i', 'n', 'i', 'n', 'g', 'm', 'a', 'r', 'k',
|
|
448
|
+
/* surrogate */ 's', 'u', 'r', 'r', 'o', 'g', 'a', 't', 'e',
|
|
449
|
+
/* symbol */ 's', 'y', 'm', 'b', 'o', 'l',
|
|
450
|
+
/* titlecase */ 't', 'i', 't', 'l', 'e', 'c', 'a', 's', 'e',
|
|
451
|
+
/* titlecaseletter */ 't', 'i', 't', 'l', 'e', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r',
|
|
452
|
+
/* uppercaseletter */ 'u', 'p', 'p', 'e', 'r', 'c', 'a', 's', 'e', 'l', 'e', 't', 't', 'e', 'r',
|
|
453
|
+
/* z* */ 'z', '*',
|
|
454
|
+
/* zl */ 'z', 'l',
|
|
455
|
+
/* zp */ 'z', 'p',
|
|
456
|
+
/* zs */ 'z', 's',
|
|
457
|
+
};
|
|
458
|
+
|
|
459
|
+
static const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32> range_data[] = {
|
|
460
|
+
{ prop_name_table + 0, prop_name_table + 3, }, // any
|
|
461
|
+
{ prop_name_table + 3, prop_name_table + 8, }, // ascii
|
|
462
|
+
{ prop_name_table + 8, prop_name_table + 16, }, // assigned
|
|
463
|
+
{ prop_name_table + 16, prop_name_table + 18, }, // c*
|
|
464
|
+
{ prop_name_table + 18, prop_name_table + 20, }, // cc
|
|
465
|
+
{ prop_name_table + 20, prop_name_table + 22, }, // cf
|
|
466
|
+
{ prop_name_table + 22, prop_name_table + 38, }, // closepunctuation
|
|
467
|
+
{ prop_name_table + 38, prop_name_table + 40, }, // cn
|
|
468
|
+
{ prop_name_table + 40, prop_name_table + 42, }, // co
|
|
469
|
+
{ prop_name_table + 42, prop_name_table + 62, }, // connectorpunctuation
|
|
470
|
+
{ prop_name_table + 62, prop_name_table + 69, }, // control
|
|
471
|
+
{ prop_name_table + 69, prop_name_table + 71, }, // cs
|
|
472
|
+
{ prop_name_table + 71, prop_name_table + 85, }, // currencysymbol
|
|
473
|
+
{ prop_name_table + 85, prop_name_table + 100, }, // dashpunctuation
|
|
474
|
+
{ prop_name_table + 100, prop_name_table + 118, }, // decimaldigitnumber
|
|
475
|
+
{ prop_name_table + 118, prop_name_table + 131, }, // enclosingmark
|
|
476
|
+
{ prop_name_table + 131, prop_name_table + 147, }, // finalpunctuation
|
|
477
|
+
{ prop_name_table + 147, prop_name_table + 153, }, // format
|
|
478
|
+
{ prop_name_table + 153, prop_name_table + 171, }, // initialpunctuation
|
|
479
|
+
{ prop_name_table + 171, prop_name_table + 173, }, // l*
|
|
480
|
+
{ prop_name_table + 173, prop_name_table + 179, }, // letter
|
|
481
|
+
{ prop_name_table + 179, prop_name_table + 191, }, // letternumber
|
|
482
|
+
{ prop_name_table + 191, prop_name_table + 204, }, // lineseparator
|
|
483
|
+
{ prop_name_table + 204, prop_name_table + 206, }, // ll
|
|
484
|
+
{ prop_name_table + 206, prop_name_table + 208, }, // lm
|
|
485
|
+
{ prop_name_table + 208, prop_name_table + 210, }, // lo
|
|
486
|
+
{ prop_name_table + 210, prop_name_table + 225, }, // lowercaseletter
|
|
487
|
+
{ prop_name_table + 225, prop_name_table + 227, }, // lt
|
|
488
|
+
{ prop_name_table + 227, prop_name_table + 229, }, // lu
|
|
489
|
+
{ prop_name_table + 229, prop_name_table + 231, }, // m*
|
|
490
|
+
{ prop_name_table + 231, prop_name_table + 235, }, // mark
|
|
491
|
+
{ prop_name_table + 235, prop_name_table + 245, }, // mathsymbol
|
|
492
|
+
{ prop_name_table + 245, prop_name_table + 247, }, // mc
|
|
493
|
+
{ prop_name_table + 247, prop_name_table + 249, }, // me
|
|
494
|
+
{ prop_name_table + 249, prop_name_table + 251, }, // mn
|
|
495
|
+
{ prop_name_table + 251, prop_name_table + 265, }, // modifierletter
|
|
496
|
+
{ prop_name_table + 265, prop_name_table + 279, }, // modifiersymbol
|
|
497
|
+
{ prop_name_table + 279, prop_name_table + 281, }, // n*
|
|
498
|
+
{ prop_name_table + 281, prop_name_table + 283, }, // nd
|
|
499
|
+
{ prop_name_table + 283, prop_name_table + 285, }, // nl
|
|
500
|
+
{ prop_name_table + 285, prop_name_table + 287, }, // no
|
|
501
|
+
{ prop_name_table + 287, prop_name_table + 301, }, // nonspacingmark
|
|
502
|
+
{ prop_name_table + 301, prop_name_table + 312, }, // notassigned
|
|
503
|
+
{ prop_name_table + 312, prop_name_table + 318, }, // number
|
|
504
|
+
{ prop_name_table + 318, prop_name_table + 333, }, // openpunctuation
|
|
505
|
+
{ prop_name_table + 333, prop_name_table + 338, }, // other
|
|
506
|
+
{ prop_name_table + 338, prop_name_table + 349, }, // otherletter
|
|
507
|
+
{ prop_name_table + 349, prop_name_table + 360, }, // othernumber
|
|
508
|
+
{ prop_name_table + 360, prop_name_table + 376, }, // otherpunctuation
|
|
509
|
+
{ prop_name_table + 376, prop_name_table + 387, }, // othersymbol
|
|
510
|
+
{ prop_name_table + 387, prop_name_table + 389, }, // p*
|
|
511
|
+
{ prop_name_table + 389, prop_name_table + 407, }, // paragraphseparator
|
|
512
|
+
{ prop_name_table + 407, prop_name_table + 409, }, // pc
|
|
513
|
+
{ prop_name_table + 409, prop_name_table + 411, }, // pd
|
|
514
|
+
{ prop_name_table + 411, prop_name_table + 413, }, // pe
|
|
515
|
+
{ prop_name_table + 413, prop_name_table + 415, }, // pf
|
|
516
|
+
{ prop_name_table + 415, prop_name_table + 417, }, // pi
|
|
517
|
+
{ prop_name_table + 417, prop_name_table + 419, }, // po
|
|
518
|
+
{ prop_name_table + 419, prop_name_table + 429, }, // privateuse
|
|
519
|
+
{ prop_name_table + 429, prop_name_table + 431, }, // ps
|
|
520
|
+
{ prop_name_table + 431, prop_name_table + 442, }, // punctuation
|
|
521
|
+
{ prop_name_table + 442, prop_name_table + 444, }, // s*
|
|
522
|
+
{ prop_name_table + 444, prop_name_table + 446, }, // sc
|
|
523
|
+
{ prop_name_table + 446, prop_name_table + 455, }, // separator
|
|
524
|
+
{ prop_name_table + 455, prop_name_table + 457, }, // sk
|
|
525
|
+
{ prop_name_table + 457, prop_name_table + 459, }, // sm
|
|
526
|
+
{ prop_name_table + 459, prop_name_table + 461, }, // so
|
|
527
|
+
{ prop_name_table + 461, prop_name_table + 475, }, // spaceseparator
|
|
528
|
+
{ prop_name_table + 475, prop_name_table + 495, }, // spacingcombiningmark
|
|
529
|
+
{ prop_name_table + 495, prop_name_table + 504, }, // surrogate
|
|
530
|
+
{ prop_name_table + 504, prop_name_table + 510, }, // symbol
|
|
531
|
+
{ prop_name_table + 510, prop_name_table + 519, }, // titlecase
|
|
532
|
+
{ prop_name_table + 519, prop_name_table + 534, }, // titlecaseletter
|
|
533
|
+
{ prop_name_table + 534, prop_name_table + 549, }, // uppercaseletter
|
|
534
|
+
{ prop_name_table + 549, prop_name_table + 551, }, // z*
|
|
535
|
+
{ prop_name_table + 551, prop_name_table + 553, }, // zl
|
|
536
|
+
{ prop_name_table + 553, prop_name_table + 555, }, // zp
|
|
537
|
+
{ prop_name_table + 555, prop_name_table + 557, }, // zs
|
|
538
|
+
};
|
|
539
|
+
|
|
540
|
+
static const icu_regex_traits::char_class_type icu_class_map[] = {
|
|
541
|
+
mask_any, // any
|
|
542
|
+
mask_ascii, // ascii
|
|
543
|
+
(0x3FFFFFFFu) & ~(U_GC_CN_MASK), // assigned
|
|
544
|
+
U_GC_C_MASK, // c*
|
|
545
|
+
U_GC_CC_MASK, // cc
|
|
546
|
+
U_GC_CF_MASK, // cf
|
|
547
|
+
U_GC_PE_MASK, // closepunctuation
|
|
548
|
+
U_GC_CN_MASK, // cn
|
|
549
|
+
U_GC_CO_MASK, // co
|
|
550
|
+
U_GC_PC_MASK, // connectorpunctuation
|
|
551
|
+
U_GC_CC_MASK, // control
|
|
552
|
+
U_GC_CS_MASK, // cs
|
|
553
|
+
U_GC_SC_MASK, // currencysymbol
|
|
554
|
+
U_GC_PD_MASK, // dashpunctuation
|
|
555
|
+
U_GC_ND_MASK, // decimaldigitnumber
|
|
556
|
+
U_GC_ME_MASK, // enclosingmark
|
|
557
|
+
U_GC_PF_MASK, // finalpunctuation
|
|
558
|
+
U_GC_CF_MASK, // format
|
|
559
|
+
U_GC_PI_MASK, // initialpunctuation
|
|
560
|
+
U_GC_L_MASK, // l*
|
|
561
|
+
U_GC_L_MASK, // letter
|
|
562
|
+
U_GC_NL_MASK, // letternumber
|
|
563
|
+
U_GC_ZL_MASK, // lineseparator
|
|
564
|
+
U_GC_LL_MASK, // ll
|
|
565
|
+
U_GC_LM_MASK, // lm
|
|
566
|
+
U_GC_LO_MASK, // lo
|
|
567
|
+
U_GC_LL_MASK, // lowercaseletter
|
|
568
|
+
U_GC_LT_MASK, // lt
|
|
569
|
+
U_GC_LU_MASK, // lu
|
|
570
|
+
U_GC_M_MASK, // m*
|
|
571
|
+
U_GC_M_MASK, // mark
|
|
572
|
+
U_GC_SM_MASK, // mathsymbol
|
|
573
|
+
U_GC_MC_MASK, // mc
|
|
574
|
+
U_GC_ME_MASK, // me
|
|
575
|
+
U_GC_MN_MASK, // mn
|
|
576
|
+
U_GC_LM_MASK, // modifierletter
|
|
577
|
+
U_GC_SK_MASK, // modifiersymbol
|
|
578
|
+
U_GC_N_MASK, // n*
|
|
579
|
+
U_GC_ND_MASK, // nd
|
|
580
|
+
U_GC_NL_MASK, // nl
|
|
581
|
+
U_GC_NO_MASK, // no
|
|
582
|
+
U_GC_MN_MASK, // nonspacingmark
|
|
583
|
+
U_GC_CN_MASK, // notassigned
|
|
584
|
+
U_GC_N_MASK, // number
|
|
585
|
+
U_GC_PS_MASK, // openpunctuation
|
|
586
|
+
U_GC_C_MASK, // other
|
|
587
|
+
U_GC_LO_MASK, // otherletter
|
|
588
|
+
U_GC_NO_MASK, // othernumber
|
|
589
|
+
U_GC_PO_MASK, // otherpunctuation
|
|
590
|
+
U_GC_SO_MASK, // othersymbol
|
|
591
|
+
U_GC_P_MASK, // p*
|
|
592
|
+
U_GC_ZP_MASK, // paragraphseparator
|
|
593
|
+
U_GC_PC_MASK, // pc
|
|
594
|
+
U_GC_PD_MASK, // pd
|
|
595
|
+
U_GC_PE_MASK, // pe
|
|
596
|
+
U_GC_PF_MASK, // pf
|
|
597
|
+
U_GC_PI_MASK, // pi
|
|
598
|
+
U_GC_PO_MASK, // po
|
|
599
|
+
U_GC_CO_MASK, // privateuse
|
|
600
|
+
U_GC_PS_MASK, // ps
|
|
601
|
+
U_GC_P_MASK, // punctuation
|
|
602
|
+
U_GC_S_MASK, // s*
|
|
603
|
+
U_GC_SC_MASK, // sc
|
|
604
|
+
U_GC_Z_MASK, // separator
|
|
605
|
+
U_GC_SK_MASK, // sk
|
|
606
|
+
U_GC_SM_MASK, // sm
|
|
607
|
+
U_GC_SO_MASK, // so
|
|
608
|
+
U_GC_ZS_MASK, // spaceseparator
|
|
609
|
+
U_GC_MC_MASK, // spacingcombiningmark
|
|
610
|
+
U_GC_CS_MASK, // surrogate
|
|
611
|
+
U_GC_S_MASK, // symbol
|
|
612
|
+
U_GC_LT_MASK, // titlecase
|
|
613
|
+
U_GC_LT_MASK, // titlecaseletter
|
|
614
|
+
U_GC_LU_MASK, // uppercaseletter
|
|
615
|
+
U_GC_Z_MASK, // z*
|
|
616
|
+
U_GC_ZL_MASK, // zl
|
|
617
|
+
U_GC_ZP_MASK, // zp
|
|
618
|
+
U_GC_ZS_MASK, // zs
|
|
619
|
+
};
|
|
620
|
+
|
|
621
|
+
|
|
622
|
+
const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* ranges_begin = range_data;
|
|
623
|
+
const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* ranges_end = range_data + (sizeof(range_data) / sizeof(range_data[0]));
|
|
624
|
+
|
|
625
|
+
BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32> t = { p1, p2, };
|
|
626
|
+
const BOOST_REGEX_DETAIL_NS::character_pointer_range< ::UChar32>* p = std::lower_bound(ranges_begin, ranges_end, t);
|
|
627
|
+
if ((p != ranges_end) && (t == *p))
|
|
628
|
+
return icu_class_map[p - ranges_begin];
|
|
629
|
+
return 0;
|
|
630
|
+
}
|
|
631
|
+
std::shared_ptr< ::boost::BOOST_REGEX_DETAIL_NS::icu_regex_traits_implementation> m_pimpl;
|
|
632
|
+
};
|
|
633
|
+
|
|
634
|
+
} // namespace boost
|
|
635
|
+
|
|
636
|
+
namespace boost{
|
|
637
|
+
|
|
638
|
+
// types:
|
|
639
|
+
typedef basic_regex< ::UChar32, icu_regex_traits> u32regex;
|
|
640
|
+
typedef match_results<const ::UChar32*> u32match;
|
|
641
|
+
typedef match_results<const ::UChar*> u16match;
|
|
642
|
+
|
|
643
|
+
//
|
|
644
|
+
// Construction of 32-bit regex types from UTF-8 and UTF-16 primitives:
|
|
645
|
+
//
|
|
646
|
+
namespace BOOST_REGEX_DETAIL_NS{
|
|
647
|
+
|
|
648
|
+
template <class InputIterator>
|
|
649
|
+
inline u32regex do_make_u32regex(InputIterator i,
|
|
650
|
+
InputIterator j,
|
|
651
|
+
boost::regex_constants::syntax_option_type opt,
|
|
652
|
+
const std::integral_constant<int, 1>*)
|
|
653
|
+
{
|
|
654
|
+
typedef boost::u8_to_u32_iterator<InputIterator, UChar32> conv_type;
|
|
655
|
+
return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt);
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
template <class InputIterator>
|
|
659
|
+
inline u32regex do_make_u32regex(InputIterator i,
|
|
660
|
+
InputIterator j,
|
|
661
|
+
boost::regex_constants::syntax_option_type opt,
|
|
662
|
+
const std::integral_constant<int, 2>*)
|
|
663
|
+
{
|
|
664
|
+
typedef boost::u16_to_u32_iterator<InputIterator, UChar32> conv_type;
|
|
665
|
+
return u32regex(conv_type(i, i, j), conv_type(j, i, j), opt);
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
template <class InputIterator>
|
|
669
|
+
inline u32regex do_make_u32regex(InputIterator i,
|
|
670
|
+
InputIterator j,
|
|
671
|
+
boost::regex_constants::syntax_option_type opt,
|
|
672
|
+
const std::integral_constant<int, 4>*)
|
|
673
|
+
{
|
|
674
|
+
return u32regex(i, j, opt);
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
// BOOST_REGEX_UCHAR_IS_WCHAR_T
|
|
679
|
+
//
|
|
680
|
+
// Source inspection of unicode/umachine.h in ICU version 59 indicates that:
|
|
681
|
+
//
|
|
682
|
+
// On version 59, UChar is always char16_t in C++ mode (and uint16_t in C mode)
|
|
683
|
+
//
|
|
684
|
+
// On earlier versions, the logic is
|
|
685
|
+
//
|
|
686
|
+
// #if U_SIZEOF_WCHAR_T==2
|
|
687
|
+
// typedef wchar_t OldUChar;
|
|
688
|
+
// #elif defined(__CHAR16_TYPE__)
|
|
689
|
+
// typedef __CHAR16_TYPE__ OldUChar;
|
|
690
|
+
// #else
|
|
691
|
+
// typedef uint16_t OldUChar;
|
|
692
|
+
// #endif
|
|
693
|
+
//
|
|
694
|
+
// That is, UChar is wchar_t only on versions below 59, when U_SIZEOF_WCHAR_T==2
|
|
695
|
+
//
|
|
696
|
+
// Hence,
|
|
697
|
+
|
|
698
|
+
#define BOOST_REGEX_UCHAR_IS_WCHAR_T (U_ICU_VERSION_MAJOR_NUM < 59 && U_SIZEOF_WCHAR_T == 2)
|
|
699
|
+
|
|
700
|
+
#if BOOST_REGEX_UCHAR_IS_WCHAR_T
|
|
701
|
+
static_assert((std::is_same<UChar, wchar_t>::value), "Configuration logic has failed!");
|
|
702
|
+
#else
|
|
703
|
+
static_assert(!(std::is_same<UChar, wchar_t>::value), "Configuration logic has failed!");
|
|
704
|
+
#endif
|
|
705
|
+
|
|
706
|
+
//
|
|
707
|
+
// Construction from an iterator pair:
|
|
708
|
+
//
|
|
709
|
+
template <class InputIterator>
|
|
710
|
+
inline u32regex make_u32regex(InputIterator i,
|
|
711
|
+
InputIterator j,
|
|
712
|
+
boost::regex_constants::syntax_option_type opt)
|
|
713
|
+
{
|
|
714
|
+
return BOOST_REGEX_DETAIL_NS::do_make_u32regex(i, j, opt, static_cast<std::integral_constant<int, sizeof(*i)> const*>(0));
|
|
715
|
+
}
|
|
716
|
+
//
|
|
717
|
+
// construction from UTF-8 nul-terminated strings:
|
|
718
|
+
//
|
|
719
|
+
inline u32regex make_u32regex(const char* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)
|
|
720
|
+
{
|
|
721
|
+
return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::strlen(p), opt, static_cast<std::integral_constant<int, 1> const*>(0));
|
|
722
|
+
}
|
|
723
|
+
inline u32regex make_u32regex(const unsigned char* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)
|
|
724
|
+
{
|
|
725
|
+
return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::strlen(reinterpret_cast<const char*>(p)), opt, static_cast<std::integral_constant<int, 1> const*>(0));
|
|
726
|
+
}
|
|
727
|
+
//
|
|
728
|
+
// construction from UTF-16 nul-terminated strings:
|
|
729
|
+
//
|
|
730
|
+
#ifndef BOOST_NO_WREGEX
|
|
731
|
+
inline u32regex make_u32regex(const wchar_t* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)
|
|
732
|
+
{
|
|
733
|
+
return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + std::wcslen(p), opt, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));
|
|
734
|
+
}
|
|
735
|
+
#endif
|
|
736
|
+
#if !BOOST_REGEX_UCHAR_IS_WCHAR_T
|
|
737
|
+
inline u32regex make_u32regex(const UChar* p, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)
|
|
738
|
+
{
|
|
739
|
+
return BOOST_REGEX_DETAIL_NS::do_make_u32regex(p, p + u_strlen(p), opt, static_cast<std::integral_constant<int, 2> const*>(0));
|
|
740
|
+
}
|
|
741
|
+
#endif
|
|
742
|
+
//
|
|
743
|
+
// construction from basic_string class-template:
|
|
744
|
+
//
|
|
745
|
+
template<class C, class T, class A>
|
|
746
|
+
inline u32regex make_u32regex(const std::basic_string<C, T, A>& s, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)
|
|
747
|
+
{
|
|
748
|
+
return BOOST_REGEX_DETAIL_NS::do_make_u32regex(s.begin(), s.end(), opt, static_cast<std::integral_constant<int, sizeof(C)> const*>(0));
|
|
749
|
+
}
|
|
750
|
+
//
|
|
751
|
+
// Construction from ICU string type:
|
|
752
|
+
//
|
|
753
|
+
inline u32regex make_u32regex(const U_NAMESPACE_QUALIFIER UnicodeString& s, boost::regex_constants::syntax_option_type opt = boost::regex_constants::perl)
|
|
754
|
+
{
|
|
755
|
+
return BOOST_REGEX_DETAIL_NS::do_make_u32regex(s.getBuffer(), s.getBuffer() + s.length(), opt, static_cast<std::integral_constant<int, 2> const*>(0));
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
//
|
|
759
|
+
// regex_match overloads that widen the character type as appropriate:
|
|
760
|
+
//
|
|
761
|
+
namespace BOOST_REGEX_DETAIL_NS{
|
|
762
|
+
template<class MR1, class MR2, class NSubs>
|
|
763
|
+
void copy_results(MR1& out, MR2 const& in, NSubs named_subs)
|
|
764
|
+
{
|
|
765
|
+
// copy results from an adapted MR2 match_results:
|
|
766
|
+
out.set_size(in.size(), in.prefix().first.base(), in.suffix().second.base());
|
|
767
|
+
out.set_base(in.base().base());
|
|
768
|
+
out.set_named_subs(named_subs);
|
|
769
|
+
for(int i = 0; i < (int)in.size(); ++i)
|
|
770
|
+
{
|
|
771
|
+
if(in[i].matched || !i)
|
|
772
|
+
{
|
|
773
|
+
out.set_first(in[i].first.base(), i);
|
|
774
|
+
out.set_second(in[i].second.base(), i, in[i].matched);
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
#ifdef BOOST_REGEX_MATCH_EXTRA
|
|
778
|
+
// Copy full capture info as well:
|
|
779
|
+
for(int i = 0; i < (int)in.size(); ++i)
|
|
780
|
+
{
|
|
781
|
+
if(in[i].captures().size())
|
|
782
|
+
{
|
|
783
|
+
out[i].get_captures().assign(in[i].captures().size(), typename MR1::value_type());
|
|
784
|
+
for(int j = 0; j < (int)out[i].captures().size(); ++j)
|
|
785
|
+
{
|
|
786
|
+
out[i].get_captures()[j].first = in[i].captures()[j].first.base();
|
|
787
|
+
out[i].get_captures()[j].second = in[i].captures()[j].second.base();
|
|
788
|
+
out[i].get_captures()[j].matched = in[i].captures()[j].matched;
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
#endif
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
template <class BidiIterator, class Allocator>
|
|
796
|
+
inline bool do_regex_match(BidiIterator first, BidiIterator last,
|
|
797
|
+
match_results<BidiIterator, Allocator>& m,
|
|
798
|
+
const u32regex& e,
|
|
799
|
+
match_flag_type flags,
|
|
800
|
+
std::integral_constant<int, 4> const*)
|
|
801
|
+
{
|
|
802
|
+
return ::boost::regex_match(first, last, m, e, flags);
|
|
803
|
+
}
|
|
804
|
+
template <class BidiIterator, class Allocator>
|
|
805
|
+
bool do_regex_match(BidiIterator first, BidiIterator last,
|
|
806
|
+
match_results<BidiIterator, Allocator>& m,
|
|
807
|
+
const u32regex& e,
|
|
808
|
+
match_flag_type flags,
|
|
809
|
+
std::integral_constant<int, 2> const*)
|
|
810
|
+
{
|
|
811
|
+
typedef u16_to_u32_iterator<BidiIterator, UChar32> conv_type;
|
|
812
|
+
typedef match_results<conv_type> match_type;
|
|
813
|
+
//typedef typename match_type::allocator_type alloc_type;
|
|
814
|
+
match_type what;
|
|
815
|
+
bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags);
|
|
816
|
+
// copy results across to m:
|
|
817
|
+
if(result) copy_results(m, what, e.get_named_subs());
|
|
818
|
+
return result;
|
|
819
|
+
}
|
|
820
|
+
template <class BidiIterator, class Allocator>
|
|
821
|
+
bool do_regex_match(BidiIterator first, BidiIterator last,
|
|
822
|
+
match_results<BidiIterator, Allocator>& m,
|
|
823
|
+
const u32regex& e,
|
|
824
|
+
match_flag_type flags,
|
|
825
|
+
std::integral_constant<int, 1> const*)
|
|
826
|
+
{
|
|
827
|
+
typedef u8_to_u32_iterator<BidiIterator, UChar32> conv_type;
|
|
828
|
+
typedef match_results<conv_type> match_type;
|
|
829
|
+
//typedef typename match_type::allocator_type alloc_type;
|
|
830
|
+
match_type what;
|
|
831
|
+
bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags);
|
|
832
|
+
// copy results across to m:
|
|
833
|
+
if(result) copy_results(m, what, e.get_named_subs());
|
|
834
|
+
return result;
|
|
835
|
+
}
|
|
836
|
+
} // namespace BOOST_REGEX_DETAIL_NS
|
|
837
|
+
|
|
838
|
+
template <class BidiIterator, class Allocator>
|
|
839
|
+
inline bool u32regex_match(BidiIterator first, BidiIterator last,
|
|
840
|
+
match_results<BidiIterator, Allocator>& m,
|
|
841
|
+
const u32regex& e,
|
|
842
|
+
match_flag_type flags = match_default)
|
|
843
|
+
{
|
|
844
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(first, last, m, e, flags, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0));
|
|
845
|
+
}
|
|
846
|
+
inline bool u32regex_match(const UChar* p,
|
|
847
|
+
match_results<const UChar*>& m,
|
|
848
|
+
const u32regex& e,
|
|
849
|
+
match_flag_type flags = match_default)
|
|
850
|
+
{
|
|
851
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast<std::integral_constant<int, 2> const*>(0));
|
|
852
|
+
}
|
|
853
|
+
#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX)
|
|
854
|
+
inline bool u32regex_match(const wchar_t* p,
|
|
855
|
+
match_results<const wchar_t*>& m,
|
|
856
|
+
const u32regex& e,
|
|
857
|
+
match_flag_type flags = match_default)
|
|
858
|
+
{
|
|
859
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::wcslen(p), m, e, flags, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));
|
|
860
|
+
}
|
|
861
|
+
#endif
|
|
862
|
+
inline bool u32regex_match(const char* p,
|
|
863
|
+
match_results<const char*>& m,
|
|
864
|
+
const u32regex& e,
|
|
865
|
+
match_flag_type flags = match_default)
|
|
866
|
+
{
|
|
867
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen(p), m, e, flags, static_cast<std::integral_constant<int, 1> const*>(0));
|
|
868
|
+
}
|
|
869
|
+
inline bool u32regex_match(const unsigned char* p,
|
|
870
|
+
match_results<const unsigned char*>& m,
|
|
871
|
+
const u32regex& e,
|
|
872
|
+
match_flag_type flags = match_default)
|
|
873
|
+
{
|
|
874
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen((const char*)p), m, e, flags, static_cast<std::integral_constant<int, 1> const*>(0));
|
|
875
|
+
}
|
|
876
|
+
inline bool u32regex_match(const std::string& s,
|
|
877
|
+
match_results<std::string::const_iterator>& m,
|
|
878
|
+
const u32regex& e,
|
|
879
|
+
match_flag_type flags = match_default)
|
|
880
|
+
{
|
|
881
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast<std::integral_constant<int, 1> const*>(0));
|
|
882
|
+
}
|
|
883
|
+
#ifndef BOOST_NO_STD_WSTRING
|
|
884
|
+
inline bool u32regex_match(const std::wstring& s,
|
|
885
|
+
match_results<std::wstring::const_iterator>& m,
|
|
886
|
+
const u32regex& e,
|
|
887
|
+
match_flag_type flags = match_default)
|
|
888
|
+
{
|
|
889
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));
|
|
890
|
+
}
|
|
891
|
+
#endif
|
|
892
|
+
inline bool u32regex_match(const U_NAMESPACE_QUALIFIER UnicodeString& s,
|
|
893
|
+
match_results<const UChar*>& m,
|
|
894
|
+
const u32regex& e,
|
|
895
|
+
match_flag_type flags = match_default)
|
|
896
|
+
{
|
|
897
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, static_cast<std::integral_constant<int, 2> const*>(0));
|
|
898
|
+
}
|
|
899
|
+
//
|
|
900
|
+
// regex_match overloads that do not return what matched:
|
|
901
|
+
//
|
|
902
|
+
template <class BidiIterator>
|
|
903
|
+
inline bool u32regex_match(BidiIterator first, BidiIterator last,
|
|
904
|
+
const u32regex& e,
|
|
905
|
+
match_flag_type flags = match_default)
|
|
906
|
+
{
|
|
907
|
+
match_results<BidiIterator> m;
|
|
908
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(first, last, m, e, flags, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0));
|
|
909
|
+
}
|
|
910
|
+
inline bool u32regex_match(const UChar* p,
|
|
911
|
+
const u32regex& e,
|
|
912
|
+
match_flag_type flags = match_default)
|
|
913
|
+
{
|
|
914
|
+
match_results<const UChar*> m;
|
|
915
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+u_strlen(p), m, e, flags, static_cast<std::integral_constant<int, 2> const*>(0));
|
|
916
|
+
}
|
|
917
|
+
#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX)
|
|
918
|
+
inline bool u32regex_match(const wchar_t* p,
|
|
919
|
+
const u32regex& e,
|
|
920
|
+
match_flag_type flags = match_default)
|
|
921
|
+
{
|
|
922
|
+
match_results<const wchar_t*> m;
|
|
923
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::wcslen(p), m, e, flags, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));
|
|
924
|
+
}
|
|
925
|
+
#endif
|
|
926
|
+
inline bool u32regex_match(const char* p,
|
|
927
|
+
const u32regex& e,
|
|
928
|
+
match_flag_type flags = match_default)
|
|
929
|
+
{
|
|
930
|
+
match_results<const char*> m;
|
|
931
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen(p), m, e, flags, static_cast<std::integral_constant<int, 1> const*>(0));
|
|
932
|
+
}
|
|
933
|
+
inline bool u32regex_match(const unsigned char* p,
|
|
934
|
+
const u32regex& e,
|
|
935
|
+
match_flag_type flags = match_default)
|
|
936
|
+
{
|
|
937
|
+
match_results<const unsigned char*> m;
|
|
938
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(p, p+std::strlen((const char*)p), m, e, flags, static_cast<std::integral_constant<int, 1> const*>(0));
|
|
939
|
+
}
|
|
940
|
+
inline bool u32regex_match(const std::string& s,
|
|
941
|
+
const u32regex& e,
|
|
942
|
+
match_flag_type flags = match_default)
|
|
943
|
+
{
|
|
944
|
+
match_results<std::string::const_iterator> m;
|
|
945
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast<std::integral_constant<int, 1> const*>(0));
|
|
946
|
+
}
|
|
947
|
+
#ifndef BOOST_NO_STD_WSTRING
|
|
948
|
+
inline bool u32regex_match(const std::wstring& s,
|
|
949
|
+
const u32regex& e,
|
|
950
|
+
match_flag_type flags = match_default)
|
|
951
|
+
{
|
|
952
|
+
match_results<std::wstring::const_iterator> m;
|
|
953
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(s.begin(), s.end(), m, e, flags, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));
|
|
954
|
+
}
|
|
955
|
+
#endif
|
|
956
|
+
inline bool u32regex_match(const U_NAMESPACE_QUALIFIER UnicodeString& s,
|
|
957
|
+
const u32regex& e,
|
|
958
|
+
match_flag_type flags = match_default)
|
|
959
|
+
{
|
|
960
|
+
match_results<const UChar*> m;
|
|
961
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_match(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, static_cast<std::integral_constant<int, 2> const*>(0));
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
//
|
|
965
|
+
// regex_search overloads that widen the character type as appropriate:
|
|
966
|
+
//
|
|
967
|
+
namespace BOOST_REGEX_DETAIL_NS{
|
|
968
|
+
template <class BidiIterator, class Allocator>
|
|
969
|
+
inline bool do_regex_search(BidiIterator first, BidiIterator last,
|
|
970
|
+
match_results<BidiIterator, Allocator>& m,
|
|
971
|
+
const u32regex& e,
|
|
972
|
+
match_flag_type flags,
|
|
973
|
+
BidiIterator base,
|
|
974
|
+
std::integral_constant<int, 4> const*)
|
|
975
|
+
{
|
|
976
|
+
return ::boost::regex_search(first, last, m, e, flags, base);
|
|
977
|
+
}
|
|
978
|
+
template <class BidiIterator, class Allocator>
|
|
979
|
+
bool do_regex_search(BidiIterator first, BidiIterator last,
|
|
980
|
+
match_results<BidiIterator, Allocator>& m,
|
|
981
|
+
const u32regex& e,
|
|
982
|
+
match_flag_type flags,
|
|
983
|
+
BidiIterator base,
|
|
984
|
+
std::integral_constant<int, 2> const*)
|
|
985
|
+
{
|
|
986
|
+
typedef u16_to_u32_iterator<BidiIterator, UChar32> conv_type;
|
|
987
|
+
typedef match_results<conv_type> match_type;
|
|
988
|
+
//typedef typename match_type::allocator_type alloc_type;
|
|
989
|
+
match_type what;
|
|
990
|
+
bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base));
|
|
991
|
+
// copy results across to m:
|
|
992
|
+
if(result) copy_results(m, what, e.get_named_subs());
|
|
993
|
+
return result;
|
|
994
|
+
}
|
|
995
|
+
template <class BidiIterator, class Allocator>
|
|
996
|
+
bool do_regex_search(BidiIterator first, BidiIterator last,
|
|
997
|
+
match_results<BidiIterator, Allocator>& m,
|
|
998
|
+
const u32regex& e,
|
|
999
|
+
match_flag_type flags,
|
|
1000
|
+
BidiIterator base,
|
|
1001
|
+
std::integral_constant<int, 1> const*)
|
|
1002
|
+
{
|
|
1003
|
+
typedef u8_to_u32_iterator<BidiIterator, UChar32> conv_type;
|
|
1004
|
+
typedef match_results<conv_type> match_type;
|
|
1005
|
+
//typedef typename match_type::allocator_type alloc_type;
|
|
1006
|
+
match_type what;
|
|
1007
|
+
bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base));
|
|
1008
|
+
// copy results across to m:
|
|
1009
|
+
if(result) copy_results(m, what, e.get_named_subs());
|
|
1010
|
+
return result;
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
template <class BidiIterator, class Allocator>
|
|
1015
|
+
inline bool u32regex_search(BidiIterator first, BidiIterator last,
|
|
1016
|
+
match_results<BidiIterator, Allocator>& m,
|
|
1017
|
+
const u32regex& e,
|
|
1018
|
+
match_flag_type flags = match_default)
|
|
1019
|
+
{
|
|
1020
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, first, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0));
|
|
1021
|
+
}
|
|
1022
|
+
template <class BidiIterator, class Allocator>
|
|
1023
|
+
inline bool u32regex_search(BidiIterator first, BidiIterator last,
|
|
1024
|
+
match_results<BidiIterator, Allocator>& m,
|
|
1025
|
+
const u32regex& e,
|
|
1026
|
+
match_flag_type flags,
|
|
1027
|
+
BidiIterator base)
|
|
1028
|
+
{
|
|
1029
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, base, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0));
|
|
1030
|
+
}
|
|
1031
|
+
inline bool u32regex_search(const UChar* p,
|
|
1032
|
+
match_results<const UChar*>& m,
|
|
1033
|
+
const u32regex& e,
|
|
1034
|
+
match_flag_type flags = match_default)
|
|
1035
|
+
{
|
|
1036
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast<std::integral_constant<int, 2> const*>(0));
|
|
1037
|
+
}
|
|
1038
|
+
#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX)
|
|
1039
|
+
inline bool u32regex_search(const wchar_t* p,
|
|
1040
|
+
match_results<const wchar_t*>& m,
|
|
1041
|
+
const u32regex& e,
|
|
1042
|
+
match_flag_type flags = match_default)
|
|
1043
|
+
{
|
|
1044
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::wcslen(p), m, e, flags, p, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));
|
|
1045
|
+
}
|
|
1046
|
+
#endif
|
|
1047
|
+
inline bool u32regex_search(const char* p,
|
|
1048
|
+
match_results<const char*>& m,
|
|
1049
|
+
const u32regex& e,
|
|
1050
|
+
match_flag_type flags = match_default)
|
|
1051
|
+
{
|
|
1052
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen(p), m, e, flags, p, static_cast<std::integral_constant<int, 1> const*>(0));
|
|
1053
|
+
}
|
|
1054
|
+
inline bool u32regex_search(const unsigned char* p,
|
|
1055
|
+
match_results<const unsigned char*>& m,
|
|
1056
|
+
const u32regex& e,
|
|
1057
|
+
match_flag_type flags = match_default)
|
|
1058
|
+
{
|
|
1059
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen((const char*)p), m, e, flags, p, static_cast<std::integral_constant<int, 1> const*>(0));
|
|
1060
|
+
}
|
|
1061
|
+
inline bool u32regex_search(const std::string& s,
|
|
1062
|
+
match_results<std::string::const_iterator>& m,
|
|
1063
|
+
const u32regex& e,
|
|
1064
|
+
match_flag_type flags = match_default)
|
|
1065
|
+
{
|
|
1066
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast<std::integral_constant<int, 1> const*>(0));
|
|
1067
|
+
}
|
|
1068
|
+
#ifndef BOOST_NO_STD_WSTRING
|
|
1069
|
+
inline bool u32regex_search(const std::wstring& s,
|
|
1070
|
+
match_results<std::wstring::const_iterator>& m,
|
|
1071
|
+
const u32regex& e,
|
|
1072
|
+
match_flag_type flags = match_default)
|
|
1073
|
+
{
|
|
1074
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));
|
|
1075
|
+
}
|
|
1076
|
+
#endif
|
|
1077
|
+
inline bool u32regex_search(const U_NAMESPACE_QUALIFIER UnicodeString& s,
|
|
1078
|
+
match_results<const UChar*>& m,
|
|
1079
|
+
const u32regex& e,
|
|
1080
|
+
match_flag_type flags = match_default)
|
|
1081
|
+
{
|
|
1082
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, s.getBuffer(), static_cast<std::integral_constant<int, 2> const*>(0));
|
|
1083
|
+
}
|
|
1084
|
+
template <class BidiIterator>
|
|
1085
|
+
inline bool u32regex_search(BidiIterator first, BidiIterator last,
|
|
1086
|
+
const u32regex& e,
|
|
1087
|
+
match_flag_type flags = match_default)
|
|
1088
|
+
{
|
|
1089
|
+
match_results<BidiIterator> m;
|
|
1090
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(first, last, m, e, flags, first, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0));
|
|
1091
|
+
}
|
|
1092
|
+
inline bool u32regex_search(const UChar* p,
|
|
1093
|
+
const u32regex& e,
|
|
1094
|
+
match_flag_type flags = match_default)
|
|
1095
|
+
{
|
|
1096
|
+
match_results<const UChar*> m;
|
|
1097
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+u_strlen(p), m, e, flags, p, static_cast<std::integral_constant<int, 2> const*>(0));
|
|
1098
|
+
}
|
|
1099
|
+
#if !BOOST_REGEX_UCHAR_IS_WCHAR_T && !defined(BOOST_NO_WREGEX)
|
|
1100
|
+
inline bool u32regex_search(const wchar_t* p,
|
|
1101
|
+
const u32regex& e,
|
|
1102
|
+
match_flag_type flags = match_default)
|
|
1103
|
+
{
|
|
1104
|
+
match_results<const wchar_t*> m;
|
|
1105
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::wcslen(p), m, e, flags, p, static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));
|
|
1106
|
+
}
|
|
1107
|
+
#endif
|
|
1108
|
+
inline bool u32regex_search(const char* p,
|
|
1109
|
+
const u32regex& e,
|
|
1110
|
+
match_flag_type flags = match_default)
|
|
1111
|
+
{
|
|
1112
|
+
match_results<const char*> m;
|
|
1113
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen(p), m, e, flags, p, static_cast<std::integral_constant<int, 1> const*>(0));
|
|
1114
|
+
}
|
|
1115
|
+
inline bool u32regex_search(const unsigned char* p,
|
|
1116
|
+
const u32regex& e,
|
|
1117
|
+
match_flag_type flags = match_default)
|
|
1118
|
+
{
|
|
1119
|
+
match_results<const unsigned char*> m;
|
|
1120
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(p, p+std::strlen((const char*)p), m, e, flags, p, static_cast<std::integral_constant<int, 1> const*>(0));
|
|
1121
|
+
}
|
|
1122
|
+
inline bool u32regex_search(const std::string& s,
|
|
1123
|
+
const u32regex& e,
|
|
1124
|
+
match_flag_type flags = match_default)
|
|
1125
|
+
{
|
|
1126
|
+
match_results<std::string::const_iterator> m;
|
|
1127
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast<std::integral_constant<int, 1> const*>(0));
|
|
1128
|
+
}
|
|
1129
|
+
#ifndef BOOST_NO_STD_WSTRING
|
|
1130
|
+
inline bool u32regex_search(const std::wstring& s,
|
|
1131
|
+
const u32regex& e,
|
|
1132
|
+
match_flag_type flags = match_default)
|
|
1133
|
+
{
|
|
1134
|
+
match_results<std::wstring::const_iterator> m;
|
|
1135
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(s.begin(), s.end(), m, e, flags, s.begin(), static_cast<std::integral_constant<int, sizeof(wchar_t)> const*>(0));
|
|
1136
|
+
}
|
|
1137
|
+
#endif
|
|
1138
|
+
inline bool u32regex_search(const U_NAMESPACE_QUALIFIER UnicodeString& s,
|
|
1139
|
+
const u32regex& e,
|
|
1140
|
+
match_flag_type flags = match_default)
|
|
1141
|
+
{
|
|
1142
|
+
match_results<const UChar*> m;
|
|
1143
|
+
return BOOST_REGEX_DETAIL_NS::do_regex_search(s.getBuffer(), s.getBuffer() + s.length(), m, e, flags, s.getBuffer(), static_cast<std::integral_constant<int, 2> const*>(0));
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
//
|
|
1147
|
+
// overloads for regex_replace with utf-8 and utf-16 data types:
|
|
1148
|
+
//
|
|
1149
|
+
namespace BOOST_REGEX_DETAIL_NS{
|
|
1150
|
+
template <class I>
|
|
1151
|
+
inline std::pair< boost::u8_to_u32_iterator<I>, boost::u8_to_u32_iterator<I> >
|
|
1152
|
+
make_utf32_seq(I i, I j, std::integral_constant<int, 1> const*)
|
|
1153
|
+
{
|
|
1154
|
+
return std::pair< boost::u8_to_u32_iterator<I>, boost::u8_to_u32_iterator<I> >(boost::u8_to_u32_iterator<I>(i, i, j), boost::u8_to_u32_iterator<I>(j, i, j));
|
|
1155
|
+
}
|
|
1156
|
+
template <class I>
|
|
1157
|
+
inline std::pair< boost::u16_to_u32_iterator<I>, boost::u16_to_u32_iterator<I> >
|
|
1158
|
+
make_utf32_seq(I i, I j, std::integral_constant<int, 2> const*)
|
|
1159
|
+
{
|
|
1160
|
+
return std::pair< boost::u16_to_u32_iterator<I>, boost::u16_to_u32_iterator<I> >(boost::u16_to_u32_iterator<I>(i, i, j), boost::u16_to_u32_iterator<I>(j, i, j));
|
|
1161
|
+
}
|
|
1162
|
+
template <class I>
|
|
1163
|
+
inline std::pair< I, I >
|
|
1164
|
+
make_utf32_seq(I i, I j, std::integral_constant<int, 4> const*)
|
|
1165
|
+
{
|
|
1166
|
+
return std::pair< I, I >(i, j);
|
|
1167
|
+
}
|
|
1168
|
+
template <class charT>
|
|
1169
|
+
inline std::pair< boost::u8_to_u32_iterator<const charT*>, boost::u8_to_u32_iterator<const charT*> >
|
|
1170
|
+
make_utf32_seq(const charT* p, std::integral_constant<int, 1> const*)
|
|
1171
|
+
{
|
|
1172
|
+
std::size_t len = std::strlen((const char*)p);
|
|
1173
|
+
return std::pair< boost::u8_to_u32_iterator<const charT*>, boost::u8_to_u32_iterator<const charT*> >(boost::u8_to_u32_iterator<const charT*>(p, p, p+len), boost::u8_to_u32_iterator<const charT*>(p+len, p, p+len));
|
|
1174
|
+
}
|
|
1175
|
+
template <class charT>
|
|
1176
|
+
inline std::pair< boost::u16_to_u32_iterator<const charT*>, boost::u16_to_u32_iterator<const charT*> >
|
|
1177
|
+
make_utf32_seq(const charT* p, std::integral_constant<int, 2> const*)
|
|
1178
|
+
{
|
|
1179
|
+
std::size_t len = u_strlen((const UChar*)p);
|
|
1180
|
+
return std::pair< boost::u16_to_u32_iterator<const charT*>, boost::u16_to_u32_iterator<const charT*> >(boost::u16_to_u32_iterator<const charT*>(p, p, p + len), boost::u16_to_u32_iterator<const charT*>(p+len, p, p + len));
|
|
1181
|
+
}
|
|
1182
|
+
template <class charT>
|
|
1183
|
+
inline std::pair< const charT*, const charT* >
|
|
1184
|
+
make_utf32_seq(const charT* p, std::integral_constant<int, 4> const*)
|
|
1185
|
+
{
|
|
1186
|
+
return std::pair< const charT*, const charT* >(p, p+icu_regex_traits::length((UChar32 const*)p));
|
|
1187
|
+
}
|
|
1188
|
+
template <class OutputIterator>
|
|
1189
|
+
inline OutputIterator make_utf32_out(OutputIterator o, std::integral_constant<int, 4> const*)
|
|
1190
|
+
{
|
|
1191
|
+
return o;
|
|
1192
|
+
}
|
|
1193
|
+
template <class OutputIterator>
|
|
1194
|
+
inline utf16_output_iterator<OutputIterator> make_utf32_out(OutputIterator o, std::integral_constant<int, 2> const*)
|
|
1195
|
+
{
|
|
1196
|
+
return o;
|
|
1197
|
+
}
|
|
1198
|
+
template <class OutputIterator>
|
|
1199
|
+
inline utf8_output_iterator<OutputIterator> make_utf32_out(OutputIterator o, std::integral_constant<int, 1> const*)
|
|
1200
|
+
{
|
|
1201
|
+
return o;
|
|
1202
|
+
}
|
|
1203
|
+
|
|
1204
|
+
template <class OutputIterator, class I1, class I2>
|
|
1205
|
+
OutputIterator do_regex_replace(OutputIterator out,
|
|
1206
|
+
std::pair<I1, I1> const& in,
|
|
1207
|
+
const u32regex& e,
|
|
1208
|
+
const std::pair<I2, I2>& fmt,
|
|
1209
|
+
match_flag_type flags
|
|
1210
|
+
)
|
|
1211
|
+
{
|
|
1212
|
+
// unfortunately we have to copy the format string in order to pass in onward:
|
|
1213
|
+
std::vector<UChar32> f;
|
|
1214
|
+
f.assign(fmt.first, fmt.second);
|
|
1215
|
+
|
|
1216
|
+
regex_iterator<I1, UChar32, icu_regex_traits> i(in.first, in.second, e, flags);
|
|
1217
|
+
regex_iterator<I1, UChar32, icu_regex_traits> j;
|
|
1218
|
+
if(i == j)
|
|
1219
|
+
{
|
|
1220
|
+
if(!(flags & regex_constants::format_no_copy))
|
|
1221
|
+
out = std::copy(in.first, in.second, out);
|
|
1222
|
+
}
|
|
1223
|
+
else
|
|
1224
|
+
{
|
|
1225
|
+
I1 last_m = in.first;
|
|
1226
|
+
while(i != j)
|
|
1227
|
+
{
|
|
1228
|
+
if(!(flags & regex_constants::format_no_copy))
|
|
1229
|
+
out = std::copy(i->prefix().first, i->prefix().second, out);
|
|
1230
|
+
if(!f.empty())
|
|
1231
|
+
out = ::boost::BOOST_REGEX_DETAIL_NS::regex_format_imp(out, *i, &*f.begin(), &*f.begin() + f.size(), flags, e.get_traits());
|
|
1232
|
+
else
|
|
1233
|
+
out = ::boost::BOOST_REGEX_DETAIL_NS::regex_format_imp(out, *i, static_cast<UChar32 const*>(0), static_cast<UChar32 const*>(0), flags, e.get_traits());
|
|
1234
|
+
last_m = (*i)[0].second;
|
|
1235
|
+
if(flags & regex_constants::format_first_only)
|
|
1236
|
+
break;
|
|
1237
|
+
++i;
|
|
1238
|
+
}
|
|
1239
|
+
if(!(flags & regex_constants::format_no_copy))
|
|
1240
|
+
out = std::copy(last_m, in.second, out);
|
|
1241
|
+
}
|
|
1242
|
+
return out;
|
|
1243
|
+
}
|
|
1244
|
+
template <class BaseIterator>
|
|
1245
|
+
inline const BaseIterator& extract_output_base(const BaseIterator& b)
|
|
1246
|
+
{
|
|
1247
|
+
return b;
|
|
1248
|
+
}
|
|
1249
|
+
template <class BaseIterator>
|
|
1250
|
+
inline BaseIterator extract_output_base(const utf8_output_iterator<BaseIterator>& b)
|
|
1251
|
+
{
|
|
1252
|
+
return b.base();
|
|
1253
|
+
}
|
|
1254
|
+
template <class BaseIterator>
|
|
1255
|
+
inline BaseIterator extract_output_base(const utf16_output_iterator<BaseIterator>& b)
|
|
1256
|
+
{
|
|
1257
|
+
return b.base();
|
|
1258
|
+
}
|
|
1259
|
+
} // BOOST_REGEX_DETAIL_NS
|
|
1260
|
+
|
|
1261
|
+
template <class OutputIterator, class BidirectionalIterator, class charT>
|
|
1262
|
+
inline OutputIterator u32regex_replace(OutputIterator out,
|
|
1263
|
+
BidirectionalIterator first,
|
|
1264
|
+
BidirectionalIterator last,
|
|
1265
|
+
const u32regex& e,
|
|
1266
|
+
const charT* fmt,
|
|
1267
|
+
match_flag_type flags = match_default)
|
|
1268
|
+
{
|
|
1269
|
+
return BOOST_REGEX_DETAIL_NS::extract_output_base
|
|
1270
|
+
(
|
|
1271
|
+
BOOST_REGEX_DETAIL_NS::do_regex_replace(
|
|
1272
|
+
BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0)),
|
|
1273
|
+
BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0)),
|
|
1274
|
+
e,
|
|
1275
|
+
BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt, static_cast<std::integral_constant<int, sizeof(*fmt)> const*>(0)),
|
|
1276
|
+
flags)
|
|
1277
|
+
);
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
template <class OutputIterator, class Iterator, class charT>
|
|
1281
|
+
inline OutputIterator u32regex_replace(OutputIterator out,
|
|
1282
|
+
Iterator first,
|
|
1283
|
+
Iterator last,
|
|
1284
|
+
const u32regex& e,
|
|
1285
|
+
const std::basic_string<charT>& fmt,
|
|
1286
|
+
match_flag_type flags = match_default)
|
|
1287
|
+
{
|
|
1288
|
+
return BOOST_REGEX_DETAIL_NS::extract_output_base
|
|
1289
|
+
(
|
|
1290
|
+
BOOST_REGEX_DETAIL_NS::do_regex_replace(
|
|
1291
|
+
BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0)),
|
|
1292
|
+
BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0)),
|
|
1293
|
+
e,
|
|
1294
|
+
BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.begin(), fmt.end(), static_cast<std::integral_constant<int, sizeof(charT)> const*>(0)),
|
|
1295
|
+
flags)
|
|
1296
|
+
);
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
template <class OutputIterator, class Iterator>
|
|
1300
|
+
inline OutputIterator u32regex_replace(OutputIterator out,
|
|
1301
|
+
Iterator first,
|
|
1302
|
+
Iterator last,
|
|
1303
|
+
const u32regex& e,
|
|
1304
|
+
const U_NAMESPACE_QUALIFIER UnicodeString& fmt,
|
|
1305
|
+
match_flag_type flags = match_default)
|
|
1306
|
+
{
|
|
1307
|
+
return BOOST_REGEX_DETAIL_NS::extract_output_base
|
|
1308
|
+
(
|
|
1309
|
+
BOOST_REGEX_DETAIL_NS::do_regex_replace(
|
|
1310
|
+
BOOST_REGEX_DETAIL_NS::make_utf32_out(out, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0)),
|
|
1311
|
+
BOOST_REGEX_DETAIL_NS::make_utf32_seq(first, last, static_cast<std::integral_constant<int, sizeof(*first)> const*>(0)),
|
|
1312
|
+
e,
|
|
1313
|
+
BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.getBuffer(), fmt.getBuffer() + fmt.length(), static_cast<std::integral_constant<int, 2> const*>(0)),
|
|
1314
|
+
flags)
|
|
1315
|
+
);
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1318
|
+
template <class charT>
|
|
1319
|
+
std::basic_string<charT> u32regex_replace(const std::basic_string<charT>& s,
|
|
1320
|
+
const u32regex& e,
|
|
1321
|
+
const charT* fmt,
|
|
1322
|
+
match_flag_type flags = match_default)
|
|
1323
|
+
{
|
|
1324
|
+
std::basic_string<charT> result;
|
|
1325
|
+
BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<charT> > i(result);
|
|
1326
|
+
u32regex_replace(i, s.begin(), s.end(), e, fmt, flags);
|
|
1327
|
+
return result;
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
template <class charT>
|
|
1331
|
+
std::basic_string<charT> u32regex_replace(const std::basic_string<charT>& s,
|
|
1332
|
+
const u32regex& e,
|
|
1333
|
+
const std::basic_string<charT>& fmt,
|
|
1334
|
+
match_flag_type flags = match_default)
|
|
1335
|
+
{
|
|
1336
|
+
std::basic_string<charT> result;
|
|
1337
|
+
BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<charT> > i(result);
|
|
1338
|
+
u32regex_replace(i, s.begin(), s.end(), e, fmt.c_str(), flags);
|
|
1339
|
+
return result;
|
|
1340
|
+
}
|
|
1341
|
+
|
|
1342
|
+
namespace BOOST_REGEX_DETAIL_NS{
|
|
1343
|
+
|
|
1344
|
+
class unicode_string_out_iterator
|
|
1345
|
+
{
|
|
1346
|
+
U_NAMESPACE_QUALIFIER UnicodeString* out;
|
|
1347
|
+
public:
|
|
1348
|
+
unicode_string_out_iterator(U_NAMESPACE_QUALIFIER UnicodeString& s) : out(&s) {}
|
|
1349
|
+
unicode_string_out_iterator& operator++() { return *this; }
|
|
1350
|
+
unicode_string_out_iterator& operator++(int) { return *this; }
|
|
1351
|
+
unicode_string_out_iterator& operator*() { return *this; }
|
|
1352
|
+
unicode_string_out_iterator& operator=(UChar v)
|
|
1353
|
+
{
|
|
1354
|
+
*out += v;
|
|
1355
|
+
return *this;
|
|
1356
|
+
}
|
|
1357
|
+
typedef std::ptrdiff_t difference_type;
|
|
1358
|
+
typedef UChar value_type;
|
|
1359
|
+
typedef value_type* pointer;
|
|
1360
|
+
typedef value_type& reference;
|
|
1361
|
+
typedef std::output_iterator_tag iterator_category;
|
|
1362
|
+
};
|
|
1363
|
+
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
inline U_NAMESPACE_QUALIFIER UnicodeString u32regex_replace(const U_NAMESPACE_QUALIFIER UnicodeString& s,
|
|
1367
|
+
const u32regex& e,
|
|
1368
|
+
const UChar* fmt,
|
|
1369
|
+
match_flag_type flags = match_default)
|
|
1370
|
+
{
|
|
1371
|
+
U_NAMESPACE_QUALIFIER UnicodeString result;
|
|
1372
|
+
BOOST_REGEX_DETAIL_NS::unicode_string_out_iterator i(result);
|
|
1373
|
+
u32regex_replace(i, s.getBuffer(), s.getBuffer()+s.length(), e, fmt, flags);
|
|
1374
|
+
return result;
|
|
1375
|
+
}
|
|
1376
|
+
|
|
1377
|
+
inline U_NAMESPACE_QUALIFIER UnicodeString u32regex_replace(const U_NAMESPACE_QUALIFIER UnicodeString& s,
|
|
1378
|
+
const u32regex& e,
|
|
1379
|
+
const U_NAMESPACE_QUALIFIER UnicodeString& fmt,
|
|
1380
|
+
match_flag_type flags = match_default)
|
|
1381
|
+
{
|
|
1382
|
+
U_NAMESPACE_QUALIFIER UnicodeString result;
|
|
1383
|
+
BOOST_REGEX_DETAIL_NS::unicode_string_out_iterator i(result);
|
|
1384
|
+
BOOST_REGEX_DETAIL_NS::do_regex_replace(
|
|
1385
|
+
BOOST_REGEX_DETAIL_NS::make_utf32_out(i, static_cast<std::integral_constant<int, 2> const*>(0)),
|
|
1386
|
+
BOOST_REGEX_DETAIL_NS::make_utf32_seq(s.getBuffer(), s.getBuffer()+s.length(), static_cast<std::integral_constant<int, 2> const*>(0)),
|
|
1387
|
+
e,
|
|
1388
|
+
BOOST_REGEX_DETAIL_NS::make_utf32_seq(fmt.getBuffer(), fmt.getBuffer() + fmt.length(), static_cast<std::integral_constant<int, 2> const*>(0)),
|
|
1389
|
+
flags);
|
|
1390
|
+
return result;
|
|
1391
|
+
}
|
|
1392
|
+
|
|
1393
|
+
} // namespace boost.
|
|
1394
|
+
|
|
1395
|
+
#ifdef BOOST_REGEX_MSVC
|
|
1396
|
+
#pragma warning (pop)
|
|
1397
|
+
#endif
|
|
1398
|
+
|
|
1399
|
+
#include <boost/regex/v5/u32regex_iterator.hpp>
|
|
1400
|
+
#include <boost/regex/v5/u32regex_token_iterator.hpp>
|
|
1401
|
+
|
|
1402
|
+
#endif
|