From 996bbfcabd7452b204e05da8fa06547ff8023d41 Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Wed, 3 Jul 2013 14:01:35 +0300 Subject: [PATCH] Updated boost to 1.54 --- .../boost/accumulators/accumulators_fwd.hpp | 14 +- .../accumulators/droppable_accumulator.hpp | 2 +- .../accumulators/framework/depends_on.hpp | 2 +- .../framework/parameters/accumulator.hpp | 2 + .../framework/parameters/sample.hpp | 2 + .../framework/parameters/weight.hpp | 2 + .../framework/parameters/weights.hpp | 2 + .../boost/accumulators/numeric/functional.hpp | 10 + .../boost/accumulators/statistics/density.hpp | 4 + .../statistics/extended_p_square.hpp | 10 +- .../statistics/p_square_cumul_dist.hpp | 5 +- .../statistics/p_square_quantile.hpp | 4 +- .../parameters/quantile_probability.hpp | 3 + .../statistics/peaks_over_threshold.hpp | 4 + .../statistics/rolling_window.hpp | 3 + .../accumulators/statistics/skewness.hpp | 2 +- .../boost/accumulators/statistics/tail.hpp | 4 + .../accumulators/statistics/tail_quantile.hpp | 2 +- .../statistics/variates/covariate.hpp | 4 + .../statistics/weighted_extended_p_square.hpp | 4 +- .../weighted_p_square_cumul_dist.hpp | 2 +- .../statistics/weighted_p_square_quantile.hpp | 4 +- .../weighted_tail_variate_means.hpp | 2 +- .../statistics/weighted_variance.hpp | 2 +- .../boost/boost/algorithm/cxx11/copy_if.hpp | 21 +- .../boost/algorithm/cxx11/is_partitioned.hpp | 6 +- .../boost/algorithm/cxx11/is_permutation.hpp | 159 +- 3party/boost/boost/algorithm/cxx14/equal.hpp | 97 + .../boost/algorithm/cxx14/is_permutation.hpp | 130 + .../boost/boost/algorithm/cxx14/mismatch.hpp | 66 + 3party/boost/boost/algorithm/gather.hpp | 123 + 3party/boost/boost/algorithm/hex.hpp | 32 +- .../boost/boost/algorithm/minmax_element.hpp | 6 +- .../boost/algorithm/searching/boyer_moore.hpp | 4 +- .../algorithm/string/detail/find_format.hpp | 10 +- .../string/detail/find_format_all.hpp | 10 +- .../boost/algorithm/string/detail/finder.hpp | 2 +- .../algorithm/string/detail/finder_regex.hpp | 4 +- 3party/boost/boost/algorithm/string/find.hpp | 4 +- .../boost/algorithm/string/find_iterator.hpp | 7 +- .../boost/algorithm/string/formatter.hpp | 4 +- .../algorithm/string/predicate_facade.hpp | 2 +- .../algorithm/string/regex_find_format.hpp | 2 +- 3party/boost/boost/algorithm/string/trim.hpp | 12 +- .../boost/boost/algorithm/string/trim_all.hpp | 8 +- 3party/boost/boost/algorithm/string_regex.hpp | 2 +- 3party/boost/boost/any.hpp | 87 +- .../boost/boost/archive/archive_exception.hpp | 10 +- .../archive/impl/basic_text_iprimitive.ipp | 18 +- .../archive/impl/basic_text_oprimitive.ipp | 2 +- .../archive/iterators/binary_from_base64.hpp | 2 +- .../archive/iterators/istream_iterator.hpp | 24 +- .../archive/iterators/transform_width.hpp | 140 +- 3party/boost/boost/asio.hpp | 11 +- 3party/boost/boost/asio/async_result.hpp | 96 + .../boost/asio/basic_datagram_socket.hpp | 107 +- .../boost/boost/asio/basic_deadline_timer.hpp | 15 +- 3party/boost/boost/asio/basic_io_object.hpp | 2 +- 3party/boost/boost/asio/basic_raw_socket.hpp | 102 +- .../boost/asio/basic_seq_packet_socket.hpp | 71 +- 3party/boost/boost/asio/basic_serial_port.hpp | 14 +- 3party/boost/boost/asio/basic_signal_set.hpp | 8 +- 3party/boost/boost/asio/basic_socket.hpp | 74 +- .../boost/asio/basic_socket_acceptor.hpp | 99 +- .../boost/asio/basic_socket_iostream.hpp | 83 +- .../boost/asio/basic_socket_streambuf.hpp | 63 +- .../boost/boost/asio/basic_stream_socket.hpp | 83 +- 3party/boost/boost/asio/basic_streambuf.hpp | 12 +- .../boost/boost/asio/basic_streambuf_fwd.hpp | 6 +- .../boost/boost/asio/basic_waitable_timer.hpp | 25 +- 3party/boost/boost/asio/buffer.hpp | 53 +- .../boost/boost/asio/buffered_read_stream.hpp | 8 +- .../boost/asio/buffered_read_stream_fwd.hpp | 2 +- 3party/boost/boost/asio/buffered_stream.hpp | 4 +- .../boost/boost/asio/buffered_stream_fwd.hpp | 2 +- .../boost/asio/buffered_write_stream.hpp | 8 +- .../boost/asio/buffered_write_stream_fwd.hpp | 2 +- 3party/boost/boost/asio/buffers_iterator.hpp | 35 +- .../boost/boost/asio/completion_condition.hpp | 2 +- 3party/boost/boost/asio/connect.hpp | 19 +- 3party/boost/boost/asio/coroutine.hpp | 330 ++ .../boost/asio/datagram_socket_service.hpp | 74 +- 3party/boost/boost/asio/deadline_timer.hpp | 9 +- .../boost/asio/deadline_timer_service.hpp | 22 +- 3party/boost/boost/asio/detail/addressof.hpp | 40 + 3party/boost/boost/asio/detail/array.hpp | 2 +- 3party/boost/boost/asio/detail/array_fwd.hpp | 2 +- 3party/boost/boost/asio/detail/assert.hpp | 32 + .../boost/boost/asio/detail/atomic_count.hpp | 6 +- .../asio/detail/base_from_completion_cond.hpp | 2 +- .../boost/boost/asio/detail/bind_handler.hpp | 45 +- .../boost/asio/detail/buffer_resize_guard.hpp | 10 +- .../asio/detail/buffer_sequence_adapter.hpp | 8 +- .../asio/detail/buffered_stream_storage.hpp | 8 +- 3party/boost/boost/asio/detail/call_stack.hpp | 9 +- .../boost/asio/detail/chrono_time_traits.hpp | 72 +- .../boost/asio/detail/completion_handler.hpp | 7 +- 3party/boost/boost/asio/detail/config.hpp | 713 +++- .../boost/asio/detail/consuming_buffers.hpp | 22 +- 3party/boost/boost/asio/detail/cstdint.hpp | 48 + .../boost/boost/asio/detail/date_time_fwd.hpp | 2 +- .../asio/detail/deadline_timer_service.hpp | 7 +- .../boost/asio/detail/dependent_type.hpp | 2 +- .../boost/asio/detail/descriptor_ops.hpp | 10 +- .../boost/asio/detail/descriptor_read_op.hpp | 12 +- .../boost/asio/detail/descriptor_write_op.hpp | 12 +- .../boost/asio/detail/dev_poll_reactor.hpp | 11 +- .../asio/detail/dev_poll_reactor_fwd.hpp | 2 +- .../boost/boost/asio/detail/epoll_reactor.hpp | 13 +- .../boost/asio/detail/epoll_reactor_fwd.hpp | 2 +- 3party/boost/boost/asio/detail/event.hpp | 14 +- .../detail/eventfd_select_interrupter.hpp | 2 +- .../boost/asio/detail/fd_set_adapter.hpp | 4 +- .../boost/boost/asio/detail/fenced_block.hpp | 12 +- 3party/boost/boost/asio/detail/function.hpp | 40 + .../asio/detail/gcc_arm_fenced_block.hpp | 2 +- .../asio/detail/gcc_hppa_fenced_block.hpp | 2 +- .../asio/detail/gcc_sync_fenced_block.hpp | 2 +- .../asio/detail/gcc_x86_fenced_block.hpp | 2 +- .../asio/detail/handler_alloc_helpers.hpp | 15 +- .../asio/detail/handler_cont_helpers.hpp | 45 + .../asio/detail/handler_invoke_helpers.hpp | 15 +- .../boost/asio/detail/handler_tracking.hpp | 8 +- .../asio/detail/handler_type_requirements.hpp | 220 +- 3party/boost/boost/asio/detail/hash_map.hpp | 16 +- .../boost/asio/detail/impl/descriptor_ops.ipp | 22 +- .../asio/detail/impl/dev_poll_reactor.hpp | 4 +- .../asio/detail/impl/dev_poll_reactor.ipp | 14 +- .../boost/asio/detail/impl/epoll_reactor.hpp | 4 +- .../boost/asio/detail/impl/epoll_reactor.ipp | 17 +- .../impl/eventfd_select_interrupter.ipp | 3 +- .../asio/detail/impl/handler_tracking.ipp | 182 +- .../boost/asio/detail/impl/kqueue_reactor.hpp | 4 +- .../boost/asio/detail/impl/kqueue_reactor.ipp | 17 +- .../detail/impl/pipe_select_interrupter.ipp | 11 +- .../boost/asio/detail/impl/posix_event.ipp | 7 +- .../boost/asio/detail/impl/posix_mutex.ipp | 6 +- .../boost/asio/detail/impl/posix_thread.ipp | 6 +- .../boost/asio/detail/impl/posix_tss_ptr.ipp | 6 +- .../impl/reactive_descriptor_service.ipp | 13 +- .../impl/reactive_serial_port_service.ipp | 6 +- .../impl/reactive_socket_service_base.ipp | 24 +- .../detail/impl/resolver_service_base.ipp | 4 +- .../boost/asio/detail/impl/select_reactor.hpp | 4 +- .../boost/asio/detail/impl/select_reactor.ipp | 15 +- .../asio/detail/impl/service_registry.hpp | 2 +- .../asio/detail/impl/service_registry.ipp | 8 +- .../asio/detail/impl/signal_set_service.ipp | 105 +- .../boost/asio/detail/impl/socket_ops.ipp | 292 +- .../detail/impl/socket_select_interrupter.ipp | 6 +- .../boost/asio/detail/impl/strand_service.hpp | 18 +- .../boost/asio/detail/impl/strand_service.ipp | 17 +- .../asio/detail/impl/task_io_service.hpp | 19 +- .../asio/detail/impl/task_io_service.ipp | 76 +- .../boost/asio/detail/impl/throw_error.ipp | 8 +- .../boost/asio/detail/impl/timer_queue.ipp | 87 - .../asio/detail/impl/timer_queue_ptime.ipp | 6 +- .../asio/detail/impl/timer_queue_set.ipp | 2 +- .../boost/asio/detail/impl/win_event.ipp | 6 +- .../detail/impl/win_iocp_handle_service.ipp | 10 +- .../asio/detail/impl/win_iocp_io_service.hpp | 19 +- .../asio/detail/impl/win_iocp_io_service.ipp | 65 +- .../impl/win_iocp_serial_port_service.ipp | 2 +- .../impl/win_iocp_socket_service_base.ipp | 10 +- .../boost/asio/detail/impl/win_mutex.ipp | 6 +- .../detail/impl/win_object_handle_service.ipp | 2 +- .../asio/detail/impl/win_static_mutex.ipp | 18 +- .../boost/asio/detail/impl/win_thread.ipp | 6 +- .../boost/asio/detail/impl/win_tss_ptr.ipp | 6 +- .../boost/asio/detail/impl/winsock_init.ipp | 19 +- 3party/boost/boost/asio/detail/io_control.hpp | 3 +- .../boost/asio/detail/keyword_tss_ptr.hpp | 2 +- .../boost/asio/detail/kqueue_reactor.hpp | 12 +- .../boost/asio/detail/kqueue_reactor_fwd.hpp | 2 +- 3party/boost/boost/asio/detail/limits.hpp | 26 + .../asio/detail/local_free_on_block_exit.hpp | 6 +- .../boost/asio/detail/macos_fenced_block.hpp | 2 +- 3party/boost/boost/asio/detail/mutex.hpp | 14 +- .../boost/boost/asio/detail/noncopyable.hpp | 12 +- 3party/boost/boost/asio/detail/null_event.hpp | 6 +- .../boost/asio/detail/null_fenced_block.hpp | 2 +- 3party/boost/boost/asio/detail/null_mutex.hpp | 6 +- .../boost/asio/detail/null_signal_blocker.hpp | 12 +- .../boost/asio/detail/null_static_mutex.hpp | 6 +- .../boost/boost/asio/detail/null_thread.hpp | 6 +- .../boost/boost/asio/detail/null_tss_ptr.hpp | 6 +- .../boost/boost/asio/detail/object_pool.hpp | 2 +- .../boost/asio/detail/old_win_sdk_compat.hpp | 6 +- 3party/boost/boost/asio/detail/op_queue.hpp | 2 +- 3party/boost/boost/asio/detail/operation.hpp | 2 +- .../asio/detail/pipe_select_interrupter.hpp | 6 +- .../boost/boost/asio/detail/pop_options.hpp | 2 +- .../boost/boost/asio/detail/posix_event.hpp | 16 +- .../asio/detail/posix_fd_set_adapter.hpp | 6 +- .../boost/boost/asio/detail/posix_mutex.hpp | 6 +- .../asio/detail/posix_signal_blocker.hpp | 6 +- .../boost/asio/detail/posix_static_mutex.hpp | 6 +- .../boost/boost/asio/detail/posix_thread.hpp | 6 +- .../boost/boost/asio/detail/posix_tss_ptr.hpp | 6 +- .../boost/boost/asio/detail/push_options.hpp | 2 +- .../detail/reactive_descriptor_service.hpp | 46 +- .../asio/detail/reactive_null_buffers_op.hpp | 8 +- .../detail/reactive_serial_port_service.hpp | 10 +- .../asio/detail/reactive_socket_accept_op.hpp | 8 +- .../detail/reactive_socket_connect_op.hpp | 29 +- .../asio/detail/reactive_socket_recv_op.hpp | 8 +- .../detail/reactive_socket_recvfrom_op.hpp | 8 +- .../detail/reactive_socket_recvmsg_op.hpp | 8 +- .../asio/detail/reactive_socket_send_op.hpp | 8 +- .../asio/detail/reactive_socket_sendto_op.hpp | 8 +- .../asio/detail/reactive_socket_service.hpp | 75 +- .../detail/reactive_socket_service_base.hpp | 55 +- 3party/boost/boost/asio/detail/reactor.hpp | 2 +- .../boost/boost/asio/detail/reactor_fwd.hpp | 2 +- 3party/boost/boost/asio/detail/reactor_op.hpp | 2 +- .../boost/asio/detail/reactor_op_queue.hpp | 2 +- 3party/boost/boost/asio/detail/regex_fwd.hpp | 6 +- .../boost/asio/detail/resolve_endpoint_op.hpp | 8 +- 3party/boost/boost/asio/detail/resolve_op.hpp | 8 +- .../boost/asio/detail/resolver_service.hpp | 11 +- .../asio/detail/resolver_service_base.hpp | 2 +- .../boost/boost/asio/detail/scoped_lock.hpp | 14 +- 3party/boost/boost/asio/detail/scoped_ptr.hpp | 2 +- .../boost/asio/detail/select_interrupter.hpp | 6 +- .../boost/asio/detail/select_reactor.hpp | 16 +- .../boost/asio/detail/select_reactor_fwd.hpp | 2 +- .../boost/asio/detail/service_registry.hpp | 8 +- .../asio/detail/service_registry_fwd.hpp | 2 +- 3party/boost/boost/asio/detail/shared_ptr.hpp | 2 +- .../boost/asio/detail/signal_blocker.hpp | 14 +- .../boost/asio/detail/signal_handler.hpp | 7 +- .../boost/boost/asio/detail/signal_init.hpp | 6 +- 3party/boost/boost/asio/detail/signal_op.hpp | 2 +- .../boost/asio/detail/signal_set_service.hpp | 15 +- .../boost/boost/asio/detail/socket_holder.hpp | 2 +- 3party/boost/boost/asio/detail/socket_ops.hpp | 36 +- .../boost/boost/asio/detail/socket_option.hpp | 17 +- .../asio/detail/socket_select_interrupter.hpp | 6 +- .../boost/boost/asio/detail/socket_types.hpp | 12 +- .../asio/detail/solaris_fenced_block.hpp | 2 +- .../boost/boost/asio/detail/static_mutex.hpp | 14 +- .../boost/asio/detail/strand_service.hpp | 13 +- .../boost/asio/detail/task_io_service.hpp | 33 +- .../boost/asio/detail/task_io_service_fwd.hpp | 4 +- .../asio/detail/task_io_service_operation.hpp | 2 +- .../detail/task_io_service_thread_info.hpp | 43 + 3party/boost/boost/asio/detail/thread.hpp | 14 +- .../boost/asio/detail/thread_info_base.hpp | 93 + .../boost/boost/asio/detail/throw_error.hpp | 2 +- .../boost/asio/detail/throw_exception.hpp | 53 + .../boost/boost/asio/detail/timer_queue.hpp | 11 +- .../boost/asio/detail/timer_queue_base.hpp | 2 +- .../boost/asio/detail/timer_queue_fwd.hpp | 2 +- .../boost/asio/detail/timer_queue_ptime.hpp | 6 +- .../boost/asio/detail/timer_queue_set.hpp | 2 +- .../boost/asio/detail/timer_scheduler.hpp | 2 +- .../boost/asio/detail/timer_scheduler_fwd.hpp | 2 +- 3party/boost/boost/asio/detail/tss_ptr.hpp | 20 +- .../boost/boost/asio/detail/type_traits.hpp | 60 + .../boost/boost/asio/detail/wait_handler.hpp | 7 +- 3party/boost/boost/asio/detail/wait_op.hpp | 2 +- 3party/boost/boost/asio/detail/weak_ptr.hpp | 2 +- 3party/boost/boost/asio/detail/win_event.hpp | 16 +- .../boost/asio/detail/win_fd_set_adapter.hpp | 6 +- .../boost/asio/detail/win_fenced_block.hpp | 12 +- .../asio/detail/win_iocp_handle_read_op.hpp | 8 +- .../asio/detail/win_iocp_handle_service.hpp | 53 +- .../asio/detail/win_iocp_handle_write_op.hpp | 8 +- .../boost/asio/detail/win_iocp_io_service.hpp | 24 +- .../asio/detail/win_iocp_io_service_fwd.hpp | 2 +- .../asio/detail/win_iocp_null_buffers_op.hpp | 8 +- .../boost/asio/detail/win_iocp_operation.hpp | 2 +- .../asio/detail/win_iocp_overlapped_op.hpp | 8 +- .../asio/detail/win_iocp_overlapped_ptr.hpp | 6 +- .../detail/win_iocp_serial_port_service.hpp | 6 +- .../asio/detail/win_iocp_socket_accept_op.hpp | 8 +- .../asio/detail/win_iocp_socket_recv_op.hpp | 8 +- .../detail/win_iocp_socket_recvfrom_op.hpp | 8 +- .../detail/win_iocp_socket_recvmsg_op.hpp | 8 +- .../asio/detail/win_iocp_socket_send_op.hpp | 8 +- .../asio/detail/win_iocp_socket_service.hpp | 32 +- .../detail/win_iocp_socket_service_base.hpp | 19 +- .../asio/detail/win_iocp_thread_info.hpp | 36 + 3party/boost/boost/asio/detail/win_mutex.hpp | 6 +- .../asio/detail/win_object_handle_service.hpp | 6 +- .../boost/asio/detail/win_static_mutex.hpp | 6 +- 3party/boost/boost/asio/detail/win_thread.hpp | 6 +- .../boost/boost/asio/detail/win_tss_ptr.hpp | 6 +- .../boost/boost/asio/detail/wince_thread.hpp | 6 +- .../boost/boost/asio/detail/winsock_init.hpp | 44 +- .../boost/asio/detail/wrapped_handler.hpp | 57 +- 3party/boost/boost/asio/error.hpp | 12 +- .../boost/asio/generic/basic_endpoint.hpp | 195 + .../boost/asio/generic/datagram_protocol.hpp | 125 + .../boost/asio/generic/detail/endpoint.hpp | 135 + .../asio/generic/detail/impl/endpoint.ipp | 111 + .../boost/boost/asio/generic/raw_protocol.hpp | 123 + .../asio/generic/seq_packet_protocol.hpp | 124 + .../boost/asio/generic/stream_protocol.hpp | 129 + .../boost/boost/asio/handler_alloc_hook.hpp | 31 +- .../boost/asio/handler_continuation_hook.hpp | 56 + .../boost/boost/asio/handler_invoke_hook.hpp | 2 +- 3party/boost/boost/asio/handler_type.hpp | 114 + .../boost/asio/high_resolution_timer.hpp | 2 +- 3party/boost/boost/asio/impl/connect.hpp | 107 +- 3party/boost/boost/asio/impl/error.ipp | 12 +- .../boost/asio/impl/handler_alloc_hook.ipp | 76 + 3party/boost/boost/asio/impl/io_service.hpp | 25 +- 3party/boost/boost/asio/impl/io_service.ipp | 4 +- 3party/boost/boost/asio/impl/read.hpp | 159 +- 3party/boost/boost/asio/impl/read_at.hpp | 199 +- 3party/boost/boost/asio/impl/read_until.hpp | 201 +- .../boost/asio/impl/serial_port_base.hpp | 2 +- .../boost/asio/impl/serial_port_base.ipp | 34 +- 3party/boost/boost/asio/impl/spawn.hpp | 330 ++ 3party/boost/boost/asio/impl/src.cpp | 6 +- 3party/boost/boost/asio/impl/src.hpp | 4 +- 3party/boost/boost/asio/impl/use_future.hpp | 174 + 3party/boost/boost/asio/impl/write.hpp | 146 +- 3party/boost/boost/asio/impl/write_at.hpp | 174 +- 3party/boost/boost/asio/io_service.hpp | 13 +- 3party/boost/boost/asio/ip/address.hpp | 10 +- 3party/boost/boost/asio/ip/address_v4.hpp | 10 +- 3party/boost/boost/asio/ip/address_v6.hpp | 10 +- 3party/boost/boost/asio/ip/basic_endpoint.hpp | 10 +- 3party/boost/boost/asio/ip/basic_resolver.hpp | 10 +- .../boost/asio/ip/basic_resolver_entry.hpp | 2 +- .../boost/asio/ip/basic_resolver_iterator.hpp | 2 +- .../boost/asio/ip/basic_resolver_query.hpp | 2 +- .../boost/boost/asio/ip/detail/endpoint.hpp | 6 +- .../boost/asio/ip/detail/impl/endpoint.ipp | 17 +- .../boost/asio/ip/detail/socket_option.hpp | 20 +- 3party/boost/boost/asio/ip/host_name.hpp | 2 +- 3party/boost/boost/asio/ip/icmp.hpp | 2 +- 3party/boost/boost/asio/ip/impl/address.hpp | 6 +- 3party/boost/boost/asio/ip/impl/address.ipp | 8 +- .../boost/boost/asio/ip/impl/address_v4.hpp | 6 +- .../boost/boost/asio/ip/impl/address_v4.ipp | 11 +- .../boost/boost/asio/ip/impl/address_v6.hpp | 6 +- .../boost/boost/asio/ip/impl/address_v6.ipp | 8 +- .../boost/asio/ip/impl/basic_endpoint.hpp | 6 +- 3party/boost/boost/asio/ip/impl/host_name.ipp | 2 +- 3party/boost/boost/asio/ip/multicast.hpp | 2 +- .../boost/asio/ip/resolver_query_base.hpp | 9 +- .../boost/boost/asio/ip/resolver_service.hpp | 25 +- 3party/boost/boost/asio/ip/tcp.hpp | 6 +- 3party/boost/boost/asio/ip/udp.hpp | 2 +- 3party/boost/boost/asio/ip/unicast.hpp | 2 +- 3party/boost/boost/asio/ip/v6_only.hpp | 2 +- 3party/boost/boost/asio/is_read_buffered.hpp | 4 +- 3party/boost/boost/asio/is_write_buffered.hpp | 4 +- .../boost/boost/asio/local/basic_endpoint.hpp | 6 +- .../boost/boost/asio/local/connect_pair.hpp | 2 +- .../boost/asio/local/datagram_protocol.hpp | 2 +- .../boost/asio/local/detail/endpoint.hpp | 2 +- .../boost/asio/local/detail/impl/endpoint.ipp | 2 +- .../boost/asio/local/stream_protocol.hpp | 6 +- 3party/boost/boost/asio/placeholders.hpp | 21 +- .../boost/asio/posix/basic_descriptor.hpp | 2 +- .../asio/posix/basic_stream_descriptor.hpp | 14 +- .../boost/asio/posix/descriptor_base.hpp | 2 +- .../boost/asio/posix/stream_descriptor.hpp | 2 +- .../asio/posix/stream_descriptor_service.hpp | 25 +- .../boost/boost/asio/raw_socket_service.hpp | 74 +- 3party/boost/boost/asio/read.hpp | 27 +- 3party/boost/boost/asio/read_at.hpp | 49 +- 3party/boost/boost/asio/read_until.hpp | 49 +- .../boost/asio/seq_packet_socket_service.hpp | 28 +- 3party/boost/boost/asio/serial_port.hpp | 2 +- 3party/boost/boost/asio/serial_port_base.hpp | 15 +- .../boost/boost/asio/serial_port_service.hpp | 25 +- 3party/boost/boost/asio/signal_set.hpp | 2 +- .../boost/boost/asio/signal_set_service.hpp | 14 +- .../boost/asio/socket_acceptor_service.hpp | 41 +- 3party/boost/boost/asio/socket_base.hpp | 19 +- 3party/boost/boost/asio/spawn.hpp | 267 ++ 3party/boost/boost/asio/ssl.hpp | 2 +- 3party/boost/boost/asio/ssl/basic_context.hpp | 2 +- 3party/boost/boost/asio/ssl/context.hpp | 258 +- 3party/boost/boost/asio/ssl/context_base.hpp | 67 +- .../boost/boost/asio/ssl/context_service.hpp | 2 +- .../asio/ssl/detail/buffered_handshake_op.hpp | 112 + 3party/boost/boost/asio/ssl/detail/engine.hpp | 6 +- .../boost/asio/ssl/detail/handshake_op.hpp | 2 +- .../boost/asio/ssl/detail/impl/engine.ipp | 26 +- .../asio/ssl/detail/impl/openssl_init.ipp | 52 +- 3party/boost/boost/asio/ssl/detail/io.hpp | 32 +- .../boost/asio/ssl/detail/openssl_init.hpp | 17 +- .../boost/asio/ssl/detail/openssl_types.hpp | 2 +- .../asio/ssl/detail/password_callback.hpp | 2 +- .../boost/boost/asio/ssl/detail/read_op.hpp | 2 +- .../boost/asio/ssl/detail/shutdown_op.hpp | 2 +- .../boost/asio/ssl/detail/stream_core.hpp | 52 +- .../boost/asio/ssl/detail/verify_callback.hpp | 2 +- .../boost/boost/asio/ssl/detail/write_op.hpp | 2 +- 3party/boost/boost/asio/ssl/error.hpp | 2 +- 3party/boost/boost/asio/ssl/impl/context.hpp | 2 +- 3party/boost/boost/asio/ssl/impl/context.ipp | 482 ++- 3party/boost/boost/asio/ssl/impl/error.ipp | 4 +- .../asio/ssl/impl/rfc2818_verification.ipp | 12 +- 3party/boost/boost/asio/ssl/impl/src.hpp | 2 +- .../boost/asio/ssl/old/basic_context.hpp | 2 +- .../boost/asio/ssl/old/context_service.hpp | 2 +- .../old/detail/openssl_context_service.hpp | 2 +- .../asio/ssl/old/detail/openssl_operation.hpp | 8 +- .../ssl/old/detail/openssl_stream_service.hpp | 2 +- 3party/boost/boost/asio/ssl/old/stream.hpp | 6 +- .../boost/asio/ssl/old/stream_service.hpp | 2 +- .../boost/asio/ssl/rfc2818_verification.hpp | 2 +- 3party/boost/boost/asio/ssl/stream.hpp | 178 +- 3party/boost/boost/asio/ssl/stream_base.hpp | 9 +- .../boost/boost/asio/ssl/stream_service.hpp | 2 +- .../boost/boost/asio/ssl/verify_context.hpp | 2 +- 3party/boost/boost/asio/ssl/verify_mode.hpp | 2 +- 3party/boost/boost/asio/steady_timer.hpp | 2 +- 3party/boost/boost/asio/strand.hpp | 41 +- .../boost/asio/stream_socket_service.hpp | 50 +- 3party/boost/boost/asio/streambuf.hpp | 6 +- 3party/boost/boost/asio/system_timer.hpp | 2 +- 3party/boost/boost/asio/time_traits.hpp | 8 +- 3party/boost/boost/asio/unyield.hpp | 21 + 3party/boost/boost/asio/use_future.hpp | 90 + 3party/boost/boost/asio/version.hpp | 4 +- 3party/boost/boost/asio/wait_traits.hpp | 2 +- .../boost/asio/waitable_timer_service.hpp | 15 +- .../boost/boost/asio/windows/basic_handle.hpp | 2 +- .../asio/windows/basic_object_handle.hpp | 9 +- .../windows/basic_random_access_handle.hpp | 24 +- .../asio/windows/basic_stream_handle.hpp | 14 +- .../boost/asio/windows/object_handle.hpp | 2 +- .../asio/windows/object_handle_service.hpp | 15 +- .../boost/asio/windows/overlapped_ptr.hpp | 2 +- .../asio/windows/random_access_handle.hpp | 2 +- .../windows/random_access_handle_service.hpp | 35 +- .../boost/asio/windows/stream_handle.hpp | 2 +- .../asio/windows/stream_handle_service.hpp | 25 +- 3party/boost/boost/asio/write.hpp | 27 +- 3party/boost/boost/asio/write_at.hpp | 47 +- 3party/boost/boost/asio/yield.hpp | 23 + 3party/boost/boost/assert.hpp | 7 +- 3party/boost/boost/atomic.hpp | 18 + 3party/boost/boost/atomic/atomic.hpp | 241 ++ 3party/boost/boost/atomic/detail/base.hpp | 585 +++ .../boost/boost/atomic/detail/cas32strong.hpp | 885 +++++ .../boost/boost/atomic/detail/cas32weak.hpp | 947 +++++ .../boost/boost/atomic/detail/cas64strong.hpp | 443 +++ 3party/boost/boost/atomic/detail/config.hpp | 54 + .../boost/boost/atomic/detail/gcc-alpha.hpp | 368 ++ .../boost/atomic/detail/gcc-armv6plus.hpp | 252 ++ 3party/boost/boost/atomic/detail/gcc-cas.hpp | 157 + 3party/boost/boost/atomic/detail/gcc-ppc.hpp | 2850 +++++++++++++++ .../boost/boost/atomic/detail/gcc-sparcv9.hpp | 1259 +++++++ 3party/boost/boost/atomic/detail/gcc-x86.hpp | 1766 +++++++++ .../boost/boost/atomic/detail/generic-cas.hpp | 206 ++ .../boost/boost/atomic/detail/interlocked.hpp | 200 ++ .../boost/boost/atomic/detail/linux-arm.hpp | 189 + 3party/boost/boost/atomic/detail/lockpool.hpp | 97 + 3party/boost/boost/atomic/detail/platform.hpp | 62 + .../atomic/detail/type-classification.hpp | 45 + 3party/boost/boost/atomic/detail/windows.hpp | 1484 ++++++++ 3party/boost/boost/bimap/bimap.hpp | 53 +- .../container_adaptor/vector_adaptor.hpp | 16 +- .../boost/boost/bimap/detail/bimap_core.hpp | 45 +- .../boost/bimap/detail/map_view_base.hpp | 61 +- .../boost/bimap/detail/map_view_iterator.hpp | 369 +- .../boost/bimap/detail/set_view_base.hpp | 4 +- .../boost/bimap/relation/mutant_relation.hpp | 46 +- .../boost/bimap/relation/structured_pair.hpp | 44 + .../boost/bimap/support/iterator_type_by.hpp | 122 +- .../boost/boost/bimap/views/list_map_view.hpp | 25 +- 3party/boost/boost/bimap/views/map_view.hpp | 4 +- .../boost/boost/bimap/views/multimap_view.hpp | 4 +- .../bimap/views/unconstrained_map_view.hpp | 2 + .../boost/bimap/views/unordered_map_view.hpp | 4 +- .../bimap/views/unordered_multimap_view.hpp | 4 +- .../boost/bimap/views/vector_map_view.hpp | 40 +- .../boost/bimap/views/vector_set_view.hpp | 34 + 3party/boost/boost/chrono/config.hpp | 11 +- .../detail/inlined/posix/thread_clock.hpp | 2 + .../chrono/detail/inlined/win/chrono.hpp | 20 +- .../detail/no_warning/signed_unsigned_cmp.hpp | 10 + 3party/boost/boost/chrono/duration.hpp | 19 +- 3party/boost/boost/chrono/io/duration_get.hpp | 15 +- 3party/boost/boost/chrono/io/duration_io.hpp | 45 +- .../boost/boost/chrono/io/duration_units.hpp | 15 +- .../boost/boost/chrono/io/ios_base_state.hpp | 1 + .../boost/boost/chrono/io/time_point_get.hpp | 3 - .../boost/boost/chrono/io/time_point_io.hpp | 219 +- .../chrono/io/utility/ios_base_state_ptr.hpp | 9 +- 3party/boost/boost/chrono/system_clocks.hpp | 2 +- 3party/boost/boost/chrono/time_point.hpp | 7 +- .../chrono/typeof/boost/chrono/chrono.hpp | 1 - .../boost/boost/chrono/typeof/boost/ratio.hpp | 2 - 3party/boost/boost/circular_buffer/base.hpp | 2 +- .../boost/circular_buffer/space_optimized.hpp | 4 +- 3party/boost/boost/config/auto_link.hpp | 145 +- .../boost/boost/config/compiler/borland.hpp | 1 + 3party/boost/boost/config/compiler/clang.hpp | 25 +- .../boost/boost/config/compiler/codegear.hpp | 1 + .../boost/config/compiler/common_edg.hpp | 1 + 3party/boost/boost/config/compiler/cray.hpp | 1 + .../boost/config/compiler/digitalmars.hpp | 1 + 3party/boost/boost/config/compiler/gcc.hpp | 32 +- .../boost/boost/config/compiler/gcc_xml.hpp | 3 +- 3party/boost/boost/config/compiler/hp_acc.hpp | 1 + 3party/boost/boost/config/compiler/intel.hpp | 2 +- .../boost/config/compiler/metrowerks.hpp | 1 + 3party/boost/boost/config/compiler/mpw.hpp | 1 + .../boost/boost/config/compiler/pathscale.hpp | 1 + 3party/boost/boost/config/compiler/pgi.hpp | 1 + .../boost/boost/config/compiler/sunpro_cc.hpp | 1 + 3party/boost/boost/config/compiler/vacpp.hpp | 5 +- .../boost/boost/config/compiler/visualc.hpp | 36 +- .../boost/boost/config/platform/vxworks.hpp | 372 +- 3party/boost/boost/config/platform/win32.hpp | 4 +- .../boost/config/select_compiler_config.hpp | 8 +- .../boost/boost/config/stdlib/dinkumware.hpp | 13 +- .../boost/boost/config/stdlib/libstdcpp3.hpp | 3 +- 3party/boost/boost/config/suffix.hpp | 64 +- .../boost/container/allocator_traits.hpp | 43 +- 3party/boost/boost/container/deque.hpp | 267 +- .../detail/adaptive_node_pool_impl.hpp | 727 ++-- .../container/detail/advanced_insert_int.hpp | 523 ++- .../detail/allocator_version_traits.hpp | 163 + .../boost/container/detail/destroyers.hpp | 11 +- .../boost/container/detail/flat_tree.hpp | 92 +- .../boost/container/detail/iterators.hpp | 6 +- .../boost/container/detail/memory_util.hpp | 6 + .../detail/multiallocation_chain.hpp | 132 +- .../container/detail/node_alloc_holder.hpp | 73 +- .../boost/container/detail/node_pool_impl.hpp | 34 +- 3party/boost/boost/container/detail/pair.hpp | 5 +- .../boost/container/detail/pool_common.hpp | 2 +- .../boost/container/detail/preprocessor.hpp | 42 +- 3party/boost/boost/container/detail/tree.hpp | 19 +- .../boost/container/detail/type_traits.hpp | 4 +- .../boost/container/detail/utilities.hpp | 1011 +++++- .../boost/container/detail/workaround.hpp | 12 +- 3party/boost/boost/container/flat_map.hpp | 115 +- 3party/boost/boost/container/flat_set.hpp | 106 +- 3party/boost/boost/container/list.hpp | 182 +- 3party/boost/boost/container/map.hpp | 115 +- .../boost/container/scoped_allocator.hpp | 139 +- .../boost/container/scoped_allocator_fwd.hpp | 6 +- 3party/boost/boost/container/set.hpp | 22 +- 3party/boost/boost/container/slist.hpp | 176 +- .../boost/boost/container/stable_vector.hpp | 296 +- .../boost/boost/container/static_vector.hpp | 1053 ++++++ 3party/boost/boost/container/string.hpp | 597 ++-- .../boost/boost/container/throw_exception.hpp | 110 + 3party/boost/boost/container/vector.hpp | 1768 +++++---- 3party/boost/boost/context/all.hpp | 3 - .../context/detail/fcontext_i386_win.hpp | 4 +- .../boost/context/detail/fcontext_sparc.hpp | 90 + .../context/detail/fcontext_x86_64_win.hpp | 23 +- 3party/boost/boost/context/fcontext.hpp | 14 +- .../boost/context/simple_stack_allocator.hpp | 67 - 3party/boost/boost/coroutine/all.hpp | 15 + 3party/boost/boost/coroutine/attributes.hpp | 85 + .../utils.hpp => coroutine/checkpoint.hpp} | 31 +- 3party/boost/boost/coroutine/coroutine.hpp | 16 + .../boost/boost/coroutine/detail/config.hpp | 53 + .../coroutine/detail/coroutine_context.hpp | 61 + .../boost/coroutine/detail/exceptions.hpp | 28 + 3party/boost/boost/coroutine/detail/flags.hpp | 34 + .../boost/boost/coroutine/detail/holder.hpp | 90 + 3party/boost/boost/coroutine/detail/param.hpp | 46 + .../detail/segmented_stack_allocator.hpp | 51 + .../detail/standard_stack_allocator.hpp} | 34 +- 3party/boost/boost/coroutine/flags.hpp | 27 + .../boost/boost/coroutine/stack_allocator.hpp | 37 + .../boost/boost/coroutine/stack_context.hpp | 54 + 3party/boost/boost/coroutine/v1/coroutine.hpp | 1430 ++++++++ .../boost/boost/coroutine/v1/detail/arg.hpp | 62 + .../coroutine/v1/detail/coroutine_base.hpp | 125 + .../v1/detail/coroutine_base_resume.hpp | 237 ++ .../coroutine/v1/detail/coroutine_caller.hpp | 57 + .../coroutine/v1/detail/coroutine_get.hpp | 54 + .../coroutine/v1/detail/coroutine_object.hpp | 111 + .../v1/detail/coroutine_object_result_0.ipp | 363 ++ .../v1/detail/coroutine_object_result_1.ipp | 557 +++ .../detail/coroutine_object_result_arity.ipp | 559 +++ .../v1/detail/coroutine_object_void_0.ipp | 357 ++ .../v1/detail/coroutine_object_void_1.ipp | 550 +++ .../v1/detail/coroutine_object_void_arity.ipp | 551 +++ .../coroutine/v1/detail/coroutine_op.hpp | 326 ++ .../coroutine/v2/detail/coroutine_object.hpp | 423 +++ .../boost/coroutine/v2/pull_corotuine.hpp | 355 ++ .../boost/coroutine/v2/push_coroutine.hpp | 357 ++ .../boost/date_time/format_date_parser.hpp | 12 +- .../boost/date_time/strings_from_facet.hpp | 8 +- 3party/boost/boost/date_time/tz_db_base.hpp | 12 +- .../boost/detail/atomic_redef_macros.hpp | 19 + .../boost/detail/atomic_undef_macros.hpp | 39 + 3party/boost/boost/detail/endian.hpp | 56 +- .../boost/detail/is_function_ref_tester.hpp | 3 +- .../boost/boost/detail/lightweight_test.hpp | 65 + .../boost/detail/scoped_enum_emulation.hpp | 20 +- 3party/boost/boost/exception/all.hpp | 2 +- .../exception/current_exception_cast.hpp | 2 +- .../exception/detail/error_info_impl.hpp | 8 +- .../boost/exception/detail/exception_ptr.hpp | 6 +- .../exception/detail/is_output_streamable.hpp | 2 +- .../exception/detail/object_hex_dump.hpp | 2 +- .../boost/exception/detail/type_info.hpp | 2 +- .../exception/diagnostic_information.hpp | 29 +- .../boost/boost/exception/errinfo_errno.hpp | 2 +- 3party/boost/boost/exception/exception.hpp | 2 +- .../boost/boost/exception/get_error_info.hpp | 2 +- 3party/boost/boost/exception/info.hpp | 27 +- 3party/boost/boost/exception/info_tuple.hpp | 2 +- 3party/boost/boost/exception/to_string.hpp | 7 +- .../boost/boost/exception/to_string_stub.hpp | 10 +- 3party/boost/boost/foreach.hpp | 10 +- .../boost/function/function_template.hpp | 12 +- .../boost/functional/detail/container_fwd.hpp | 10 - .../hash/detail/container_fwd_0x.hpp | 29 - .../hash/detail/float_functions.hpp | 90 + .../functional/hash/detail/hash_float.hpp | 13 +- .../boost/functional/hash/extensions.hpp | 16 +- 3party/boost/boost/functional/hash/hash.hpp | 31 +- .../boost/geometry/algorithms/append.hpp | 87 +- .../boost/boost/geometry/algorithms/area.hpp | 152 +- .../boost/geometry/algorithms/assign.hpp | 4 +- .../boost/geometry/algorithms/buffer.hpp | 34 +- .../boost/geometry/algorithms/centroid.hpp | 107 +- .../boost/boost/geometry/algorithms/clear.hpp | 49 +- .../boost/geometry/algorithms/convert.hpp | 60 +- .../boost/geometry/algorithms/convex_hull.hpp | 54 +- .../boost/geometry/algorithms/correct.hpp | 15 +- .../boost/geometry/algorithms/covered_by.hpp | 2 + .../algorithms/detail/assign_box_corners.hpp | 10 + .../algorithms/detail/calculate_null.hpp | 2 +- .../algorithms/detail/calculate_sum.hpp | 12 +- .../geometry/algorithms/detail/disjoint.hpp | 14 + .../algorithms/detail/get_left_turns.hpp | 22 +- .../algorithms/detail/occupation_info.hpp | 184 +- .../algorithms/detail/overlay/add_rings.hpp | 33 +- .../overlay/calculate_distance_policy.hpp | 14 +- .../detail/overlay/convert_ring.hpp | 21 +- .../overlay/enrich_intersection_points.hpp | 32 +- .../detail/overlay/get_turn_info.hpp | 142 +- .../algorithms/detail/overlay/get_turns.hpp | 21 +- .../detail/overlay/handle_tangencies.hpp | 33 +- .../detail/overlay/intersection_insert.hpp | 278 +- .../algorithms/detail/overlay/overlay.hpp | 17 +- .../algorithms/detail/overlay/traverse.hpp | 23 +- .../detail/sections/sectionalize.hpp | 24 + .../boost/geometry/algorithms/difference.hpp | 14 +- .../boost/geometry/algorithms/disjoint.hpp | 129 +- .../boost/geometry/algorithms/distance.hpp | 7 +- .../boost/geometry/algorithms/envelope.hpp | 170 +- .../boost/geometry/algorithms/equals.hpp | 265 +- .../boost/geometry/algorithms/expand.hpp | 113 +- .../boost/geometry/algorithms/for_each.hpp | 229 +- .../geometry/algorithms/intersection.hpp | 143 +- .../boost/geometry/algorithms/length.hpp | 133 +- .../geometry/algorithms/num_geometries.hpp | 36 +- .../algorithms/num_interior_rings.hpp | 10 +- .../boost/geometry/algorithms/num_points.hpp | 137 +- .../boost/geometry/algorithms/overlaps.hpp | 44 +- .../boost/geometry/algorithms/perimeter.hpp | 61 +- .../boost/geometry/algorithms/reverse.hpp | 35 +- .../boost/geometry/algorithms/simplify.hpp | 130 +- .../geometry/algorithms/sym_difference.hpp | 27 +- .../boost/geometry/algorithms/transform.hpp | 68 +- .../boost/boost/geometry/algorithms/union.hpp | 137 +- .../boost/geometry/algorithms/unique.hpp | 38 +- .../boost/geometry/algorithms/within.hpp | 4 + 3party/boost/boost/geometry/core/access.hpp | 27 +- .../geometry/core/coordinate_dimension.hpp | 2 +- .../boost/geometry/core/coordinate_system.hpp | 8 +- .../boost/geometry/core/coordinate_type.hpp | 14 +- .../boost/geometry/core/exterior_ring.hpp | 2 +- 3party/boost/boost/geometry/core/tag.hpp | 2 +- .../geometry/geometries/concepts/check.hpp | 70 +- .../boost/boost/geometry/geometries/point.hpp | 10 + .../boost/geometry/geometries/variant.hpp | 34 + 3party/boost/boost/geometry/geometry.hpp | 1 + .../boost/geometry/index/adaptors/query.hpp | 88 + .../index/detail/algorithms/bounds.hpp | 41 + .../comparable_distance_centroid.hpp | 77 + .../algorithms/comparable_distance_far.hpp | 66 + .../algorithms/comparable_distance_near.hpp | 77 + .../index/detail/algorithms/content.hpp | 85 + .../index/detail/algorithms/diff_abs.hpp | 39 + .../algorithms/intersection_content.hpp | 36 + .../index/detail/algorithms/is_valid.hpp | 79 + .../index/detail/algorithms/margin.hpp | 167 + .../index/detail/algorithms/minmaxdist.hpp | 119 + .../detail/algorithms/path_intersection.hpp | 114 + .../algorithms/segment_intersection.hpp | 141 + .../algorithms/smallest_for_indexable.hpp | 80 + .../detail/algorithms/sum_for_indexable.hpp | 76 + .../index/detail/algorithms/union_content.hpp | 33 + .../boost/geometry/index/detail/assert.hpp | 30 + .../geometry/index/detail/config_begin.hpp | 21 + .../geometry/index/detail/config_end.hpp | 12 + .../index/detail/distance_predicates.hpp | 161 + .../boost/geometry/index/detail/exception.hpp | 72 + .../boost/geometry/index/detail/meta.hpp | 42 + .../geometry/index/detail/predicates.hpp | 814 +++++ .../geometry/index/detail/pushable_array.hpp | 171 + .../geometry/index/detail/rtree/adaptors.hpp | 54 + .../index/detail/rtree/kmeans/kmeans.hpp | 16 + .../index/detail/rtree/kmeans/split.hpp | 87 + .../index/detail/rtree/linear/linear.hpp | 16 + .../rtree/linear/redistribute_elements.hpp | 447 +++ .../detail/rtree/node/auto_deallocator.hpp | 38 + .../index/detail/rtree/node/concept.hpp | 85 + .../detail/rtree/node/dynamic_visitor.hpp | 88 + .../geometry/index/detail/rtree/node/node.hpp | 175 + .../index/detail/rtree/node/node_auto_ptr.hpp | 79 + .../detail/rtree/node/node_d_mem_dynamic.hpp | 358 ++ .../detail/rtree/node/node_d_mem_static.hpp | 199 ++ .../detail/rtree/node/node_s_mem_dynamic.hpp | 276 ++ .../detail/rtree/node/node_s_mem_static.hpp | 202 ++ .../index/detail/rtree/node/pairs.hpp | 71 + .../detail/rtree/node/static_visitor.hpp | 66 + .../geometry/index/detail/rtree/options.hpp | 155 + .../index/detail/rtree/pack_create.hpp | 376 ++ .../detail/rtree/quadratic/quadratic.hpp | 16 + .../rtree/quadratic/redistribute_elements.hpp | 298 ++ .../index/detail/rtree/query_iterators.hpp | 230 ++ .../detail/rtree/rstar/choose_next_node.hpp | 426 +++ .../index/detail/rtree/rstar/insert.hpp | 567 +++ .../rtree/rstar/redistribute_elements.hpp | 441 +++ .../index/detail/rtree/rstar/rstar.hpp | 18 + .../detail/rtree/utilities/are_boxes_ok.hpp | 140 + .../detail/rtree/utilities/are_levels_ok.hpp | 109 + .../index/detail/rtree/utilities/gl_draw.hpp | 223 ++ .../index/detail/rtree/utilities/print.hpp | 203 ++ .../detail/rtree/utilities/statistics.hpp | 105 + .../index/detail/rtree/utilities/view.hpp | 61 + .../detail/rtree/visitors/children_box.hpp | 55 + .../index/detail/rtree/visitors/copy.hpp | 92 + .../index/detail/rtree/visitors/count.hpp | 118 + .../index/detail/rtree/visitors/destroy.hpp | 70 + .../detail/rtree/visitors/distance_query.hpp | 540 +++ .../index/detail/rtree/visitors/insert.hpp | 516 +++ .../index/detail/rtree/visitors/is_leaf.hpp | 41 + .../index/detail/rtree/visitors/remove.hpp | 316 ++ .../detail/rtree/visitors/spatial_query.hpp | 198 ++ .../boost/geometry/index/detail/tags.hpp | 25 + .../geometry/index/detail/translator.hpp | 60 + .../boost/geometry/index/detail/tuples.hpp | 201 ++ .../index/detail/type_erased_iterators.hpp | 60 + .../boost/geometry/index/detail/utilities.hpp | 46 + .../boost/geometry/index/detail/varray.hpp | 2209 ++++++++++++ .../geometry/index/detail/varray_detail.hpp | 714 ++++ .../geometry/index/distance_predicates.hpp | 204 ++ .../boost/boost/geometry/index/equal_to.hpp | 221 ++ .../boost/boost/geometry/index/indexable.hpp | 179 + .../boost/boost/geometry/index/inserter.hpp | 78 + .../boost/boost/geometry/index/parameters.hpp | 257 ++ .../boost/boost/geometry/index/predicates.hpp | 394 ++ 3party/boost/boost/geometry/index/rtree.hpp | 1550 ++++++++ .../boost/geometry/io/svg/svg_mapper.hpp | 392 ++ .../boost/boost/geometry/io/svg/write_svg.hpp | 277 ++ .../boost/geometry/io/svg/write_svg_multi.hpp | 78 + 3party/boost/boost/geometry/io/wkt/read.hpp | 11 + 3party/boost/boost/geometry/io/wkt/write.hpp | 87 +- .../iterators/ever_circling_iterator.hpp | 2 +- .../geometry/multi/algorithms/append.hpp | 1 + .../boost/geometry/multi/algorithms/area.hpp | 31 +- .../geometry/multi/algorithms/centroid.hpp | 68 +- .../boost/geometry/multi/algorithms/clear.hpp | 1 + .../geometry/multi/algorithms/convert.hpp | 1 + .../geometry/multi/algorithms/correct.hpp | 1 + .../geometry/multi/algorithms/covered_by.hpp | 1 + .../algorithms/detail/for_each_range.hpp | 1 + .../multi/algorithms/detail/multi_sum.hpp | 8 +- .../detail/overlay/copy_segment_point.hpp | 1 + .../detail/overlay/copy_segments.hpp | 1 + .../algorithms/detail/overlay/get_ring.hpp | 2 + .../algorithms/detail/overlay/get_turns.hpp | 2 + .../detail/overlay/select_rings.hpp | 3 + .../detail/overlay/self_turn_points.hpp | 1 + .../algorithms/detail/point_on_border.hpp | 1 + .../detail/sections/range_by_section.hpp | 1 + .../detail/sections/sectionalize.hpp | 2 + .../geometry/multi/algorithms/disjoint.hpp | 44 + .../geometry/multi/algorithms/distance.hpp | 1 + .../geometry/multi/algorithms/envelope.hpp | 36 +- .../geometry/multi/algorithms/equals.hpp | 27 +- .../geometry/multi/algorithms/for_each.hpp | 62 +- .../multi/algorithms/intersection.hpp | 240 +- .../geometry/multi/algorithms/length.hpp | 35 +- .../multi/algorithms/num_geometries.hpp | 4 +- .../multi/algorithms/num_interior_rings.hpp | 3 +- .../geometry/multi/algorithms/num_points.hpp | 13 +- .../geometry/multi/algorithms/perimeter.hpp | 30 +- .../geometry/multi/algorithms/reverse.hpp | 12 +- .../geometry/multi/algorithms/simplify.hpp | 47 +- .../geometry/multi/algorithms/transform.hpp | 23 +- .../geometry/multi/algorithms/unique.hpp | 34 +- .../geometry/multi/algorithms/within.hpp | 1 + .../multi/geometries/concepts/check.hpp | 12 +- .../boost/geometry/multi/io/dsv/write.hpp | 3 + .../boost/geometry/multi/io/wkt/read.hpp | 1 + .../boost/geometry/multi/io/wkt/write.hpp | 7 +- 3party/boost/boost/geometry/multi/multi.hpp | 1 + .../geometry/policies/relate/direction.hpp | 4 +- .../policies/relate/intersection_points.hpp | 8 +- .../boost/geometry/policies/relate/tupled.hpp | 4 +- .../agnostic/simplify_douglas_peucker.hpp | 8 +- .../strategies/cartesian/cart_intersect.hpp | 34 +- .../cartesian/distance_projected_point.hpp | 1 + .../cartesian/distance_pythagoras.hpp | 4 +- .../boost/geometry/strategies/covered_by.hpp | 2 +- .../boost/geometry/strategies/side_info.hpp | 20 +- .../spherical/distance_haversine.hpp | 8 +- .../strategies/strategy_transform.hpp | 42 +- .../strategies/transform/map_transformer.hpp | 10 +- .../transform/matrix_transformers.hpp | 4 +- .../boost/geometry/strategies/within.hpp | 2 +- 3party/boost/boost/geometry/util/math.hpp | 41 +- 3party/boost/boost/geometry/util/rational.hpp | 24 +- .../boost/geometry/views/closeable_view.hpp | 9 + .../boost/geometry/views/identity_view.hpp | 8 + 3party/boost/boost/get_pointer.hpp | 19 +- 3party/boost/boost/graph/adjacency_list.hpp | 1 + 3party/boost/boost/graph/astar_search.hpp | 199 +- .../graph/boykov_kolmogorov_max_flow.hpp | 11 +- .../graph/compressed_sparse_row_graph.hpp | 21 +- .../boost/graph/detail/adjacency_list.hpp | 19 +- .../detail/compressed_sparse_row_struct.hpp | 4 - .../boost/boost/graph/detail/d_ary_heap.hpp | 5 +- .../boost/graph/detail/histogram_sort.hpp | 20 +- .../graph/detail/is_distributed_selector.hpp | 26 + .../graph/detail/labeled_graph_traits.hpp | 4 +- .../boost/graph/dijkstra_shortest_paths.hpp | 6 +- .../dijkstra_shortest_paths_no_color_map.hpp | 11 +- 3party/boost/boost/graph/directed_graph.hpp | 131 +- .../graph/distributed/adjacency_list.hpp | 3 +- .../graph/distributed/mpi_process_group.hpp | 2 +- .../boost/graph/distributed/named_graph.hpp | 6 +- .../boost/graph/distributed/selector.hpp | 8 + 3party/boost/boost/graph/graph_concepts.hpp | 30 +- 3party/boost/boost/graph/graph_traits.hpp | 41 +- 3party/boost/boost/graph/graphml.hpp | 6 +- 3party/boost/boost/graph/isomorphism.hpp | 22 +- .../graph/johnson_all_pairs_shortest.hpp | 4 +- .../graph/kamada_kawai_spring_layout.hpp | 4 +- 3party/boost/boost/graph/labeled_graph.hpp | 18 +- .../boost/graph/max_cardinality_matching.hpp | 29 +- .../boost/graph/maximum_adjacency_search.hpp | 321 ++ .../boost/boost/graph/metric_tsp_approx.hpp | 4 +- .../boost/graph/named_function_params.hpp | 10 + 3party/boost/boost/graph/named_graph.hpp | 69 +- 3party/boost/boost/graph/properties.hpp | 6 +- .../property_maps/constant_property_map.hpp | 33 + .../boost/boost/graph/r_c_shortest_paths.hpp | 6 +- 3party/boost/boost/graph/reverse_graph.hpp | 11 +- .../boost/graph/rmat_graph_generator.hpp | 18 +- 3party/boost/boost/graph/sloan_ordering.hpp | 24 +- .../boost/graph/stoer_wagner_min_cut.hpp | 339 +- .../boost/boost/graph/tiernan_all_cycles.hpp | 6 +- 3party/boost/boost/graph/undirected_graph.hpp | 92 +- .../boost/boost/graph/vf2_sub_graph_iso.hpp | 1241 +++++++ 3party/boost/boost/heap/binomial_heap.hpp | 9 +- 3party/boost/boost/heap/d_ary_heap.hpp | 28 +- .../boost/heap/detail/heap_comparison.hpp | 8 +- 3party/boost/boost/heap/detail/heap_node.hpp | 6 +- 3party/boost/boost/heap/detail/ilog2.hpp | 2 +- .../boost/boost/heap/detail/mutable_heap.hpp | 30 +- .../heap/detail/ordered_adaptor_iterator.hpp | 6 +- .../boost/boost/heap/detail/stable_heap.hpp | 159 +- 3party/boost/boost/heap/fibonacci_heap.hpp | 54 +- 3party/boost/boost/heap/heap_concepts.hpp | 9 +- 3party/boost/boost/heap/heap_merge.hpp | 4 +- 3party/boost/boost/heap/pairing_heap.hpp | 17 +- 3party/boost/boost/heap/priority_queue.hpp | 9 +- 3party/boost/boost/heap/skew_heap.hpp | 16 +- .../boost/boost/icl/concept/element_map.hpp | 1 + .../boost/icl/concept/interval_associator.hpp | 78 +- 3party/boost/boost/icl/detail/set_algo.hpp | 3 - 3party/boost/boost/icl/impl_config.hpp | 15 + 3party/boost/boost/icl/interval_base_map.hpp | 4 +- 3party/boost/boost/icl/interval_base_set.hpp | 4 +- 3party/boost/boost/icl/interval_map.hpp | 13 +- 3party/boost/boost/icl/interval_set.hpp | 11 +- 3party/boost/boost/icl/map.hpp | 6 +- .../boost/boost/icl/separate_interval_set.hpp | 11 +- 3party/boost/boost/icl/set.hpp | 6 +- 3party/boost/boost/icl/split_interval_map.hpp | 15 +- 3party/boost/boost/icl/split_interval_set.hpp | 11 +- 3party/boost/boost/integer_traits.hpp | 2 +- .../interprocess/allocators/adaptive_pool.hpp | 10 +- .../interprocess/allocators/allocator.hpp | 25 +- .../allocators/cached_adaptive_pool.hpp | 8 +- .../allocators/cached_node_allocator.hpp | 6 +- .../allocators/detail/adaptive_node_pool.hpp | 10 +- .../allocators/detail/allocator_common.hpp | 69 +- .../allocators/node_allocator.hpp | 10 +- .../allocators/private_adaptive_pool.hpp | 10 +- .../allocators/private_node_allocator.hpp | 10 +- .../detail/config_external_begin.hpp | 18 + .../detail/config_external_end.hpp | 12 + .../detail/intermodule_singleton_common.hpp | 1 + .../detail/managed_global_memory.hpp | 4 +- .../detail/managed_memory_impl.hpp | 70 +- .../detail/managed_multi_shared_memory.hpp | 18 +- .../detail/managed_open_or_create_impl.hpp | 25 +- .../interprocess/detail/os_file_functions.hpp | 24 +- .../detail/portable_intermodule_singleton.hpp | 6 +- .../interprocess/detail/preprocessor.hpp | 14 +- .../interprocess/detail/robust_emulation.hpp | 14 +- .../detail/segment_manager_helper.hpp | 26 +- .../boost/interprocess/detail/win32_api.hpp | 549 ++- .../boost/interprocess/detail/workaround.hpp | 21 +- .../boost/boost/interprocess/file_mapping.hpp | 6 +- .../boost/interprocess/ipc/message_queue.hpp | 85 +- .../interprocess/managed_mapped_file.hpp | 28 +- .../interprocess/managed_shared_memory.hpp | 30 +- .../managed_windows_shared_memory.hpp | 29 +- .../managed_xsi_shared_memory.hpp | 29 +- .../boost/interprocess/mapped_region.hpp | 54 +- .../mem_algo/detail/mem_algo_common.hpp | 28 +- .../mem_algo/detail/simple_seq_fit_impl.hpp | 31 +- .../interprocess/mem_algo/rbtree_best_fit.hpp | 32 +- .../interprocess/mem_algo/simple_seq_fit.hpp | 4 +- .../boost/boost/interprocess/offset_ptr.hpp | 35 +- .../boost/interprocess/segment_manager.hpp | 71 +- .../interprocess/shared_memory_object.hpp | 24 +- .../smart_ptr/detail/shared_count.hpp | 1 + .../smart_ptr/detail/sp_counted_impl.hpp | 4 +- .../interprocess/smart_ptr/unique_ptr.hpp | 14 +- .../interprocess/streams/bufferstream.hpp | 34 +- .../sync/interprocess_sharable_mutex.hpp | 36 +- .../sync/interprocess_upgradable_mutex.hpp | 80 +- .../sync/named_sharable_mutex.hpp | 9 +- .../sync/named_upgradable_mutex.hpp | 9 +- .../interprocess/sync/shm/named_condition.hpp | 66 +- .../sync/shm/named_condition_any.hpp | 9 +- .../sync/shm/named_creation_functor.hpp | 4 + .../interprocess/sync/shm/named_mutex.hpp | 10 +- .../sync/shm/named_recursive_mutex.hpp | 10 +- .../interprocess/sync/shm/named_semaphore.hpp | 9 +- .../sync/shm/named_upgradable_mutex.hpp | 9 +- .../boost/interprocess/sync/windows/mutex.hpp | 4 +- .../interprocess/sync/windows/named_sync.hpp | 4 +- .../interprocess/sync/windows/semaphore.hpp | 5 +- .../interprocess/sync/windows/sync_utils.hpp | 28 +- .../sync/windows/winapi_semaphore_wrapper.hpp | 14 +- 3party/boost/boost/intrusive/avl_set.hpp | 8 +- 3party/boost/boost/intrusive/avltree.hpp | 16 +- .../intrusive/circular_list_algorithms.hpp | 2 +- .../has_member_function_callable_with.hpp | 3 +- .../boost/intrusive/detail/memory_util.hpp | 8 +- 3party/boost/boost/intrusive/detail/mpl.hpp | 16 + .../intrusive/detail/parent_from_member.hpp | 16 +- .../intrusive/detail/tree_algorithms.hpp | 2 +- .../boost/intrusive/detail/utilities.hpp | 20 +- .../boost/intrusive/detail/workaround.hpp | 2 +- 3party/boost/boost/intrusive/hashtable.hpp | 208 +- 3party/boost/boost/intrusive/list.hpp | 38 +- 3party/boost/boost/intrusive/options.hpp | 4 + .../boost/intrusive/pointer_plus_bits.hpp | 6 +- .../boost/boost/intrusive/pointer_traits.hpp | 6 +- 3party/boost/boost/intrusive/rbtree.hpp | 4 +- 3party/boost/boost/intrusive/set.hpp | 8 +- 3party/boost/boost/intrusive/sg_set.hpp | 8 +- 3party/boost/boost/intrusive/sgtree.hpp | 12 +- 3party/boost/boost/intrusive/slist.hpp | 359 +- 3party/boost/boost/intrusive/splay_set.hpp | 8 +- 3party/boost/boost/intrusive/splaytree.hpp | 8 +- 3party/boost/boost/intrusive/treap.hpp | 20 +- .../boost/intrusive/treap_algorithms.hpp | 1 - 3party/boost/boost/intrusive/treap_set.hpp | 12 +- .../boost/boost/intrusive/unordered_set.hpp | 16 +- .../boost/boost/iostreams/code_converter.hpp | 3 +- .../boost/iostreams/detail/config/gcc.hpp | 3 + 3party/boost/boost/iostreams/detail/path.hpp | 4 +- .../boost/iostreams/detail/select_by_size.hpp | 3 +- 3party/boost/boost/iostreams/tee.hpp | 16 + .../boost/lambda/detail/lambda_functors.hpp | 33 + 3party/boost/boost/lambda/detail/ret.hpp | 2 +- 3party/boost/boost/lambda/if.hpp | 2 +- 3party/boost/boost/lambda/loops.hpp | 2 +- 3party/boost/boost/lexical_cast.hpp | 1018 +++--- 3party/boost/boost/limits.hpp | 2 +- 3party/boost/boost/local_function.hpp | 4 +- 3party/boost/boost/local_function/config.hpp | 4 +- .../detail/preprocessor/void_list.hpp | 6 +- 3party/boost/boost/locale/date_time.hpp | 6 +- 3party/boost/boost/locale/date_time_facet.hpp | 2 +- 3party/boost/boost/locale/encoding.hpp | 2 + 3party/boost/boost/locale/utf.hpp | 8 +- 3party/boost/boost/locale/util.hpp | 2 +- 3party/boost/boost/lockfree/detail/atomic.hpp | 71 + .../boost/lockfree/detail/branch_hints.hpp | 38 + .../boost/lockfree/detail/copy_payload.hpp | 49 + .../boost/boost/lockfree/detail/freelist.hpp | 637 ++++ .../boost/boost/lockfree/detail/parameter.hpp | 73 + 3party/boost/boost/lockfree/detail/prefix.hpp | 56 + .../boost/lockfree/detail/tagged_ptr.hpp | 21 + .../boost/lockfree/detail/tagged_ptr_dcas.hpp | 134 + .../detail/tagged_ptr_ptrcompression.hpp | 175 + 3party/boost/boost/lockfree/policies.hpp | 59 + 3party/boost/boost/lockfree/queue.hpp | 544 +++ 3party/boost/boost/lockfree/spsc_queue.hpp | 721 ++++ 3party/boost/boost/lockfree/stack.hpp | 582 +++ 3party/boost/boost/log/attributes.hpp | 38 + .../boost/boost/log/attributes/attribute.hpp | 186 + .../boost/log/attributes/attribute_cast.hpp | 74 + .../boost/log/attributes/attribute_name.hpp | 185 + .../boost/log/attributes/attribute_set.hpp | 507 +++ .../boost/log/attributes/attribute_value.hpp | 381 ++ .../log/attributes/attribute_value_impl.hpp | 136 + .../log/attributes/attribute_value_set.hpp | 479 +++ 3party/boost/boost/log/attributes/clock.hpp | 95 + .../boost/boost/log/attributes/constant.hpp | 122 + 3party/boost/boost/log/attributes/counter.hpp | 218 ++ .../log/attributes/current_process_id.hpp | 67 + .../log/attributes/current_process_name.hpp | 71 + .../log/attributes/current_thread_id.hpp | 109 + .../boost/log/attributes/fallback_policy.hpp | 186 + .../log/attributes/fallback_policy_fwd.hpp | 48 + .../boost/boost/log/attributes/function.hpp | 170 + .../boost/log/attributes/mutable_constant.hpp | 333 ++ .../boost/log/attributes/named_scope.hpp | 445 +++ .../boost/log/attributes/scoped_attribute.hpp | 253 ++ .../boost/log/attributes/time_traits.hpp | 81 + 3party/boost/boost/log/attributes/timer.hpp | 83 + .../boost/log/attributes/value_extraction.hpp | 816 +++++ .../log/attributes/value_extraction_fwd.hpp | 62 + .../boost/log/attributes/value_visitation.hpp | 372 ++ .../log/attributes/value_visitation_fwd.hpp | 45 + 3party/boost/boost/log/common.hpp | 41 + 3party/boost/boost/log/core.hpp | 28 + 3party/boost/boost/log/core/core.hpp | 329 ++ 3party/boost/boost/log/core/record.hpp | 196 + 3party/boost/boost/log/core/record_view.hpp | 249 ++ 3party/boost/boost/log/detail/alignas.hpp | 45 + 3party/boost/boost/log/detail/asio_fwd.hpp | 43 + .../log/detail/attachable_sstream_buf.hpp | 172 + .../boost/log/detail/attr_output_impl.hpp | 111 + .../boost/log/detail/attr_output_terminal.hpp | 173 + .../log/detail/attribute_get_value_impl.hpp | 43 + .../boost/log/detail/attribute_predicate.hpp | 116 + .../boost/log/detail/cleanup_scope_guard.hpp | 55 + .../boost/log/detail/code_conversion.hpp | 119 + 3party/boost/boost/log/detail/config.hpp | 407 +++ .../boost/log/detail/custom_terminal_spec.hpp | 70 + .../detail/date_time_fmt_gen_traits_fwd.hpp | 44 + .../log/detail/date_time_format_parser.hpp | 486 +++ .../boost/log/detail/decomposed_time.hpp | 440 +++ .../boost/log/detail/deduce_char_type.hpp | 108 + .../log/detail/default_attribute_names.hpp | 53 + .../boost/log/detail/embedded_string_type.hpp | 125 + 3party/boost/boost/log/detail/event.hpp | 145 + 3party/boost/boost/log/detail/fake_mutex.hpp | 56 + 3party/boost/boost/log/detail/footer.hpp | 16 + 3party/boost/boost/log/detail/format.hpp | 336 ++ .../boost/log/detail/function_traits.hpp | 236 ++ .../boost/log/detail/generate_overloads.hpp | 30 + 3party/boost/boost/log/detail/header.hpp | 40 + 3party/boost/boost/log/detail/id.hpp | 84 + 3party/boost/boost/log/detail/intptr_t.hpp | 64 + .../boost/boost/log/detail/light_function.hpp | 489 +++ .../boost/log/detail/light_function_pp.hpp | 412 +++ .../boost/boost/log/detail/light_rw_mutex.hpp | 208 ++ 3party/boost/boost/log/detail/locking_ptr.hpp | 157 + 3party/boost/boost/log/detail/locks.hpp | 180 + .../boost/log/detail/named_scope_fmt_pp.hpp | 82 + .../boost/boost/log/detail/native_typeof.hpp | 63 + .../boost/log/detail/parameter_tools.hpp | 114 + 3party/boost/boost/log/detail/pp_identity.hpp | 27 + 3party/boost/boost/log/detail/process_id.hpp | 60 + .../boost/boost/log/detail/setup_config.hpp | 61 + 3party/boost/boost/log/detail/singleton.hpp | 89 + .../boost/log/detail/sink_init_helpers.hpp | 118 + 3party/boost/boost/log/detail/snprintf.hpp | 116 + 3party/boost/boost/log/detail/spin_mutex.hpp | 268 ++ .../boost/boost/log/detail/tagged_integer.hpp | 147 + 3party/boost/boost/log/detail/thread_id.hpp | 65 + .../boost/log/detail/thread_specific.hpp | 116 + .../boost/log/detail/threadsafe_queue.hpp | 278 ++ 3party/boost/boost/log/detail/timestamp.hpp | 99 + .../boost/log/detail/trivial_keyword.hpp | 43 + .../log/detail/unary_function_terminal.hpp | 151 + .../log/detail/unhandled_exception_count.hpp | 40 + .../boost/log/detail/value_ref_visitation.hpp | 107 + .../boost/boost/log/detail/visible_type.hpp | 48 + 3party/boost/boost/log/exceptions.hpp | 387 ++ 3party/boost/boost/log/expressions.hpp | 38 + 3party/boost/boost/log/expressions/attr.hpp | 285 ++ .../boost/boost/log/expressions/attr_fwd.hpp | 69 + 3party/boost/boost/log/expressions/filter.hpp | 165 + .../boost/boost/log/expressions/formatter.hpp | 196 + .../boost/log/expressions/formatters.hpp | 38 + .../expressions/formatters/c_decorator.hpp | 270 ++ .../expressions/formatters/char_decorator.hpp | 650 ++++ .../expressions/formatters/csv_decorator.hpp | 140 + .../log/expressions/formatters/date_time.hpp | 325 ++ .../log/expressions/formatters/format.hpp | 128 + .../boost/log/expressions/formatters/if.hpp | 337 ++ .../expressions/formatters/named_scope.hpp | 602 ++++ .../log/expressions/formatters/stream.hpp | 53 + .../expressions/formatters/wrap_formatter.hpp | 349 ++ .../expressions/formatters/xml_decorator.hpp | 138 + .../log/expressions/is_keyword_descriptor.hpp | 67 + .../boost/boost/log/expressions/keyword.hpp | 258 ++ .../boost/log/expressions/keyword_fwd.hpp | 53 + .../boost/boost/log/expressions/message.hpp | 130 + .../boost/log/expressions/predicates.hpp | 34 + .../expressions/predicates/begins_with.hpp | 129 + .../predicates/channel_severity_filter.hpp | 572 +++ .../log/expressions/predicates/contains.hpp | 129 + .../log/expressions/predicates/ends_with.hpp | 129 + .../log/expressions/predicates/has_attr.hpp | 172 + .../predicates/is_debugger_present.hpp | 107 + .../expressions/predicates/is_in_range.hpp | 133 + .../log/expressions/predicates/matches.hpp | 128 + 3party/boost/boost/log/expressions/record.hpp | 50 + .../boost/boost/log/keywords/auto_flush.hpp | 40 + 3party/boost/boost/log/keywords/channel.hpp | 40 + 3party/boost/boost/log/keywords/delimiter.hpp | 40 + 3party/boost/boost/log/keywords/depth.hpp | 40 + 3party/boost/boost/log/keywords/facility.hpp | 40 + 3party/boost/boost/log/keywords/file_name.hpp | 40 + 3party/boost/boost/log/keywords/filter.hpp | 40 + 3party/boost/boost/log/keywords/format.hpp | 40 + 3party/boost/boost/log/keywords/ident.hpp | 40 + .../boost/boost/log/keywords/ip_version.hpp | 40 + 3party/boost/boost/log/keywords/iteration.hpp | 40 + 3party/boost/boost/log/keywords/log_name.hpp | 40 + .../boost/boost/log/keywords/log_source.hpp | 40 + 3party/boost/boost/log/keywords/max_size.hpp | 40 + .../boost/boost/log/keywords/message_file.hpp | 40 + .../boost/log/keywords/min_free_space.hpp | 40 + 3party/boost/boost/log/keywords/open_mode.hpp | 40 + 3party/boost/boost/log/keywords/order.hpp | 40 + .../boost/log/keywords/ordering_window.hpp | 40 + .../boost/boost/log/keywords/registration.hpp | 40 + .../boost/log/keywords/rotation_size.hpp | 40 + .../boost/boost/log/keywords/scan_method.hpp | 40 + 3party/boost/boost/log/keywords/severity.hpp | 40 + .../boost/boost/log/keywords/start_thread.hpp | 40 + 3party/boost/boost/log/keywords/target.hpp | 40 + .../log/keywords/time_based_rotation.hpp | 40 + 3party/boost/boost/log/keywords/use_impl.hpp | 40 + 3party/boost/boost/log/sinks.hpp | 47 + .../boost/boost/log/sinks/async_frontend.hpp | 470 +++ .../boost/log/sinks/attribute_mapping.hpp | 290 ++ .../boost/log/sinks/basic_sink_backend.hpp | 97 + .../boost/log/sinks/basic_sink_frontend.hpp | 523 +++ .../boost/log/sinks/block_on_overflow.hpp | 148 + .../boost/log/sinks/bounded_fifo_queue.hpp | 194 + .../log/sinks/bounded_ordering_queue.hpp | 318 ++ .../boost/log/sinks/debug_output_backend.hpp | 93 + .../boost/log/sinks/drop_on_overflow.hpp | 80 + .../boost/log/sinks/event_log_backend.hpp | 662 ++++ .../boost/log/sinks/event_log_constants.hpp | 88 + .../boost/log/sinks/frontend_requirements.hpp | 119 + 3party/boost/boost/log/sinks/sink.hpp | 115 + .../boost/boost/log/sinks/sync_frontend.hpp | 177 + .../boost/boost/log/sinks/syslog_backend.hpp | 289 ++ .../boost/log/sinks/syslog_constants.hpp | 101 + .../boost/log/sinks/text_file_backend.hpp | 539 +++ .../log/sinks/text_multifile_backend.hpp | 201 ++ .../boost/log/sinks/text_ostream_backend.hpp | 124 + .../boost/log/sinks/unbounded_fifo_queue.hpp | 142 + .../log/sinks/unbounded_ordering_queue.hpp | 298 ++ .../boost/log/sinks/unlocked_frontend.hpp | 142 + .../boost/boost/log/sources/basic_logger.hpp | 743 ++++ .../boost/log/sources/channel_feature.hpp | 242 ++ .../boost/log/sources/channel_logger.hpp | 325 ++ .../log/sources/exception_handler_feature.hpp | 252 ++ 3party/boost/boost/log/sources/features.hpp | 150 + .../log/sources/global_logger_storage.hpp | 206 ++ 3party/boost/boost/log/sources/logger.hpp | 103 + .../boost/log/sources/record_ostream.hpp | 335 ++ .../log/sources/severity_channel_logger.hpp | 309 ++ .../boost/log/sources/severity_feature.hpp | 310 ++ .../boost/log/sources/severity_logger.hpp | 325 ++ .../boost/log/sources/threading_models.hpp | 125 + 3party/boost/boost/log/support/date_time.hpp | 548 +++ 3party/boost/boost/log/support/exception.hpp | 72 + 3party/boost/boost/log/support/regex.hpp | 74 + .../boost/log/support/spirit_classic.hpp | 96 + 3party/boost/boost/log/support/spirit_qi.hpp | 65 + 3party/boost/boost/log/support/xpressive.hpp | 94 + 3party/boost/boost/log/trivial.hpp | 112 + .../boost/boost/log/utility/empty_deleter.hpp | 47 + .../boost/log/utility/exception_handler.hpp | 354 ++ .../log/utility/explicit_operator_bool.hpp | 104 + .../boost/log/utility/formatting_ostream.hpp | 674 ++++ .../log/utility/formatting_ostream_fwd.hpp | 51 + 3party/boost/boost/log/utility/functional.hpp | 40 + .../log/utility/functional/as_action.hpp | 60 + .../log/utility/functional/begins_with.hpp | 57 + .../boost/log/utility/functional/bind.hpp | 237 ++ .../log/utility/functional/bind_assign.hpp | 55 + .../log/utility/functional/bind_output.hpp | 55 + .../log/utility/functional/bind_to_log.hpp | 76 + .../boost/log/utility/functional/contains.hpp | 69 + .../log/utility/functional/ends_with.hpp | 57 + .../boost/log/utility/functional/fun_ref.hpp | 79 + .../boost/log/utility/functional/in_range.hpp | 63 + .../boost/log/utility/functional/logical.hpp | 225 ++ .../boost/log/utility/functional/matches.hpp | 129 + .../boost/log/utility/functional/nop.hpp | 55 + .../log/utility/functional/save_result.hpp | 60 + .../log/utility/intrusive_ref_counter.hpp | 122 + .../boost/boost/log/utility/manipulators.hpp | 28 + .../log/utility/manipulators/add_value.hpp | 141 + .../boost/log/utility/manipulators/dump.hpp | 231 ++ .../boost/log/utility/manipulators/to_log.hpp | 87 + 3party/boost/boost/log/utility/once_block.hpp | 195 + .../boost/log/utility/record_ordering.hpp | 229 ++ 3party/boost/boost/log/utility/setup.hpp | 37 + .../log/utility/setup/common_attributes.hpp | 76 + .../boost/boost/log/utility/setup/console.hpp | 243 ++ 3party/boost/boost/log/utility/setup/file.hpp | 166 + .../boost/log/utility/setup/filter_parser.hpp | 346 ++ .../log/utility/setup/formatter_parser.hpp | 216 ++ .../boost/log/utility/setup/from_settings.hpp | 164 + .../boost/log/utility/setup/from_stream.hpp | 47 + .../boost/log/utility/setup/settings.hpp | 643 ++++ .../log/utility/setup/settings_parser.hpp | 47 + .../boost/log/utility/strictest_lock.hpp | 214 ++ .../boost/log/utility/string_literal.hpp | 573 +++ .../boost/log/utility/string_literal_fwd.hpp | 55 + .../utility/type_dispatch/date_time_types.hpp | 138 + .../type_dispatch/dynamic_type_dispatcher.hpp | 154 + .../utility/type_dispatch/standard_types.hpp | 105 + .../type_dispatch/static_type_dispatcher.hpp | 272 ++ .../utility/type_dispatch/type_dispatcher.hpp | 188 + .../boost/log/utility/type_info_wrapper.hpp | 222 ++ .../log/utility/unique_identifier_name.hpp | 52 + .../boost/log/utility/unused_variable.hpp | 51 + 3party/boost/boost/log/utility/value_ref.hpp | 630 ++++ .../boost/boost/log/utility/value_ref_fwd.hpp | 38 + .../math/bindings/detail/big_digamma.hpp | 1 + .../math/bindings/detail/big_lanczos.hpp | 1 - 3party/boost/boost/math/bindings/e_float.hpp | 1 + 3party/boost/boost/math/bindings/mpfr.hpp | 80 +- 3party/boost/boost/math/bindings/mpreal.hpp | 4 +- 3party/boost/boost/math/complex/acos.hpp | 9 +- 3party/boost/boost/math/complex/asin.hpp | 5 +- 3party/boost/boost/math/complex/atanh.hpp | 89 +- .../boost/math/concepts/real_concept.hpp | 7 +- .../boost/math/concepts/std_real_concept.hpp | 3 + .../math/constants/calculate_constants.hpp | 16 +- .../boost/boost/math/constants/constants.hpp | 76 +- .../boost/boost/math/constants/generate.hpp | 4 +- .../detail/hypergeometric_pdf.hpp | 2 +- 3party/boost/boost/math/distributions/fwd.hpp | 36 +- .../math/distributions/inverse_gamma.hpp | 3 + .../math/distributions/non_central_t.hpp | 2 +- .../boost/math/distributions/poisson.hpp | 39 +- .../boost/math/policies/error_handling.hpp | 219 +- 3party/boost/boost/math/policies/policy.hpp | 10 + .../boost/math/special_functions/acosh.hpp | 3 +- .../boost/math/special_functions/airy.hpp | 191 + .../boost/math/special_functions/asinh.hpp | 5 +- .../boost/math/special_functions/atanh.hpp | 12 +- .../boost/math/special_functions/bessel.hpp | 357 +- .../detail/airy_ai_bi_zero.hpp | 160 + .../special_functions/detail/bessel_j0.hpp | 16 +- .../special_functions/detail/bessel_j1.hpp | 17 +- .../special_functions/detail/bessel_jn.hpp | 13 +- .../special_functions/detail/bessel_jy.hpp | 1025 +++--- .../detail/bessel_jy_asym.hpp | 176 +- .../detail/bessel_jy_zero.hpp | 617 ++++ .../special_functions/detail/bessel_y0.hpp | 17 +- .../special_functions/detail/bessel_y1.hpp | 16 +- .../special_functions/detail/bessel_yn.hpp | 3 +- .../math/special_functions/detail/erf_inv.hpp | 6 +- .../detail/ibeta_inverse.hpp | 18 +- .../detail/igamma_inverse.hpp | 4 +- .../special_functions/detail/lgamma_small.hpp | 10 +- .../special_functions/detail/round_fwd.hpp | 21 +- .../detail/unchecked_factorial.hpp | 20 + .../boost/math/special_functions/digamma.hpp | 4 +- .../boost/math/special_functions/erf.hpp | 10 +- .../boost/math/special_functions/expm1.hpp | 6 +- .../math/special_functions/factorials.hpp | 1 - .../math/special_functions/fpclassify.hpp | 159 +- .../boost/math/special_functions/gamma.hpp | 99 +- .../special_functions/jacobi_elliptic.hpp | 8 +- .../boost/math/special_functions/math_fwd.hpp | 278 +- .../boost/math/special_functions/next.hpp | 95 +- .../boost/math/special_functions/owens_t.hpp | 62 +- .../boost/math/special_functions/round.hpp | 9 +- .../boost/math/special_functions/sign.hpp | 21 +- .../boost/math/special_functions/sinc.hpp | 50 +- .../special_functions/spherical_harmonic.hpp | 2 +- .../boost/math/special_functions/trunc.hpp | 22 +- .../boost/math/special_functions/zeta.hpp | 14 +- .../boost/boost/math/tools/big_constant.hpp | 4 + 3party/boost/boost/math/tools/config.hpp | 54 +- .../tools/detail/polynomial_horner1_10.hpp | 2 +- .../tools/detail/polynomial_horner1_11.hpp | 2 +- .../tools/detail/polynomial_horner1_12.hpp | 2 +- .../tools/detail/polynomial_horner1_13.hpp | 2 +- .../tools/detail/polynomial_horner1_14.hpp | 2 +- .../tools/detail/polynomial_horner1_15.hpp | 2 +- .../tools/detail/polynomial_horner1_16.hpp | 2 +- .../tools/detail/polynomial_horner1_17.hpp | 2 +- .../tools/detail/polynomial_horner1_18.hpp | 2 +- .../tools/detail/polynomial_horner1_19.hpp | 2 +- .../tools/detail/polynomial_horner1_2.hpp | 2 +- .../tools/detail/polynomial_horner1_20.hpp | 2 +- .../tools/detail/polynomial_horner1_3.hpp | 2 +- .../tools/detail/polynomial_horner1_4.hpp | 2 +- .../tools/detail/polynomial_horner1_5.hpp | 2 +- .../tools/detail/polynomial_horner1_6.hpp | 2 +- .../tools/detail/polynomial_horner1_7.hpp | 2 +- .../tools/detail/polynomial_horner1_8.hpp | 2 +- .../tools/detail/polynomial_horner1_9.hpp | 2 +- .../tools/detail/polynomial_horner2_10.hpp | 2 +- .../tools/detail/polynomial_horner2_11.hpp | 2 +- .../tools/detail/polynomial_horner2_12.hpp | 2 +- .../tools/detail/polynomial_horner2_13.hpp | 2 +- .../tools/detail/polynomial_horner2_14.hpp | 2 +- .../tools/detail/polynomial_horner2_15.hpp | 2 +- .../tools/detail/polynomial_horner2_16.hpp | 2 +- .../tools/detail/polynomial_horner2_17.hpp | 2 +- .../tools/detail/polynomial_horner2_18.hpp | 2 +- .../tools/detail/polynomial_horner2_19.hpp | 2 +- .../tools/detail/polynomial_horner2_2.hpp | 2 +- .../tools/detail/polynomial_horner2_20.hpp | 2 +- .../tools/detail/polynomial_horner2_3.hpp | 2 +- .../tools/detail/polynomial_horner2_4.hpp | 2 +- .../tools/detail/polynomial_horner2_5.hpp | 2 +- .../tools/detail/polynomial_horner2_6.hpp | 2 +- .../tools/detail/polynomial_horner2_7.hpp | 2 +- .../tools/detail/polynomial_horner2_8.hpp | 2 +- .../tools/detail/polynomial_horner2_9.hpp | 2 +- .../tools/detail/polynomial_horner3_10.hpp | 2 +- .../tools/detail/polynomial_horner3_11.hpp | 2 +- .../tools/detail/polynomial_horner3_12.hpp | 2 +- .../tools/detail/polynomial_horner3_13.hpp | 2 +- .../tools/detail/polynomial_horner3_14.hpp | 2 +- .../tools/detail/polynomial_horner3_15.hpp | 2 +- .../tools/detail/polynomial_horner3_16.hpp | 2 +- .../tools/detail/polynomial_horner3_17.hpp | 2 +- .../tools/detail/polynomial_horner3_18.hpp | 2 +- .../tools/detail/polynomial_horner3_19.hpp | 2 +- .../tools/detail/polynomial_horner3_2.hpp | 2 +- .../tools/detail/polynomial_horner3_20.hpp | 2 +- .../tools/detail/polynomial_horner3_3.hpp | 2 +- .../tools/detail/polynomial_horner3_4.hpp | 2 +- .../tools/detail/polynomial_horner3_5.hpp | 2 +- .../tools/detail/polynomial_horner3_6.hpp | 2 +- .../tools/detail/polynomial_horner3_7.hpp | 2 +- .../tools/detail/polynomial_horner3_8.hpp | 2 +- .../tools/detail/polynomial_horner3_9.hpp | 2 +- .../math/tools/detail/rational_horner2_10.hpp | 2 +- .../math/tools/detail/rational_horner2_11.hpp | 2 +- .../math/tools/detail/rational_horner2_12.hpp | 2 +- .../math/tools/detail/rational_horner2_13.hpp | 2 +- .../math/tools/detail/rational_horner2_14.hpp | 2 +- .../math/tools/detail/rational_horner2_15.hpp | 2 +- .../math/tools/detail/rational_horner2_16.hpp | 2 +- .../math/tools/detail/rational_horner2_17.hpp | 2 +- .../math/tools/detail/rational_horner2_18.hpp | 2 +- .../math/tools/detail/rational_horner2_19.hpp | 2 +- .../math/tools/detail/rational_horner2_2.hpp | 2 +- .../math/tools/detail/rational_horner2_20.hpp | 2 +- .../math/tools/detail/rational_horner2_3.hpp | 2 +- .../math/tools/detail/rational_horner2_4.hpp | 2 +- .../math/tools/detail/rational_horner2_5.hpp | 2 +- .../math/tools/detail/rational_horner2_6.hpp | 2 +- .../math/tools/detail/rational_horner2_7.hpp | 2 +- .../math/tools/detail/rational_horner2_8.hpp | 2 +- .../math/tools/detail/rational_horner2_9.hpp | 2 +- .../math/tools/detail/rational_horner3_10.hpp | 2 +- .../math/tools/detail/rational_horner3_11.hpp | 2 +- .../math/tools/detail/rational_horner3_12.hpp | 2 +- .../math/tools/detail/rational_horner3_13.hpp | 2 +- .../math/tools/detail/rational_horner3_14.hpp | 2 +- .../math/tools/detail/rational_horner3_15.hpp | 2 +- .../math/tools/detail/rational_horner3_16.hpp | 2 +- .../math/tools/detail/rational_horner3_17.hpp | 2 +- .../math/tools/detail/rational_horner3_18.hpp | 2 +- .../math/tools/detail/rational_horner3_19.hpp | 2 +- .../math/tools/detail/rational_horner3_2.hpp | 2 +- .../math/tools/detail/rational_horner3_20.hpp | 2 +- .../math/tools/detail/rational_horner3_3.hpp | 2 +- .../math/tools/detail/rational_horner3_4.hpp | 2 +- .../math/tools/detail/rational_horner3_5.hpp | 2 +- .../math/tools/detail/rational_horner3_6.hpp | 2 +- .../math/tools/detail/rational_horner3_7.hpp | 2 +- .../math/tools/detail/rational_horner3_8.hpp | 2 +- .../math/tools/detail/rational_horner3_9.hpp | 2 +- 3party/boost/boost/math/tools/precision.hpp | 2 - 3party/boost/boost/math/tools/roots.hpp | 12 +- 3party/boost/boost/math/tools/test.hpp | 2 + .../boost/boost/math/tools/toms748_solve.hpp | 2 +- 3party/boost/boost/move/algorithm.hpp | 275 ++ 3party/boost/boost/move/core.hpp | 332 ++ .../boost/boost/move/detail/config_begin.hpp | 23 + 3party/boost/boost/move/detail/config_end.hpp | 20 + 3party/boost/boost/move/detail/meta_utils.hpp | 158 + .../boost/move/{ => detail}/move_helpers.hpp | 16 +- 3party/boost/boost/move/iterator.hpp | 298 ++ 3party/boost/boost/move/move.hpp | 1266 +------ 3party/boost/boost/move/traits.hpp | 142 + 3party/boost/boost/move/utility.hpp | 194 + 3party/boost/boost/mpl/assert.hpp | 76 +- .../boost/msm/back/favor_compile_time.hpp | 3 +- 3party/boost/boost/msm/back/state_machine.hpp | 4 +- .../multi_index/detail/index_matcher.hpp | 10 +- .../boost/multi_index/detail/safe_mode.hpp | 12 +- .../boost/boost/multi_index/hashed_index.hpp | 56 +- .../boost/boost/multi_index/ordered_index.hpp | 62 +- .../concepts/mp_number_archetypes.hpp | 231 ++ .../boost/multiprecision/cpp_dec_float.hpp | 3050 ++++++++++++++++ 3party/boost/boost/multiprecision/cpp_int.hpp | 1799 ++++++++++ .../boost/multiprecision/cpp_int/add.hpp | 529 +++ .../boost/multiprecision/cpp_int/bitwise.hpp | 564 +++ .../boost/multiprecision/cpp_int/checked.hpp | 149 + .../multiprecision/cpp_int/comparison.hpp | 408 +++ .../multiprecision/cpp_int/cpp_int_config.hpp | 163 + .../boost/multiprecision/cpp_int/divide.hpp | 633 ++++ .../boost/multiprecision/cpp_int/limits.hpp | 216 ++ .../boost/multiprecision/cpp_int/literals.hpp | 206 ++ .../boost/multiprecision/cpp_int/misc.hpp | 599 ++++ .../boost/multiprecision/cpp_int/multiply.hpp | 437 +++ .../multiprecision/cpp_int/value_pack.hpp | 36 + .../boost/multiprecision/debug_adaptor.hpp | 454 +++ .../multiprecision/detail/big_lanczos.hpp | 46 + .../multiprecision/detail/default_ops.hpp | 1947 ++++++++++ .../boost/multiprecision/detail/digits.hpp | 23 + .../multiprecision/detail/dynamic_array.hpp | 29 + .../boost/multiprecision/detail/et_ops.hpp | 812 +++++ .../detail/float_string_cvt.hpp | 300 ++ .../detail/functions/constants.hpp | 289 ++ .../multiprecision/detail/functions/pow.hpp | 682 ++++ .../multiprecision/detail/functions/trig.hpp | 801 +++++ .../detail/generic_interconvert.hpp | 229 ++ .../multiprecision/detail/integer_ops.hpp | 447 +++ .../boost/multiprecision/detail/no_et_ops.hpp | 624 ++++ .../multiprecision/detail/number_base.hpp | 775 ++++ .../multiprecision/detail/number_compare.hpp | 388 ++ .../boost/multiprecision/detail/rebind.hpp | 20 + .../multiprecision/detail/ublas_interop.hpp | 65 + .../multiprecision/detail/utype_helper.hpp | 110 + .../boost/boost/multiprecision/float128.hpp | 489 +++ 3party/boost/boost/multiprecision/gmp.hpp | 2604 ++++++++++++++ 3party/boost/boost/multiprecision/integer.hpp | 177 + .../boost/multiprecision/logged_adaptor.hpp | 507 +++ .../boost/multiprecision/miller_rabin.hpp | 224 ++ 3party/boost/boost/multiprecision/mpfi.hpp | 1402 ++++++++ 3party/boost/boost/multiprecision/mpfr.hpp | 1836 ++++++++++ 3party/boost/boost/multiprecision/number.hpp | 1774 +++++++++ 3party/boost/boost/multiprecision/random.hpp | 587 +++ .../boost/multiprecision/rational_adaptor.hpp | 302 ++ 3party/boost/boost/multiprecision/tommath.hpp | 748 ++++ .../traits/explicit_conversion.hpp | 80 + .../traits/extract_exponent_type.hpp | 28 + .../traits/is_restricted_conversion.hpp | 48 + 3party/boost/boost/noncopyable.hpp | 18 +- 3party/boost/boost/numeric/odeint.hpp | 75 + .../numeric/odeint/algebra/array_algebra.hpp | 265 ++ .../odeint/algebra/default_operations.hpp | 602 ++++ .../odeint/algebra/detail/for_each.hpp | 165 + .../numeric/odeint/algebra/detail/macros.hpp | 43 + .../numeric/odeint/algebra/detail/reduce.hpp | 67 + .../numeric/odeint/algebra/fusion_algebra.hpp | 186 + .../numeric/odeint/algebra/range_algebra.hpp | 159 + .../odeint/algebra/vector_space_algebra.hpp | 156 + 3party/boost/boost/numeric/odeint/config.hpp | 47 + .../odeint/external/gsl/gsl_wrapper.hpp | 229 ++ .../odeint/external/mkl/mkl_operations.hpp | 181 + .../external/mtl4/implicit_euler_mtl4.hpp | 162 + .../odeint/external/mtl4/mtl4_resize.hpp | 133 + .../odeint/external/thrust/thrust_algebra.hpp | 198 ++ .../external/thrust/thrust_operations.hpp | 252 ++ .../odeint/external/thrust/thrust_resize.hpp | 119 + .../odeint/external/vexcl/vexcl_resize.hpp | 92 + .../external/viennacl/viennacl_operations.hpp | 245 ++ .../external/viennacl/viennacl_resize.hpp | 65 + .../integrate/detail/integrate_adaptive.hpp | 154 + .../integrate/detail/integrate_const.hpp | 159 + .../integrate/detail/integrate_n_steps.hpp | 156 + .../integrate/detail/integrate_times.hpp | 166 + .../numeric/odeint/integrate/integrate.hpp | 105 + .../odeint/integrate/integrate_adaptive.hpp | 127 + .../odeint/integrate/integrate_const.hpp | 156 + .../odeint/integrate/integrate_n_steps.hpp | 124 + .../odeint/integrate/integrate_times.hpp | 131 + .../odeint/integrate/null_observer.hpp | 38 + .../odeint/integrate/observer_collection.hpp | 56 + .../odeint/stepper/adams_bashforth.hpp | 416 +++ .../stepper/adams_bashforth_moulton.hpp | 258 ++ .../numeric/odeint/stepper/adams_moulton.hpp | 195 + .../stepper/base/algebra_stepper_base.hpp | 91 + .../base/explicit_error_stepper_base.hpp | 560 +++ .../base/explicit_error_stepper_fsal_base.hpp | 658 ++++ .../stepper/base/explicit_stepper_base.hpp | 383 ++ .../base/symplectic_rkn_stepper_base.hpp | 433 +++ .../numeric/odeint/stepper/bulirsch_stoer.hpp | 623 ++++ .../stepper/bulirsch_stoer_dense_out.hpp | 812 +++++ .../odeint/stepper/controlled_runge_kutta.hpp | 939 +++++ .../odeint/stepper/controlled_step_result.hpp | 42 + .../stepper/dense_output_runge_kutta.hpp | 461 +++ .../detail/adams_bashforth_call_algebra.hpp | 151 + .../detail/adams_bashforth_coefficients.hpp | 168 + .../detail/adams_moulton_call_algebra.hpp | 142 + .../detail/adams_moulton_coefficients.hpp | 168 + .../stepper/detail/generic_rk_algorithm.hpp | 246 ++ .../detail/generic_rk_call_algebra.hpp | 263 ++ .../stepper/detail/generic_rk_operations.hpp | 252 ++ .../odeint/stepper/detail/rotating_buffer.hpp | 84 + .../boost/numeric/odeint/stepper/euler.hpp | 164 + .../stepper/explicit_error_generic_rk.hpp | 252 ++ .../odeint/stepper/explicit_generic_rk.hpp | 243 ++ .../numeric/odeint/stepper/generation.hpp | 36 + .../generation_controlled_runge_kutta.hpp | 53 + .../generation_dense_output_runge_kutta.hpp | 54 + .../generation/generation_rosenbrock4.hpp | 72 + .../generation_runge_kutta_cash_karp54.hpp | 47 + ...ration_runge_kutta_cash_karp54_classic.hpp | 48 + .../generation_runge_kutta_dopri5.hpp | 56 + .../generation_runge_kutta_fehlberg78.hpp | 46 + .../stepper/generation/make_controlled.hpp | 81 + .../stepper/generation/make_dense_output.hpp | 78 + .../numeric/odeint/stepper/implicit_euler.hpp | 169 + .../odeint/stepper/modified_midpoint.hpp | 312 ++ .../numeric/odeint/stepper/rosenbrock4.hpp | 345 ++ .../odeint/stepper/rosenbrock4_controller.hpp | 208 ++ .../stepper/rosenbrock4_dense_output.hpp | 199 ++ .../numeric/odeint/stepper/runge_kutta4.hpp | 179 + .../odeint/stepper/runge_kutta4_classic.hpp | 220 ++ .../stepper/runge_kutta_cash_karp54.hpp | 229 ++ .../runge_kutta_cash_karp54_classic.hpp | 286 ++ .../odeint/stepper/runge_kutta_dopri5.hpp | 400 +++ .../odeint/stepper/runge_kutta_fehlberg78.hpp | 372 ++ .../odeint/stepper/stepper_categories.hpp | 68 + .../odeint/stepper/symplectic_euler.hpp | 134 + .../symplectic_rkn_sb3a_m4_mclachlan.hpp | 154 + .../stepper/symplectic_rkn_sb3a_mclachlan.hpp | 158 + .../boost/boost/numeric/odeint/util/bind.hpp | 53 + .../boost/boost/numeric/odeint/util/copy.hpp | 75 + .../numeric/odeint/util/detail/is_range.hpp | 133 + .../odeint/util/detail/less_with_sign.hpp | 53 + .../boost/numeric/odeint/util/is_pair.hpp | 45 + .../numeric/odeint/util/is_resizeable.hpp | 84 + .../boost/numeric/odeint/util/resize.hpp | 107 + .../boost/numeric/odeint/util/resizer.hpp | 93 + .../numeric/odeint/util/same_instance.hpp | 56 + .../boost/numeric/odeint/util/same_size.hpp | 105 + .../numeric/odeint/util/state_wrapper.hpp | 50 + .../numeric/odeint/util/ublas_wrapper.hpp | 260 ++ .../boost/numeric/odeint/util/unit_helper.hpp | 152 + .../numeric/odeint/util/unwrap_reference.hpp | 87 + 3party/boost/boost/numeric/odeint/version.hpp | 55 + .../boost/boost/numeric/ublas/assignment.hpp | 20 +- 3party/boost/boost/numeric/ublas/blas.hpp | 547 ++- .../boost/numeric/ublas/detail/config.hpp | 4 + 3party/boost/boost/numeric/ublas/doxydoc.hpp | 93 +- .../boost/boost/numeric/ublas/exception.hpp | 10 +- .../boost/numeric/ublas/expression_types.hpp | 3 +- 3party/boost/boost/numeric/ublas/matrix.hpp | 68 +- 3party/boost/boost/numeric/ublas/storage.hpp | 5 + 3party/boost/boost/numeric/ublas/vector.hpp | 3160 ++++++++--------- 3party/boost/boost/pending/property.hpp | 21 + .../boost/polygon/detail/boolean_op_45.hpp | 116 +- .../polygon/detail/polygon_45_formation.hpp | 178 +- .../polygon/detail/polygon_45_set_view.hpp | 9 +- .../detail/polygon_arbitrary_formation.hpp | 258 +- .../boost/polygon/detail/polygon_set_view.hpp | 5 +- .../boost/polygon/detail/scan_arbitrary.hpp | 181 +- .../boost/polygon/detail/transform_detail.hpp | 548 --- .../polygon/detail/voronoi_predicates.hpp | 11 +- 3party/boost/boost/polygon/gtl.hpp | 12 +- .../boost/boost/polygon/interval_concept.hpp | 1551 ++++---- 3party/boost/boost/polygon/interval_data.hpp | 163 +- .../boost/boost/polygon/interval_traits.hpp | 69 +- .../boost/boost/polygon/point_3d_concept.hpp | 270 -- 3party/boost/boost/polygon/point_3d_data.hpp | 49 - .../boost/boost/polygon/point_3d_traits.hpp | 34 - 3party/boost/boost/polygon/point_concept.hpp | 705 ++-- 3party/boost/boost/polygon/point_data.hpp | 220 +- 3party/boost/boost/polygon/point_traits.hpp | 66 +- 3party/boost/boost/polygon/polygon.hpp | 6 - .../boost/polygon/polygon_45_set_data.hpp | 6 +- .../boost/polygon/polygon_90_set_data.hpp | 1 - .../boost/polygon/polygon_90_set_traits.hpp | 2 - 3party/boost/boost/polygon/polygon_traits.hpp | 61 +- .../boost/boost/polygon/segment_concept.hpp | 212 +- 3party/boost/boost/polygon/segment_data.hpp | 103 +- 3party/boost/boost/polygon/segment_traits.hpp | 70 +- 3party/boost/boost/polygon/transform.hpp | 676 ++-- 3party/boost/boost/polygon/voronoi.hpp | 36 +- .../boost/boost/polygon/voronoi_diagram.hpp | 2 +- .../boost/polygon/voronoi_geometry_type.hpp | 2 +- 3party/boost/boost/program_options/errors.hpp | 2 +- .../property_map/compose_property_map.hpp | 81 + 3party/boost/boost/proto/detail/decltype.hpp | 2 +- .../boost/proto/detail/deduce_domain.hpp | 8 +- 3party/boost/boost/proto/detail/expr.hpp | 10 +- .../boost/proto/detail/extends_funop.hpp | 2 +- .../proto/detail/extends_funop_const.hpp | 2 +- 3party/boost/boost/proto/extends.hpp | 2 +- 3party/boost/boost/proto/operators.hpp | 4 +- 3party/boost/boost/proto/proto_fwd.hpp | 2 +- 3party/boost/boost/proto/traits.hpp | 2 +- .../boost/boost/proto/transform/fold_tree.hpp | 4 +- 3party/boost/boost/proto/transform/impl.hpp | 2 +- .../boost/random/detail/integer_log2.hpp | 8 +- .../boost/random/discrete_distribution.hpp | 2 +- .../piecewise_constant_distribution.hpp | 2 +- .../random/piecewise_linear_distribution.hpp | 2 +- 3party/boost/boost/random/seed_seq.hpp | 2 +- .../boost/random/subtract_with_carry.hpp | 6 +- 3party/boost/boost/range/adaptor/indexed.hpp | 3 + .../boost/boost/range/algorithm/search_n.hpp | 4 +- 3party/boost/boost/range/concepts.hpp | 8 +- .../boost/boost/range/detail/any_iterator.hpp | 4 +- .../range/detail/any_iterator_interface.hpp | 6 +- .../range/detail/any_iterator_wrapper.hpp | 2 + .../range/detail/collection_traits_detail.hpp | 8 +- .../range/detail/extract_optional_type.hpp | 2 +- 3party/boost/boost/range/empty.hpp | 2 +- 3party/boost/boost/range/irange.hpp | 4 +- 3party/boost/boost/range/istream_range.hpp | 6 +- .../boost/boost/range/iterator_range_core.hpp | 5 +- .../boost/boost/range/iterator_range_io.hpp | 4 +- 3party/boost/boost/ratio/config.hpp | 6 + .../boost/ratio/detail/overflow_helpers.hpp | 4 +- 3party/boost/boost/regex/icu.hpp | 8 +- .../boost/regex/pending/static_mutex.hpp | 15 +- .../boost/regex/pending/unicode_iterator.hpp | 24 +- .../boost/regex/v4/basic_regex_creator.hpp | 19 +- .../boost/regex/v4/basic_regex_parser.hpp | 84 +- .../boost/boost/regex/v4/cpp_regex_traits.hpp | 5 +- 3party/boost/boost/regex/v4/instances.hpp | 2 +- .../boost/regex/v4/perl_matcher_common.hpp | 6 + .../regex/v4/perl_matcher_non_recursive.hpp | 3 + 3party/boost/boost/regex/v4/regex_format.hpp | 9 +- 3party/boost/boost/regex/v4/regex_split.hpp | 2 +- .../boost/regex/v4/regex_traits_defaults.hpp | 34 +- 3party/boost/boost/scope_exit.hpp | 24 +- .../boost/boost/serialization/smart_cast.hpp | 6 +- 3party/boost/boost/signal.hpp | 8 + 3party/boost/boost/signals2/deconstruct.hpp | 10 +- .../boost/signals2/detail/foreign_ptr.hpp | 13 +- .../boost/signals2/detail/signal_template.hpp | 40 +- .../signals2/detail/signals_common_macros.hpp | 6 +- .../boost/signals2/detail/slot_template.hpp | 12 +- .../signals2/detail/variadic_slot_invoker.hpp | 19 +- 3party/boost/boost/signals2/signal.hpp | 23 +- 3party/boost/boost/signals2/slot.hpp | 2 +- .../boost/smart_ptr/allocate_shared_array.hpp | 250 ++ .../detail/allocate_array_helper.hpp | 169 + .../boost/smart_ptr/detail/array_deleter.hpp | 124 + .../boost/smart_ptr/detail/array_traits.hpp | 53 + .../boost/smart_ptr/detail/array_utility.hpp | 178 + .../smart_ptr/detail/make_array_helper.hpp | 157 + .../boost/smart_ptr/detail/operator_bool.hpp | 25 +- .../boost/smart_ptr/detail/shared_count.hpp | 85 +- .../boost/smart_ptr/detail/sp_convertible.hpp | 15 + .../smart_ptr/detail/sp_counted_base.hpp | 18 +- .../detail/sp_counted_base_acc_ia64.hpp | 1 + .../smart_ptr/detail/sp_counted_base_aix.hpp | 1 + .../detail/sp_counted_base_cw_ppc.hpp | 1 + .../detail/sp_counted_base_cw_x86.hpp | 1 + .../detail/sp_counted_base_gcc_ia64.hpp | 1 + .../detail/sp_counted_base_gcc_mips.hpp | 1 + .../detail/sp_counted_base_gcc_ppc.hpp | 1 + .../detail/sp_counted_base_gcc_sparc.hpp | 1 + .../detail/sp_counted_base_gcc_x86.hpp | 1 + .../smart_ptr/detail/sp_counted_base_nt.hpp | 1 + .../smart_ptr/detail/sp_counted_base_pt.hpp | 1 + .../detail/sp_counted_base_snc_ps3.hpp | 162 + .../detail/sp_counted_base_solaris.hpp | 1 + .../smart_ptr/detail/sp_counted_base_spin.hpp | 1 + .../smart_ptr/detail/sp_counted_base_sync.hpp | 1 + .../detail/sp_counted_base_vacpp_ppc.hpp | 1 + .../smart_ptr/detail/sp_counted_base_w32.hpp | 1 + .../smart_ptr/detail/sp_counted_impl.hpp | 15 + .../boost/smart_ptr/detail/sp_forward.hpp | 39 + .../boost/smart_ptr/detail/sp_has_sync.hpp | 22 +- .../boost/smart_ptr/detail/sp_if_array.hpp | 31 + .../boost/smart_ptr/detail/sp_nullptr_t.hpp | 45 + .../smart_ptr/detail/spinlock_gcc_arm.hpp | 17 +- .../smart_ptr/enable_shared_from_raw.hpp | 144 + .../smart_ptr/enable_shared_from_this.hpp | 8 +- .../smart_ptr/enable_shared_from_this2.hpp | 132 - .../boost/boost/smart_ptr/intrusive_ptr.hpp | 39 +- 3party/boost/boost/smart_ptr/make_shared.hpp | 969 +---- .../boost/smart_ptr/make_shared_array.hpp | 247 ++ .../boost/smart_ptr/make_shared_object.hpp | 1032 ++++++ 3party/boost/boost/smart_ptr/scoped_array.hpp | 39 +- 3party/boost/boost/smart_ptr/scoped_ptr.hpp | 36 +- 3party/boost/boost/smart_ptr/shared_array.hpp | 155 +- 3party/boost/boost/smart_ptr/shared_ptr.hpp | 598 +++- 3party/boost/boost/smart_ptr/weak_ptr.hpp | 77 +- .../home/classic/iterator/multi_pass.hpp | 8 +- 3party/boost/boost/spirit/home/karma.hpp | 4 +- .../boost/spirit/home/karma/auto/auto.hpp | 2 +- .../boost/spirit/home/karma/binary/binary.hpp | 2 +- .../boost/spirit/home/karma/char/char.hpp | 14 +- .../spirit/home/karma/char/char_class.hpp | 6 +- .../home/karma/detail/indirect_iterator.hpp | 8 +- .../home/karma/detail/output_iterator.hpp | 42 +- .../boost/spirit/home/karma/numeric/bool.hpp | 2 +- .../karma/numeric/detail/numeric_utils.hpp | 158 +- .../home/karma/numeric/detail/real_utils.hpp | 4 +- .../boost/spirit/home/karma/numeric/int.hpp | 6 +- .../boost/spirit/home/karma/numeric/real.hpp | 3 +- .../boost/spirit/home/karma/numeric/uint.hpp | 2 +- .../boost/spirit/home/karma/operator/list.hpp | 32 +- .../boost/spirit/home/karma/stream/stream.hpp | 50 +- .../boost/spirit/home/karma/string/lit.hpp | 2 +- .../home/lex/lexer/lexertl/functor_data.hpp | 2 +- .../home/lex/lexer/lexertl/iterator.hpp | 30 +- .../home/lex/lexer/support_functions.hpp | 6 +- .../boost/spirit/home/qi/stream/stream.hpp | 11 +- .../spirit/home/support/algorithm/any_if.hpp | 2 +- .../home/support/algorithm/any_if_ns.hpp | 2 +- .../boost/spirit/home/support/assert_msg.hpp | 35 +- .../boost/spirit/home/support/attributes.hpp | 25 +- .../spirit/home/support/detail/hold_any.hpp | 2 - .../home/support/detail/lexer/generator.hpp | 3 +- .../support/detail/lexer/string_token.hpp | 3 +- .../home/karma/nonterminal/subrule.hpp | 4 +- .../home/qi/nonterminal/subrule.hpp | 4 +- 3party/boost/boost/static_assert.hpp | 91 +- 3party/boost/boost/system/error_code.hpp | 142 +- 3party/boost/boost/system/system_error.hpp | 6 +- .../test/utils/runtime/cla/parameter.hpp | 4 +- .../boost/test/utils/runtime/env/variable.hpp | 4 +- 3party/boost/boost/thread/barrier.hpp | 8 +- .../boost/boost/thread/completion_latch.hpp | 233 ++ 3party/boost/boost/thread/condition.hpp | 7 +- .../boost/boost/thread/detail/async_func.hpp | 571 +++ 3party/boost/boost/thread/detail/config.hpp | 292 +- 3party/boost/boost/thread/detail/counter.hpp | 93 + 3party/boost/boost/thread/detail/delete.hpp | 12 + 3party/boost/boost/thread/detail/invoke.hpp | 1351 +++++++ .../boost/thread/detail/is_convertible.hpp | 48 + .../boost/thread/detail/lockable_wrapper.hpp | 45 + 3party/boost/boost/thread/detail/log.hpp | 83 + .../thread/detail/make_tuple_indices.hpp | 224 ++ 3party/boost/boost/thread/detail/move.hpp | 48 +- 3party/boost/boost/thread/detail/thread.hpp | 277 +- .../boost/thread/detail/thread_group.hpp | 64 +- .../thread/detail/thread_interruption.hpp | 5 +- 3party/boost/boost/thread/exceptions.hpp | 2 + .../boost/boost/thread/externally_locked.hpp | 351 ++ .../boost/thread/externally_locked_stream.hpp | 170 + 3party/boost/boost/thread/future.hpp | 2916 ++++++++++++--- .../boost/boost/thread/future_error_code.hpp | 61 + .../boost/thread/is_locked_by_this_thread.hpp | 39 + 3party/boost/boost/thread/latch.hpp | 142 + 3party/boost/boost/thread/lock_algorithms.hpp | 468 +++ 3party/boost/boost/thread/lock_concepts.hpp | 197 + 3party/boost/boost/thread/lock_factories.hpp | 78 + 3party/boost/boost/thread/lock_guard.hpp | 88 + 3party/boost/boost/thread/lock_options.hpp | 31 + 3party/boost/boost/thread/lock_traits.hpp | 45 + 3party/boost/boost/thread/lock_types.hpp | 1226 +++++++ .../boost/boost/thread/lockable_adapter.hpp | 226 ++ .../boost/boost/thread/lockable_concepts.hpp | 157 + 3party/boost/boost/thread/lockable_traits.hpp | 207 ++ 3party/boost/boost/thread/locks.hpp | 1821 +--------- 3party/boost/boost/thread/mutex.hpp | 34 +- 3party/boost/boost/thread/null_mutex.hpp | 243 ++ 3party/boost/boost/thread/once.hpp | 11 +- 3party/boost/boost/thread/poly_lockable.hpp | 68 + .../boost/thread/poly_lockable_adapter.hpp | 89 + .../boost/thread/poly_shared_lockable.hpp | 135 + .../thread/poly_shared_lockable_adapter.hpp | 170 + .../thread/pthread/condition_variable.hpp | 100 +- .../thread/pthread/condition_variable_fwd.hpp | 81 +- 3party/boost/boost/thread/pthread/mutex.hpp | 139 +- 3party/boost/boost/thread/pthread/once.hpp | 505 ++- .../boost/thread/pthread/once_atomic.hpp | 313 ++ .../boost/thread/pthread/recursive_mutex.hpp | 29 +- .../boost/thread/pthread/shared_mutex.hpp | 287 +- .../thread/pthread/shared_mutex_assert.hpp | 724 ++++ .../boost/thread/pthread/thread_data.hpp | 105 +- .../boost/boost/thread/pthread/timespec.hpp | 106 +- 3party/boost/boost/thread/recursive_mutex.hpp | 45 +- 3party/boost/boost/thread/reverse_lock.hpp | 5 +- 3party/boost/boost/thread/scoped_thread.hpp | 285 ++ .../boost/boost/thread/shared_lock_guard.hpp | 3 +- 3party/boost/boost/thread/shared_mutex.hpp | 23 + 3party/boost/boost/thread/strict_lock.hpp | 235 ++ .../boost/boost/thread/sync_bounded_queue.hpp | 594 ++++ 3party/boost/boost/thread/sync_queue.hpp | 516 +++ .../boost/boost/thread/synchronized_value.hpp | 1001 ++++++ 3party/boost/boost/thread/testable_mutex.hpp | 148 + 3party/boost/boost/thread/thread.hpp | 14 +- 3party/boost/boost/thread/thread_functors.hpp | 57 + 3party/boost/boost/thread/thread_guard.hpp | 46 + 3party/boost/boost/thread/thread_only.hpp | 29 + 3party/boost/boost/thread/v2/shared_mutex.hpp | 1062 ++++++ 3party/boost/boost/thread/v2/thread.hpp | 47 +- .../thread/win32/basic_recursive_mutex.hpp | 4 + .../boost/thread/win32/basic_timed_mutex.hpp | 17 +- .../boost/thread/win32/condition_variable.hpp | 15 +- .../boost/thread/win32/mfc_thread_init.hpp | 41 + 3party/boost/boost/thread/win32/mutex.hpp | 9 +- 3party/boost/boost/thread/win32/once.hpp | 992 +++++- .../boost/thread/win32/recursive_mutex.hpp | 9 +- .../boost/boost/thread/win32/shared_mutex.hpp | 37 +- .../boost/boost/thread/win32/thread_data.hpp | 50 +- .../boost/thread/win32/thread_heap_alloc.hpp | 101 +- .../boost/thread/win32/thread_primitives.hpp | 35 +- 3party/boost/boost/thread/xtime.hpp | 3 +- 3party/boost/boost/token_functions.hpp | 32 +- 3party/boost/boost/tr1/memory.hpp | 14 +- .../boost/boost/tti/detail/dcomp_mem_fun.hpp | 47 + .../boost/tti/detail/dcomp_static_mem_fun.hpp | 36 + 3party/boost/boost/tti/detail/ddata.hpp | 44 + 3party/boost/boost/tti/detail/ddeftype.hpp | 23 + 3party/boost/boost/tti/detail/dftclass.hpp | 43 + 3party/boost/boost/tti/detail/dfunction.hpp | 43 + 3party/boost/boost/tti/detail/dlambda.hpp | 34 + 3party/boost/boost/tti/detail/dmem_data.hpp | 149 + 3party/boost/boost/tti/detail/dmem_fun.hpp | 94 + 3party/boost/boost/tti/detail/dmem_type.hpp | 33 + 3party/boost/boost/tti/detail/dmetafunc.hpp | 29 + 3party/boost/boost/tti/detail/dnotype.hpp | 23 + 3party/boost/boost/tti/detail/dnullptr.hpp | 22 + .../boost/boost/tti/detail/dplaceholder.hpp | 36 + 3party/boost/boost/tti/detail/dptmf.hpp | 46 + .../boost/tti/detail/dstatic_mem_data.hpp | 86 + .../boost/tti/detail/dstatic_mem_fun.hpp | 68 + 3party/boost/boost/tti/detail/dtclass.hpp | 34 + 3party/boost/boost/tti/detail/dtemplate.hpp | 48 + .../boost/tti/detail/dtemplate_params.hpp | 220 ++ 3party/boost/boost/tti/detail/dtfunction.hpp | 35 + 3party/boost/boost/tti/detail/dtype.hpp | 53 + .../boost/tti/detail/dvm_template_params.hpp | 148 + 3party/boost/boost/tti/gen/has_data_gen.hpp | 31 + .../boost/boost/tti/gen/has_function_gen.hpp | 31 + .../boost/tti/gen/has_member_data_gen.hpp | 31 + .../boost/tti/gen/has_member_function_gen.hpp | 31 + .../tti/gen/has_static_member_data_gen.hpp | 31 + .../gen/has_static_member_function_gen.hpp | 31 + .../boost/boost/tti/gen/has_template_gen.hpp | 31 + 3party/boost/boost/tti/gen/has_type_gen.hpp | 31 + .../boost/boost/tti/gen/member_type_gen.hpp | 31 + 3party/boost/boost/tti/gen/namespace_gen.hpp | 25 + 3party/boost/boost/tti/has_data.hpp | 95 + 3party/boost/boost/tti/has_function.hpp | 106 + 3party/boost/boost/tti/has_member_data.hpp | 108 + .../boost/boost/tti/has_member_function.hpp | 116 + .../boost/tti/has_static_member_data.hpp | 85 + .../boost/tti/has_static_member_function.hpp | 110 + 3party/boost/boost/tti/has_template.hpp | 348 ++ 3party/boost/boost/tti/has_type.hpp | 168 + 3party/boost/boost/tti/member_type.hpp | 189 + 3party/boost/boost/tti/tti.hpp | 20 + 3party/boost/boost/type_erasure/any.hpp | 2208 ++++++++++++ 3party/boost/boost/type_erasure/any_cast.hpp | 170 + 3party/boost/boost/type_erasure/binding.hpp | 250 ++ .../boost/boost/type_erasure/binding_of.hpp | 35 + 3party/boost/boost/type_erasure/builtin.hpp | 142 + 3party/boost/boost/type_erasure/call.hpp | 704 ++++ 3party/boost/boost/type_erasure/callable.hpp | 386 ++ .../boost/boost/type_erasure/check_match.hpp | 272 ++ .../boost/type_erasure/concept_interface.hpp | 53 + .../boost/boost/type_erasure/concept_of.hpp | 58 + 3party/boost/boost/type_erasure/config.hpp | 27 + .../boost/type_erasure/constructible.hpp | 202 ++ 3party/boost/boost/type_erasure/deduced.hpp | 53 + 3party/boost/boost/type_erasure/derived.hpp | 37 + .../boost/type_erasure/detail/access.hpp | 139 + .../type_erasure/detail/adapt_to_vtable.hpp | 357 ++ .../boost/type_erasure/detail/any_base.hpp | 29 + .../boost/type_erasure/detail/check_call.hpp | 175 + .../boost/type_erasure/detail/check_map.hpp | 85 + .../boost/boost/type_erasure/detail/const.hpp | 122 + .../boost/type_erasure/detail/construct.hpp | 211 ++ .../type_erasure/detail/extract_concept.hpp | 126 + .../type_erasure/detail/get_placeholders.hpp | 148 + .../type_erasure/detail/get_signature.hpp | 33 + .../boost/type_erasure/detail/instantiate.hpp | 105 + .../boost/boost/type_erasure/detail/macro.hpp | 47 + .../boost/type_erasure/detail/normalize.hpp | 398 +++ .../type_erasure/detail/normalize_deduced.hpp | 61 + .../boost/boost/type_erasure/detail/null.hpp | 60 + .../detail/rebind_placeholders.hpp | 180 + .../boost/type_erasure/detail/storage.hpp | 67 + .../boost/type_erasure/detail/vtable.hpp | 305 ++ 3party/boost/boost/type_erasure/exception.hpp | 40 + 3party/boost/boost/type_erasure/free.hpp | 309 ++ 3party/boost/boost/type_erasure/is_empty.hpp | 28 + .../boost/type_erasure/is_placeholder.hpp | 36 + .../boost/type_erasure/is_subconcept.hpp | 108 + 3party/boost/boost/type_erasure/iterator.hpp | 305 ++ 3party/boost/boost/type_erasure/member.hpp | 241 ++ 3party/boost/boost/type_erasure/operators.hpp | 547 +++ 3party/boost/boost/type_erasure/param.hpp | 286 ++ .../boost/boost/type_erasure/placeholder.hpp | 72 + .../boost/type_erasure/placeholder_of.hpp | 58 + .../boost/boost/type_erasure/rebind_any.hpp | 68 + 3party/boost/boost/type_erasure/relaxed.hpp | 91 + .../boost/type_erasure/require_match.hpp | 261 ++ 3party/boost/boost/type_erasure/same_type.hpp | 37 + .../boost/type_erasure/static_binding.hpp | 36 + 3party/boost/boost/type_erasure/tuple.hpp | 659 ++++ 3party/boost/boost/type_erasure/typeid_of.hpp | 70 + 3party/boost/boost/type_traits.hpp | 4 + .../type_traits/add_lvalue_reference.hpp | 2 +- .../boost/boost/type_traits/add_reference.hpp | 2 +- .../type_traits/add_rvalue_reference.hpp | 8 +- .../boost/boost/type_traits/common_type.hpp | 23 +- 3party/boost/boost/type_traits/config.hpp | 2 +- .../type_traits/detail/common_type_imp.hpp | 2 +- .../detail/has_binary_operator.hpp | 2 +- .../detail/is_function_ptr_tester.hpp | 2 +- .../type_traits/has_trivial_move_assign.hpp | 57 + .../has_trivial_move_constructor.hpp | 57 + 3party/boost/boost/type_traits/intrinsics.hpp | 20 +- .../boost/boost/type_traits/is_abstract.hpp | 2 +- 3party/boost/boost/type_traits/is_array.hpp | 2 +- 3party/boost/boost/type_traits/is_const.hpp | 2 +- .../boost/type_traits/is_convertible.hpp | 95 +- .../boost/boost/type_traits/is_function.hpp | 7 +- .../boost/boost/type_traits/is_integral.hpp | 7 +- .../is_nothrow_move_assignable.hpp | 84 + .../is_nothrow_move_constructible.hpp | 84 + 3party/boost/boost/type_traits/is_pod.hpp | 4 +- .../boost/type_traits/is_rvalue_reference.hpp | 2 +- .../boost/boost/type_traits/is_volatile.hpp | 2 +- .../boost/boost/type_traits/make_signed.hpp | 16 + .../boost/boost/type_traits/make_unsigned.hpp | 16 + .../boost/boost/type_traits/remove_const.hpp | 2 +- 3party/boost/boost/type_traits/remove_cv.hpp | 2 +- .../boost/type_traits/remove_reference.hpp | 2 +- .../boost/type_traits/remove_volatile.hpp | 2 +- .../boost/boost/unordered/detail/allocate.hpp | 209 +- .../boost/boost/unordered/detail/buckets.hpp | 293 +- .../boost/unordered/detail/equivalent.hpp | 281 +- .../boost/unordered/detail/extract_key.hpp | 49 +- 3party/boost/boost/unordered/detail/table.hpp | 190 +- .../boost/boost/unordered/detail/unique.hpp | 119 +- .../boost/boost/unordered/unordered_map.hpp | 98 +- .../boost/boost/unordered/unordered_set.hpp | 98 +- 3party/boost/boost/utility/addressof.hpp | 4 +- 3party/boost/boost/utility/result_of.hpp | 9 +- 3party/boost/boost/utility/string_ref.hpp | 536 +++ 3party/boost/boost/utility/string_ref_fwd.hpp | 37 + .../boost/variant/detail/backup_holder.hpp | 7 +- .../boost/variant/detail/has_nothrow_move.hpp | 106 - .../boost/variant/detail/has_trivial_move.hpp | 100 - .../boost/variant/detail/hash_variant.hpp | 3 +- .../boost/variant/detail/initializer.hpp | 27 + 3party/boost/boost/variant/detail/move.hpp | 8 + .../boost/variant/detail/visitation_impl.hpp | 4 +- 3party/boost/boost/variant/multivisitors.hpp | 143 + .../boost/boost/variant/recursive_wrapper.hpp | 39 +- 3party/boost/boost/variant/variant.hpp | 591 ++- 3party/boost/boost/version.hpp | 4 +- 3party/boost/boost/wave/language_support.hpp | 2 +- .../boost/boost/wave/preprocessing_hooks.hpp | 1 + 3party/boost/boost/wave/util/cpp_iterator.hpp | 11 +- 3party/boost/boost/wave/util/cpp_macromap.hpp | 2 +- 3party/boost/boost/wave/util/flex_string.hpp | 14 +- .../detail/utility/sequence_stack.hpp | 5 +- .../xpressive/detail/utility/symbols.hpp | 6 + .../xpressive/detail/utility/tracking_ptr.hpp | 21 +- .../boost/boost/xpressive/match_results.hpp | 30 +- 3party/boost/boost/xpressive/regex_error.hpp | 2 +- .../xpressive/traits/cpp_regex_traits.hpp | 6 +- 1966 files changed, 195695 insertions(+), 23932 deletions(-) create mode 100644 3party/boost/boost/algorithm/cxx14/equal.hpp create mode 100644 3party/boost/boost/algorithm/cxx14/is_permutation.hpp create mode 100644 3party/boost/boost/algorithm/cxx14/mismatch.hpp create mode 100644 3party/boost/boost/algorithm/gather.hpp create mode 100644 3party/boost/boost/asio/async_result.hpp create mode 100644 3party/boost/boost/asio/coroutine.hpp create mode 100644 3party/boost/boost/asio/detail/addressof.hpp create mode 100644 3party/boost/boost/asio/detail/assert.hpp create mode 100644 3party/boost/boost/asio/detail/cstdint.hpp create mode 100644 3party/boost/boost/asio/detail/function.hpp create mode 100644 3party/boost/boost/asio/detail/handler_cont_helpers.hpp delete mode 100644 3party/boost/boost/asio/detail/impl/timer_queue.ipp create mode 100644 3party/boost/boost/asio/detail/limits.hpp create mode 100644 3party/boost/boost/asio/detail/task_io_service_thread_info.hpp create mode 100644 3party/boost/boost/asio/detail/thread_info_base.hpp create mode 100644 3party/boost/boost/asio/detail/throw_exception.hpp create mode 100644 3party/boost/boost/asio/detail/type_traits.hpp create mode 100644 3party/boost/boost/asio/detail/win_iocp_thread_info.hpp create mode 100644 3party/boost/boost/asio/generic/basic_endpoint.hpp create mode 100644 3party/boost/boost/asio/generic/datagram_protocol.hpp create mode 100644 3party/boost/boost/asio/generic/detail/endpoint.hpp create mode 100644 3party/boost/boost/asio/generic/detail/impl/endpoint.ipp create mode 100644 3party/boost/boost/asio/generic/raw_protocol.hpp create mode 100644 3party/boost/boost/asio/generic/seq_packet_protocol.hpp create mode 100644 3party/boost/boost/asio/generic/stream_protocol.hpp create mode 100644 3party/boost/boost/asio/handler_continuation_hook.hpp create mode 100644 3party/boost/boost/asio/handler_type.hpp create mode 100644 3party/boost/boost/asio/impl/handler_alloc_hook.ipp create mode 100644 3party/boost/boost/asio/impl/spawn.hpp create mode 100644 3party/boost/boost/asio/impl/use_future.hpp create mode 100644 3party/boost/boost/asio/spawn.hpp create mode 100644 3party/boost/boost/asio/ssl/detail/buffered_handshake_op.hpp create mode 100644 3party/boost/boost/asio/unyield.hpp create mode 100644 3party/boost/boost/asio/use_future.hpp create mode 100644 3party/boost/boost/asio/yield.hpp create mode 100644 3party/boost/boost/atomic.hpp create mode 100644 3party/boost/boost/atomic/atomic.hpp create mode 100644 3party/boost/boost/atomic/detail/base.hpp create mode 100644 3party/boost/boost/atomic/detail/cas32strong.hpp create mode 100644 3party/boost/boost/atomic/detail/cas32weak.hpp create mode 100644 3party/boost/boost/atomic/detail/cas64strong.hpp create mode 100644 3party/boost/boost/atomic/detail/config.hpp create mode 100644 3party/boost/boost/atomic/detail/gcc-alpha.hpp create mode 100644 3party/boost/boost/atomic/detail/gcc-armv6plus.hpp create mode 100644 3party/boost/boost/atomic/detail/gcc-cas.hpp create mode 100644 3party/boost/boost/atomic/detail/gcc-ppc.hpp create mode 100644 3party/boost/boost/atomic/detail/gcc-sparcv9.hpp create mode 100644 3party/boost/boost/atomic/detail/gcc-x86.hpp create mode 100644 3party/boost/boost/atomic/detail/generic-cas.hpp create mode 100644 3party/boost/boost/atomic/detail/interlocked.hpp create mode 100644 3party/boost/boost/atomic/detail/linux-arm.hpp create mode 100644 3party/boost/boost/atomic/detail/lockpool.hpp create mode 100644 3party/boost/boost/atomic/detail/platform.hpp create mode 100644 3party/boost/boost/atomic/detail/type-classification.hpp create mode 100644 3party/boost/boost/atomic/detail/windows.hpp create mode 100644 3party/boost/boost/container/detail/allocator_version_traits.hpp create mode 100644 3party/boost/boost/container/static_vector.hpp create mode 100644 3party/boost/boost/container/throw_exception.hpp create mode 100644 3party/boost/boost/context/detail/fcontext_sparc.hpp delete mode 100644 3party/boost/boost/context/simple_stack_allocator.hpp create mode 100644 3party/boost/boost/coroutine/all.hpp create mode 100644 3party/boost/boost/coroutine/attributes.hpp rename 3party/boost/boost/{context/utils.hpp => coroutine/checkpoint.hpp} (52%) create mode 100644 3party/boost/boost/coroutine/coroutine.hpp create mode 100644 3party/boost/boost/coroutine/detail/config.hpp create mode 100644 3party/boost/boost/coroutine/detail/coroutine_context.hpp create mode 100644 3party/boost/boost/coroutine/detail/exceptions.hpp create mode 100644 3party/boost/boost/coroutine/detail/flags.hpp create mode 100644 3party/boost/boost/coroutine/detail/holder.hpp create mode 100644 3party/boost/boost/coroutine/detail/param.hpp create mode 100644 3party/boost/boost/coroutine/detail/segmented_stack_allocator.hpp rename 3party/boost/boost/{context/guarded_stack_allocator.hpp => coroutine/detail/standard_stack_allocator.hpp} (58%) create mode 100644 3party/boost/boost/coroutine/flags.hpp create mode 100644 3party/boost/boost/coroutine/stack_allocator.hpp create mode 100644 3party/boost/boost/coroutine/stack_context.hpp create mode 100644 3party/boost/boost/coroutine/v1/coroutine.hpp create mode 100644 3party/boost/boost/coroutine/v1/detail/arg.hpp create mode 100644 3party/boost/boost/coroutine/v1/detail/coroutine_base.hpp create mode 100644 3party/boost/boost/coroutine/v1/detail/coroutine_base_resume.hpp create mode 100644 3party/boost/boost/coroutine/v1/detail/coroutine_caller.hpp create mode 100644 3party/boost/boost/coroutine/v1/detail/coroutine_get.hpp create mode 100644 3party/boost/boost/coroutine/v1/detail/coroutine_object.hpp create mode 100644 3party/boost/boost/coroutine/v1/detail/coroutine_object_result_0.ipp create mode 100644 3party/boost/boost/coroutine/v1/detail/coroutine_object_result_1.ipp create mode 100644 3party/boost/boost/coroutine/v1/detail/coroutine_object_result_arity.ipp create mode 100644 3party/boost/boost/coroutine/v1/detail/coroutine_object_void_0.ipp create mode 100644 3party/boost/boost/coroutine/v1/detail/coroutine_object_void_1.ipp create mode 100644 3party/boost/boost/coroutine/v1/detail/coroutine_object_void_arity.ipp create mode 100644 3party/boost/boost/coroutine/v1/detail/coroutine_op.hpp create mode 100644 3party/boost/boost/coroutine/v2/detail/coroutine_object.hpp create mode 100644 3party/boost/boost/coroutine/v2/pull_corotuine.hpp create mode 100644 3party/boost/boost/coroutine/v2/push_coroutine.hpp create mode 100644 3party/boost/boost/detail/atomic_redef_macros.hpp create mode 100644 3party/boost/boost/detail/atomic_undef_macros.hpp delete mode 100644 3party/boost/boost/functional/detail/container_fwd.hpp delete mode 100644 3party/boost/boost/functional/hash/detail/container_fwd_0x.hpp create mode 100644 3party/boost/boost/geometry/geometries/variant.hpp create mode 100644 3party/boost/boost/geometry/index/adaptors/query.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/bounds.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/comparable_distance_centroid.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/comparable_distance_far.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/comparable_distance_near.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/content.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/diff_abs.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/intersection_content.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/is_valid.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/margin.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/minmaxdist.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/path_intersection.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/segment_intersection.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/smallest_for_indexable.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/sum_for_indexable.hpp create mode 100644 3party/boost/boost/geometry/index/detail/algorithms/union_content.hpp create mode 100644 3party/boost/boost/geometry/index/detail/assert.hpp create mode 100644 3party/boost/boost/geometry/index/detail/config_begin.hpp create mode 100644 3party/boost/boost/geometry/index/detail/config_end.hpp create mode 100644 3party/boost/boost/geometry/index/detail/distance_predicates.hpp create mode 100644 3party/boost/boost/geometry/index/detail/exception.hpp create mode 100644 3party/boost/boost/geometry/index/detail/meta.hpp create mode 100644 3party/boost/boost/geometry/index/detail/predicates.hpp create mode 100644 3party/boost/boost/geometry/index/detail/pushable_array.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/adaptors.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/kmeans/kmeans.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/kmeans/split.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/linear/linear.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/node/auto_deallocator.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/node/concept.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/node/dynamic_visitor.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/node/node.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/node/node_auto_ptr.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/node/node_d_mem_dynamic.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/node/node_d_mem_static.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/node/node_s_mem_dynamic.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/node/node_s_mem_static.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/node/pairs.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/node/static_visitor.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/options.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/pack_create.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/quadratic/quadratic.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/query_iterators.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/rstar/insert.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/rstar/rstar.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/utilities/are_boxes_ok.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/utilities/are_levels_ok.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/utilities/gl_draw.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/utilities/print.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/utilities/statistics.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/utilities/view.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/visitors/children_box.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/visitors/copy.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/visitors/count.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/visitors/destroy.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/visitors/distance_query.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/visitors/insert.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/visitors/is_leaf.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/visitors/remove.hpp create mode 100644 3party/boost/boost/geometry/index/detail/rtree/visitors/spatial_query.hpp create mode 100644 3party/boost/boost/geometry/index/detail/tags.hpp create mode 100644 3party/boost/boost/geometry/index/detail/translator.hpp create mode 100644 3party/boost/boost/geometry/index/detail/tuples.hpp create mode 100644 3party/boost/boost/geometry/index/detail/type_erased_iterators.hpp create mode 100644 3party/boost/boost/geometry/index/detail/utilities.hpp create mode 100644 3party/boost/boost/geometry/index/detail/varray.hpp create mode 100644 3party/boost/boost/geometry/index/detail/varray_detail.hpp create mode 100644 3party/boost/boost/geometry/index/distance_predicates.hpp create mode 100644 3party/boost/boost/geometry/index/equal_to.hpp create mode 100644 3party/boost/boost/geometry/index/indexable.hpp create mode 100644 3party/boost/boost/geometry/index/inserter.hpp create mode 100644 3party/boost/boost/geometry/index/parameters.hpp create mode 100644 3party/boost/boost/geometry/index/predicates.hpp create mode 100644 3party/boost/boost/geometry/index/rtree.hpp create mode 100644 3party/boost/boost/geometry/io/svg/svg_mapper.hpp create mode 100644 3party/boost/boost/geometry/io/svg/write_svg.hpp create mode 100644 3party/boost/boost/geometry/io/svg/write_svg_multi.hpp create mode 100644 3party/boost/boost/geometry/multi/algorithms/disjoint.hpp create mode 100644 3party/boost/boost/graph/detail/is_distributed_selector.hpp create mode 100644 3party/boost/boost/graph/maximum_adjacency_search.hpp create mode 100755 3party/boost/boost/graph/vf2_sub_graph_iso.hpp create mode 100644 3party/boost/boost/interprocess/detail/config_external_begin.hpp create mode 100644 3party/boost/boost/interprocess/detail/config_external_end.hpp create mode 100644 3party/boost/boost/lockfree/detail/atomic.hpp create mode 100644 3party/boost/boost/lockfree/detail/branch_hints.hpp create mode 100644 3party/boost/boost/lockfree/detail/copy_payload.hpp create mode 100644 3party/boost/boost/lockfree/detail/freelist.hpp create mode 100644 3party/boost/boost/lockfree/detail/parameter.hpp create mode 100644 3party/boost/boost/lockfree/detail/prefix.hpp create mode 100644 3party/boost/boost/lockfree/detail/tagged_ptr.hpp create mode 100644 3party/boost/boost/lockfree/detail/tagged_ptr_dcas.hpp create mode 100644 3party/boost/boost/lockfree/detail/tagged_ptr_ptrcompression.hpp create mode 100644 3party/boost/boost/lockfree/policies.hpp create mode 100644 3party/boost/boost/lockfree/queue.hpp create mode 100644 3party/boost/boost/lockfree/spsc_queue.hpp create mode 100644 3party/boost/boost/lockfree/stack.hpp create mode 100644 3party/boost/boost/log/attributes.hpp create mode 100644 3party/boost/boost/log/attributes/attribute.hpp create mode 100644 3party/boost/boost/log/attributes/attribute_cast.hpp create mode 100644 3party/boost/boost/log/attributes/attribute_name.hpp create mode 100644 3party/boost/boost/log/attributes/attribute_set.hpp create mode 100644 3party/boost/boost/log/attributes/attribute_value.hpp create mode 100644 3party/boost/boost/log/attributes/attribute_value_impl.hpp create mode 100644 3party/boost/boost/log/attributes/attribute_value_set.hpp create mode 100644 3party/boost/boost/log/attributes/clock.hpp create mode 100644 3party/boost/boost/log/attributes/constant.hpp create mode 100644 3party/boost/boost/log/attributes/counter.hpp create mode 100644 3party/boost/boost/log/attributes/current_process_id.hpp create mode 100644 3party/boost/boost/log/attributes/current_process_name.hpp create mode 100644 3party/boost/boost/log/attributes/current_thread_id.hpp create mode 100644 3party/boost/boost/log/attributes/fallback_policy.hpp create mode 100644 3party/boost/boost/log/attributes/fallback_policy_fwd.hpp create mode 100644 3party/boost/boost/log/attributes/function.hpp create mode 100644 3party/boost/boost/log/attributes/mutable_constant.hpp create mode 100644 3party/boost/boost/log/attributes/named_scope.hpp create mode 100644 3party/boost/boost/log/attributes/scoped_attribute.hpp create mode 100644 3party/boost/boost/log/attributes/time_traits.hpp create mode 100644 3party/boost/boost/log/attributes/timer.hpp create mode 100644 3party/boost/boost/log/attributes/value_extraction.hpp create mode 100644 3party/boost/boost/log/attributes/value_extraction_fwd.hpp create mode 100644 3party/boost/boost/log/attributes/value_visitation.hpp create mode 100644 3party/boost/boost/log/attributes/value_visitation_fwd.hpp create mode 100644 3party/boost/boost/log/common.hpp create mode 100644 3party/boost/boost/log/core.hpp create mode 100644 3party/boost/boost/log/core/core.hpp create mode 100644 3party/boost/boost/log/core/record.hpp create mode 100644 3party/boost/boost/log/core/record_view.hpp create mode 100644 3party/boost/boost/log/detail/alignas.hpp create mode 100644 3party/boost/boost/log/detail/asio_fwd.hpp create mode 100644 3party/boost/boost/log/detail/attachable_sstream_buf.hpp create mode 100644 3party/boost/boost/log/detail/attr_output_impl.hpp create mode 100644 3party/boost/boost/log/detail/attr_output_terminal.hpp create mode 100644 3party/boost/boost/log/detail/attribute_get_value_impl.hpp create mode 100644 3party/boost/boost/log/detail/attribute_predicate.hpp create mode 100644 3party/boost/boost/log/detail/cleanup_scope_guard.hpp create mode 100644 3party/boost/boost/log/detail/code_conversion.hpp create mode 100644 3party/boost/boost/log/detail/config.hpp create mode 100644 3party/boost/boost/log/detail/custom_terminal_spec.hpp create mode 100644 3party/boost/boost/log/detail/date_time_fmt_gen_traits_fwd.hpp create mode 100644 3party/boost/boost/log/detail/date_time_format_parser.hpp create mode 100644 3party/boost/boost/log/detail/decomposed_time.hpp create mode 100644 3party/boost/boost/log/detail/deduce_char_type.hpp create mode 100644 3party/boost/boost/log/detail/default_attribute_names.hpp create mode 100644 3party/boost/boost/log/detail/embedded_string_type.hpp create mode 100644 3party/boost/boost/log/detail/event.hpp create mode 100644 3party/boost/boost/log/detail/fake_mutex.hpp create mode 100644 3party/boost/boost/log/detail/footer.hpp create mode 100644 3party/boost/boost/log/detail/format.hpp create mode 100644 3party/boost/boost/log/detail/function_traits.hpp create mode 100644 3party/boost/boost/log/detail/generate_overloads.hpp create mode 100644 3party/boost/boost/log/detail/header.hpp create mode 100644 3party/boost/boost/log/detail/id.hpp create mode 100644 3party/boost/boost/log/detail/intptr_t.hpp create mode 100644 3party/boost/boost/log/detail/light_function.hpp create mode 100644 3party/boost/boost/log/detail/light_function_pp.hpp create mode 100644 3party/boost/boost/log/detail/light_rw_mutex.hpp create mode 100644 3party/boost/boost/log/detail/locking_ptr.hpp create mode 100644 3party/boost/boost/log/detail/locks.hpp create mode 100644 3party/boost/boost/log/detail/named_scope_fmt_pp.hpp create mode 100644 3party/boost/boost/log/detail/native_typeof.hpp create mode 100644 3party/boost/boost/log/detail/parameter_tools.hpp create mode 100644 3party/boost/boost/log/detail/pp_identity.hpp create mode 100644 3party/boost/boost/log/detail/process_id.hpp create mode 100644 3party/boost/boost/log/detail/setup_config.hpp create mode 100644 3party/boost/boost/log/detail/singleton.hpp create mode 100644 3party/boost/boost/log/detail/sink_init_helpers.hpp create mode 100644 3party/boost/boost/log/detail/snprintf.hpp create mode 100644 3party/boost/boost/log/detail/spin_mutex.hpp create mode 100644 3party/boost/boost/log/detail/tagged_integer.hpp create mode 100644 3party/boost/boost/log/detail/thread_id.hpp create mode 100644 3party/boost/boost/log/detail/thread_specific.hpp create mode 100644 3party/boost/boost/log/detail/threadsafe_queue.hpp create mode 100644 3party/boost/boost/log/detail/timestamp.hpp create mode 100644 3party/boost/boost/log/detail/trivial_keyword.hpp create mode 100644 3party/boost/boost/log/detail/unary_function_terminal.hpp create mode 100644 3party/boost/boost/log/detail/unhandled_exception_count.hpp create mode 100644 3party/boost/boost/log/detail/value_ref_visitation.hpp create mode 100644 3party/boost/boost/log/detail/visible_type.hpp create mode 100644 3party/boost/boost/log/exceptions.hpp create mode 100644 3party/boost/boost/log/expressions.hpp create mode 100644 3party/boost/boost/log/expressions/attr.hpp create mode 100644 3party/boost/boost/log/expressions/attr_fwd.hpp create mode 100644 3party/boost/boost/log/expressions/filter.hpp create mode 100644 3party/boost/boost/log/expressions/formatter.hpp create mode 100644 3party/boost/boost/log/expressions/formatters.hpp create mode 100644 3party/boost/boost/log/expressions/formatters/c_decorator.hpp create mode 100644 3party/boost/boost/log/expressions/formatters/char_decorator.hpp create mode 100644 3party/boost/boost/log/expressions/formatters/csv_decorator.hpp create mode 100644 3party/boost/boost/log/expressions/formatters/date_time.hpp create mode 100644 3party/boost/boost/log/expressions/formatters/format.hpp create mode 100644 3party/boost/boost/log/expressions/formatters/if.hpp create mode 100644 3party/boost/boost/log/expressions/formatters/named_scope.hpp create mode 100644 3party/boost/boost/log/expressions/formatters/stream.hpp create mode 100644 3party/boost/boost/log/expressions/formatters/wrap_formatter.hpp create mode 100644 3party/boost/boost/log/expressions/formatters/xml_decorator.hpp create mode 100644 3party/boost/boost/log/expressions/is_keyword_descriptor.hpp create mode 100644 3party/boost/boost/log/expressions/keyword.hpp create mode 100644 3party/boost/boost/log/expressions/keyword_fwd.hpp create mode 100644 3party/boost/boost/log/expressions/message.hpp create mode 100644 3party/boost/boost/log/expressions/predicates.hpp create mode 100644 3party/boost/boost/log/expressions/predicates/begins_with.hpp create mode 100644 3party/boost/boost/log/expressions/predicates/channel_severity_filter.hpp create mode 100644 3party/boost/boost/log/expressions/predicates/contains.hpp create mode 100644 3party/boost/boost/log/expressions/predicates/ends_with.hpp create mode 100644 3party/boost/boost/log/expressions/predicates/has_attr.hpp create mode 100644 3party/boost/boost/log/expressions/predicates/is_debugger_present.hpp create mode 100644 3party/boost/boost/log/expressions/predicates/is_in_range.hpp create mode 100644 3party/boost/boost/log/expressions/predicates/matches.hpp create mode 100644 3party/boost/boost/log/expressions/record.hpp create mode 100644 3party/boost/boost/log/keywords/auto_flush.hpp create mode 100644 3party/boost/boost/log/keywords/channel.hpp create mode 100644 3party/boost/boost/log/keywords/delimiter.hpp create mode 100644 3party/boost/boost/log/keywords/depth.hpp create mode 100644 3party/boost/boost/log/keywords/facility.hpp create mode 100644 3party/boost/boost/log/keywords/file_name.hpp create mode 100644 3party/boost/boost/log/keywords/filter.hpp create mode 100644 3party/boost/boost/log/keywords/format.hpp create mode 100644 3party/boost/boost/log/keywords/ident.hpp create mode 100644 3party/boost/boost/log/keywords/ip_version.hpp create mode 100644 3party/boost/boost/log/keywords/iteration.hpp create mode 100644 3party/boost/boost/log/keywords/log_name.hpp create mode 100644 3party/boost/boost/log/keywords/log_source.hpp create mode 100644 3party/boost/boost/log/keywords/max_size.hpp create mode 100644 3party/boost/boost/log/keywords/message_file.hpp create mode 100644 3party/boost/boost/log/keywords/min_free_space.hpp create mode 100644 3party/boost/boost/log/keywords/open_mode.hpp create mode 100644 3party/boost/boost/log/keywords/order.hpp create mode 100644 3party/boost/boost/log/keywords/ordering_window.hpp create mode 100644 3party/boost/boost/log/keywords/registration.hpp create mode 100644 3party/boost/boost/log/keywords/rotation_size.hpp create mode 100644 3party/boost/boost/log/keywords/scan_method.hpp create mode 100644 3party/boost/boost/log/keywords/severity.hpp create mode 100644 3party/boost/boost/log/keywords/start_thread.hpp create mode 100644 3party/boost/boost/log/keywords/target.hpp create mode 100644 3party/boost/boost/log/keywords/time_based_rotation.hpp create mode 100644 3party/boost/boost/log/keywords/use_impl.hpp create mode 100644 3party/boost/boost/log/sinks.hpp create mode 100644 3party/boost/boost/log/sinks/async_frontend.hpp create mode 100644 3party/boost/boost/log/sinks/attribute_mapping.hpp create mode 100644 3party/boost/boost/log/sinks/basic_sink_backend.hpp create mode 100644 3party/boost/boost/log/sinks/basic_sink_frontend.hpp create mode 100644 3party/boost/boost/log/sinks/block_on_overflow.hpp create mode 100644 3party/boost/boost/log/sinks/bounded_fifo_queue.hpp create mode 100644 3party/boost/boost/log/sinks/bounded_ordering_queue.hpp create mode 100644 3party/boost/boost/log/sinks/debug_output_backend.hpp create mode 100644 3party/boost/boost/log/sinks/drop_on_overflow.hpp create mode 100644 3party/boost/boost/log/sinks/event_log_backend.hpp create mode 100644 3party/boost/boost/log/sinks/event_log_constants.hpp create mode 100644 3party/boost/boost/log/sinks/frontend_requirements.hpp create mode 100644 3party/boost/boost/log/sinks/sink.hpp create mode 100644 3party/boost/boost/log/sinks/sync_frontend.hpp create mode 100644 3party/boost/boost/log/sinks/syslog_backend.hpp create mode 100644 3party/boost/boost/log/sinks/syslog_constants.hpp create mode 100644 3party/boost/boost/log/sinks/text_file_backend.hpp create mode 100644 3party/boost/boost/log/sinks/text_multifile_backend.hpp create mode 100644 3party/boost/boost/log/sinks/text_ostream_backend.hpp create mode 100644 3party/boost/boost/log/sinks/unbounded_fifo_queue.hpp create mode 100644 3party/boost/boost/log/sinks/unbounded_ordering_queue.hpp create mode 100644 3party/boost/boost/log/sinks/unlocked_frontend.hpp create mode 100644 3party/boost/boost/log/sources/basic_logger.hpp create mode 100644 3party/boost/boost/log/sources/channel_feature.hpp create mode 100644 3party/boost/boost/log/sources/channel_logger.hpp create mode 100644 3party/boost/boost/log/sources/exception_handler_feature.hpp create mode 100644 3party/boost/boost/log/sources/features.hpp create mode 100644 3party/boost/boost/log/sources/global_logger_storage.hpp create mode 100644 3party/boost/boost/log/sources/logger.hpp create mode 100644 3party/boost/boost/log/sources/record_ostream.hpp create mode 100644 3party/boost/boost/log/sources/severity_channel_logger.hpp create mode 100644 3party/boost/boost/log/sources/severity_feature.hpp create mode 100644 3party/boost/boost/log/sources/severity_logger.hpp create mode 100644 3party/boost/boost/log/sources/threading_models.hpp create mode 100644 3party/boost/boost/log/support/date_time.hpp create mode 100644 3party/boost/boost/log/support/exception.hpp create mode 100644 3party/boost/boost/log/support/regex.hpp create mode 100644 3party/boost/boost/log/support/spirit_classic.hpp create mode 100644 3party/boost/boost/log/support/spirit_qi.hpp create mode 100644 3party/boost/boost/log/support/xpressive.hpp create mode 100644 3party/boost/boost/log/trivial.hpp create mode 100644 3party/boost/boost/log/utility/empty_deleter.hpp create mode 100644 3party/boost/boost/log/utility/exception_handler.hpp create mode 100644 3party/boost/boost/log/utility/explicit_operator_bool.hpp create mode 100644 3party/boost/boost/log/utility/formatting_ostream.hpp create mode 100644 3party/boost/boost/log/utility/formatting_ostream_fwd.hpp create mode 100644 3party/boost/boost/log/utility/functional.hpp create mode 100644 3party/boost/boost/log/utility/functional/as_action.hpp create mode 100644 3party/boost/boost/log/utility/functional/begins_with.hpp create mode 100644 3party/boost/boost/log/utility/functional/bind.hpp create mode 100644 3party/boost/boost/log/utility/functional/bind_assign.hpp create mode 100644 3party/boost/boost/log/utility/functional/bind_output.hpp create mode 100644 3party/boost/boost/log/utility/functional/bind_to_log.hpp create mode 100644 3party/boost/boost/log/utility/functional/contains.hpp create mode 100644 3party/boost/boost/log/utility/functional/ends_with.hpp create mode 100644 3party/boost/boost/log/utility/functional/fun_ref.hpp create mode 100644 3party/boost/boost/log/utility/functional/in_range.hpp create mode 100644 3party/boost/boost/log/utility/functional/logical.hpp create mode 100644 3party/boost/boost/log/utility/functional/matches.hpp create mode 100644 3party/boost/boost/log/utility/functional/nop.hpp create mode 100644 3party/boost/boost/log/utility/functional/save_result.hpp create mode 100644 3party/boost/boost/log/utility/intrusive_ref_counter.hpp create mode 100644 3party/boost/boost/log/utility/manipulators.hpp create mode 100644 3party/boost/boost/log/utility/manipulators/add_value.hpp create mode 100644 3party/boost/boost/log/utility/manipulators/dump.hpp create mode 100644 3party/boost/boost/log/utility/manipulators/to_log.hpp create mode 100644 3party/boost/boost/log/utility/once_block.hpp create mode 100644 3party/boost/boost/log/utility/record_ordering.hpp create mode 100644 3party/boost/boost/log/utility/setup.hpp create mode 100644 3party/boost/boost/log/utility/setup/common_attributes.hpp create mode 100644 3party/boost/boost/log/utility/setup/console.hpp create mode 100644 3party/boost/boost/log/utility/setup/file.hpp create mode 100644 3party/boost/boost/log/utility/setup/filter_parser.hpp create mode 100644 3party/boost/boost/log/utility/setup/formatter_parser.hpp create mode 100644 3party/boost/boost/log/utility/setup/from_settings.hpp create mode 100644 3party/boost/boost/log/utility/setup/from_stream.hpp create mode 100644 3party/boost/boost/log/utility/setup/settings.hpp create mode 100644 3party/boost/boost/log/utility/setup/settings_parser.hpp create mode 100644 3party/boost/boost/log/utility/strictest_lock.hpp create mode 100644 3party/boost/boost/log/utility/string_literal.hpp create mode 100644 3party/boost/boost/log/utility/string_literal_fwd.hpp create mode 100644 3party/boost/boost/log/utility/type_dispatch/date_time_types.hpp create mode 100644 3party/boost/boost/log/utility/type_dispatch/dynamic_type_dispatcher.hpp create mode 100644 3party/boost/boost/log/utility/type_dispatch/standard_types.hpp create mode 100644 3party/boost/boost/log/utility/type_dispatch/static_type_dispatcher.hpp create mode 100644 3party/boost/boost/log/utility/type_dispatch/type_dispatcher.hpp create mode 100644 3party/boost/boost/log/utility/type_info_wrapper.hpp create mode 100644 3party/boost/boost/log/utility/unique_identifier_name.hpp create mode 100644 3party/boost/boost/log/utility/unused_variable.hpp create mode 100644 3party/boost/boost/log/utility/value_ref.hpp create mode 100644 3party/boost/boost/log/utility/value_ref_fwd.hpp create mode 100644 3party/boost/boost/math/special_functions/detail/airy_ai_bi_zero.hpp create mode 100644 3party/boost/boost/math/special_functions/detail/bessel_jy_zero.hpp create mode 100644 3party/boost/boost/move/algorithm.hpp create mode 100644 3party/boost/boost/move/core.hpp create mode 100644 3party/boost/boost/move/detail/config_begin.hpp create mode 100644 3party/boost/boost/move/detail/config_end.hpp create mode 100644 3party/boost/boost/move/detail/meta_utils.hpp rename 3party/boost/boost/move/{ => detail}/move_helpers.hpp (93%) create mode 100644 3party/boost/boost/move/iterator.hpp create mode 100644 3party/boost/boost/move/traits.hpp create mode 100644 3party/boost/boost/move/utility.hpp create mode 100644 3party/boost/boost/multiprecision/concepts/mp_number_archetypes.hpp create mode 100644 3party/boost/boost/multiprecision/cpp_dec_float.hpp create mode 100644 3party/boost/boost/multiprecision/cpp_int.hpp create mode 100644 3party/boost/boost/multiprecision/cpp_int/add.hpp create mode 100644 3party/boost/boost/multiprecision/cpp_int/bitwise.hpp create mode 100644 3party/boost/boost/multiprecision/cpp_int/checked.hpp create mode 100644 3party/boost/boost/multiprecision/cpp_int/comparison.hpp create mode 100644 3party/boost/boost/multiprecision/cpp_int/cpp_int_config.hpp create mode 100644 3party/boost/boost/multiprecision/cpp_int/divide.hpp create mode 100644 3party/boost/boost/multiprecision/cpp_int/limits.hpp create mode 100644 3party/boost/boost/multiprecision/cpp_int/literals.hpp create mode 100644 3party/boost/boost/multiprecision/cpp_int/misc.hpp create mode 100644 3party/boost/boost/multiprecision/cpp_int/multiply.hpp create mode 100644 3party/boost/boost/multiprecision/cpp_int/value_pack.hpp create mode 100644 3party/boost/boost/multiprecision/debug_adaptor.hpp create mode 100644 3party/boost/boost/multiprecision/detail/big_lanczos.hpp create mode 100644 3party/boost/boost/multiprecision/detail/default_ops.hpp create mode 100644 3party/boost/boost/multiprecision/detail/digits.hpp create mode 100644 3party/boost/boost/multiprecision/detail/dynamic_array.hpp create mode 100644 3party/boost/boost/multiprecision/detail/et_ops.hpp create mode 100644 3party/boost/boost/multiprecision/detail/float_string_cvt.hpp create mode 100644 3party/boost/boost/multiprecision/detail/functions/constants.hpp create mode 100644 3party/boost/boost/multiprecision/detail/functions/pow.hpp create mode 100644 3party/boost/boost/multiprecision/detail/functions/trig.hpp create mode 100644 3party/boost/boost/multiprecision/detail/generic_interconvert.hpp create mode 100644 3party/boost/boost/multiprecision/detail/integer_ops.hpp create mode 100644 3party/boost/boost/multiprecision/detail/no_et_ops.hpp create mode 100644 3party/boost/boost/multiprecision/detail/number_base.hpp create mode 100644 3party/boost/boost/multiprecision/detail/number_compare.hpp create mode 100644 3party/boost/boost/multiprecision/detail/rebind.hpp create mode 100644 3party/boost/boost/multiprecision/detail/ublas_interop.hpp create mode 100644 3party/boost/boost/multiprecision/detail/utype_helper.hpp create mode 100644 3party/boost/boost/multiprecision/float128.hpp create mode 100644 3party/boost/boost/multiprecision/gmp.hpp create mode 100644 3party/boost/boost/multiprecision/integer.hpp create mode 100644 3party/boost/boost/multiprecision/logged_adaptor.hpp create mode 100644 3party/boost/boost/multiprecision/miller_rabin.hpp create mode 100644 3party/boost/boost/multiprecision/mpfi.hpp create mode 100644 3party/boost/boost/multiprecision/mpfr.hpp create mode 100644 3party/boost/boost/multiprecision/number.hpp create mode 100644 3party/boost/boost/multiprecision/random.hpp create mode 100644 3party/boost/boost/multiprecision/rational_adaptor.hpp create mode 100644 3party/boost/boost/multiprecision/tommath.hpp create mode 100644 3party/boost/boost/multiprecision/traits/explicit_conversion.hpp create mode 100644 3party/boost/boost/multiprecision/traits/extract_exponent_type.hpp create mode 100644 3party/boost/boost/multiprecision/traits/is_restricted_conversion.hpp create mode 100644 3party/boost/boost/numeric/odeint.hpp create mode 100644 3party/boost/boost/numeric/odeint/algebra/array_algebra.hpp create mode 100644 3party/boost/boost/numeric/odeint/algebra/default_operations.hpp create mode 100644 3party/boost/boost/numeric/odeint/algebra/detail/for_each.hpp create mode 100644 3party/boost/boost/numeric/odeint/algebra/detail/macros.hpp create mode 100644 3party/boost/boost/numeric/odeint/algebra/detail/reduce.hpp create mode 100644 3party/boost/boost/numeric/odeint/algebra/fusion_algebra.hpp create mode 100644 3party/boost/boost/numeric/odeint/algebra/range_algebra.hpp create mode 100644 3party/boost/boost/numeric/odeint/algebra/vector_space_algebra.hpp create mode 100644 3party/boost/boost/numeric/odeint/config.hpp create mode 100644 3party/boost/boost/numeric/odeint/external/gsl/gsl_wrapper.hpp create mode 100644 3party/boost/boost/numeric/odeint/external/mkl/mkl_operations.hpp create mode 100644 3party/boost/boost/numeric/odeint/external/mtl4/implicit_euler_mtl4.hpp create mode 100644 3party/boost/boost/numeric/odeint/external/mtl4/mtl4_resize.hpp create mode 100644 3party/boost/boost/numeric/odeint/external/thrust/thrust_algebra.hpp create mode 100644 3party/boost/boost/numeric/odeint/external/thrust/thrust_operations.hpp create mode 100644 3party/boost/boost/numeric/odeint/external/thrust/thrust_resize.hpp create mode 100644 3party/boost/boost/numeric/odeint/external/vexcl/vexcl_resize.hpp create mode 100644 3party/boost/boost/numeric/odeint/external/viennacl/viennacl_operations.hpp create mode 100644 3party/boost/boost/numeric/odeint/external/viennacl/viennacl_resize.hpp create mode 100644 3party/boost/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp create mode 100644 3party/boost/boost/numeric/odeint/integrate/detail/integrate_const.hpp create mode 100644 3party/boost/boost/numeric/odeint/integrate/detail/integrate_n_steps.hpp create mode 100644 3party/boost/boost/numeric/odeint/integrate/detail/integrate_times.hpp create mode 100644 3party/boost/boost/numeric/odeint/integrate/integrate.hpp create mode 100644 3party/boost/boost/numeric/odeint/integrate/integrate_adaptive.hpp create mode 100644 3party/boost/boost/numeric/odeint/integrate/integrate_const.hpp create mode 100644 3party/boost/boost/numeric/odeint/integrate/integrate_n_steps.hpp create mode 100644 3party/boost/boost/numeric/odeint/integrate/integrate_times.hpp create mode 100644 3party/boost/boost/numeric/odeint/integrate/null_observer.hpp create mode 100644 3party/boost/boost/numeric/odeint/integrate/observer_collection.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/adams_bashforth.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/adams_moulton.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/base/algebra_stepper_base.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/base/explicit_error_stepper_base.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/base/explicit_error_stepper_fsal_base.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/base/explicit_stepper_base.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/bulirsch_stoer.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/bulirsch_stoer_dense_out.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/controlled_step_result.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/detail/adams_bashforth_call_algebra.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/detail/adams_moulton_call_algebra.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/detail/adams_moulton_coefficients.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/detail/generic_rk_algorithm.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/detail/generic_rk_call_algebra.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/detail/generic_rk_operations.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/detail/rotating_buffer.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/euler.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/explicit_error_generic_rk.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/explicit_generic_rk.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/generation.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/generation/generation_controlled_runge_kutta.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/generation/generation_rosenbrock4.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54_classic.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/generation/generation_runge_kutta_dopri5.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/generation/generation_runge_kutta_fehlberg78.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/generation/make_controlled.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/generation/make_dense_output.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/implicit_euler.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/modified_midpoint.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/rosenbrock4.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/runge_kutta4.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/runge_kutta4_classic.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/runge_kutta_cash_karp54_classic.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/runge_kutta_dopri5.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/runge_kutta_fehlberg78.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/stepper_categories.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/symplectic_euler.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/bind.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/copy.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/detail/is_range.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/detail/less_with_sign.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/is_pair.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/is_resizeable.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/resize.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/resizer.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/same_instance.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/same_size.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/state_wrapper.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/ublas_wrapper.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/unit_helper.hpp create mode 100644 3party/boost/boost/numeric/odeint/util/unwrap_reference.hpp create mode 100644 3party/boost/boost/numeric/odeint/version.hpp delete mode 100644 3party/boost/boost/polygon/detail/transform_detail.hpp delete mode 100644 3party/boost/boost/polygon/point_3d_concept.hpp delete mode 100644 3party/boost/boost/polygon/point_3d_data.hpp delete mode 100644 3party/boost/boost/polygon/point_3d_traits.hpp create mode 100644 3party/boost/boost/property_map/compose_property_map.hpp create mode 100644 3party/boost/boost/smart_ptr/allocate_shared_array.hpp create mode 100644 3party/boost/boost/smart_ptr/detail/allocate_array_helper.hpp create mode 100644 3party/boost/boost/smart_ptr/detail/array_deleter.hpp create mode 100644 3party/boost/boost/smart_ptr/detail/array_traits.hpp create mode 100644 3party/boost/boost/smart_ptr/detail/array_utility.hpp create mode 100644 3party/boost/boost/smart_ptr/detail/make_array_helper.hpp create mode 100644 3party/boost/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp create mode 100644 3party/boost/boost/smart_ptr/detail/sp_forward.hpp create mode 100644 3party/boost/boost/smart_ptr/detail/sp_if_array.hpp create mode 100644 3party/boost/boost/smart_ptr/detail/sp_nullptr_t.hpp create mode 100644 3party/boost/boost/smart_ptr/enable_shared_from_raw.hpp delete mode 100644 3party/boost/boost/smart_ptr/enable_shared_from_this2.hpp create mode 100644 3party/boost/boost/smart_ptr/make_shared_array.hpp create mode 100644 3party/boost/boost/smart_ptr/make_shared_object.hpp create mode 100644 3party/boost/boost/thread/completion_latch.hpp create mode 100644 3party/boost/boost/thread/detail/async_func.hpp create mode 100644 3party/boost/boost/thread/detail/counter.hpp create mode 100644 3party/boost/boost/thread/detail/invoke.hpp create mode 100644 3party/boost/boost/thread/detail/is_convertible.hpp create mode 100644 3party/boost/boost/thread/detail/lockable_wrapper.hpp create mode 100644 3party/boost/boost/thread/detail/log.hpp create mode 100644 3party/boost/boost/thread/detail/make_tuple_indices.hpp create mode 100644 3party/boost/boost/thread/externally_locked.hpp create mode 100644 3party/boost/boost/thread/externally_locked_stream.hpp create mode 100644 3party/boost/boost/thread/future_error_code.hpp create mode 100644 3party/boost/boost/thread/is_locked_by_this_thread.hpp create mode 100644 3party/boost/boost/thread/latch.hpp create mode 100644 3party/boost/boost/thread/lock_algorithms.hpp create mode 100644 3party/boost/boost/thread/lock_concepts.hpp create mode 100644 3party/boost/boost/thread/lock_factories.hpp create mode 100644 3party/boost/boost/thread/lock_guard.hpp create mode 100644 3party/boost/boost/thread/lock_options.hpp create mode 100644 3party/boost/boost/thread/lock_traits.hpp create mode 100644 3party/boost/boost/thread/lock_types.hpp create mode 100644 3party/boost/boost/thread/lockable_adapter.hpp create mode 100644 3party/boost/boost/thread/lockable_concepts.hpp create mode 100644 3party/boost/boost/thread/lockable_traits.hpp create mode 100644 3party/boost/boost/thread/null_mutex.hpp create mode 100644 3party/boost/boost/thread/poly_lockable.hpp create mode 100644 3party/boost/boost/thread/poly_lockable_adapter.hpp create mode 100644 3party/boost/boost/thread/poly_shared_lockable.hpp create mode 100644 3party/boost/boost/thread/poly_shared_lockable_adapter.hpp create mode 100644 3party/boost/boost/thread/pthread/once_atomic.hpp create mode 100644 3party/boost/boost/thread/pthread/shared_mutex_assert.hpp create mode 100644 3party/boost/boost/thread/scoped_thread.hpp create mode 100644 3party/boost/boost/thread/strict_lock.hpp create mode 100644 3party/boost/boost/thread/sync_bounded_queue.hpp create mode 100644 3party/boost/boost/thread/sync_queue.hpp create mode 100644 3party/boost/boost/thread/synchronized_value.hpp create mode 100644 3party/boost/boost/thread/testable_mutex.hpp create mode 100644 3party/boost/boost/thread/thread_functors.hpp create mode 100644 3party/boost/boost/thread/thread_guard.hpp create mode 100644 3party/boost/boost/thread/thread_only.hpp create mode 100755 3party/boost/boost/thread/v2/shared_mutex.hpp create mode 100644 3party/boost/boost/thread/win32/mfc_thread_init.hpp create mode 100644 3party/boost/boost/tti/detail/dcomp_mem_fun.hpp create mode 100644 3party/boost/boost/tti/detail/dcomp_static_mem_fun.hpp create mode 100644 3party/boost/boost/tti/detail/ddata.hpp create mode 100644 3party/boost/boost/tti/detail/ddeftype.hpp create mode 100644 3party/boost/boost/tti/detail/dftclass.hpp create mode 100644 3party/boost/boost/tti/detail/dfunction.hpp create mode 100644 3party/boost/boost/tti/detail/dlambda.hpp create mode 100644 3party/boost/boost/tti/detail/dmem_data.hpp create mode 100644 3party/boost/boost/tti/detail/dmem_fun.hpp create mode 100644 3party/boost/boost/tti/detail/dmem_type.hpp create mode 100644 3party/boost/boost/tti/detail/dmetafunc.hpp create mode 100644 3party/boost/boost/tti/detail/dnotype.hpp create mode 100644 3party/boost/boost/tti/detail/dnullptr.hpp create mode 100644 3party/boost/boost/tti/detail/dplaceholder.hpp create mode 100644 3party/boost/boost/tti/detail/dptmf.hpp create mode 100644 3party/boost/boost/tti/detail/dstatic_mem_data.hpp create mode 100644 3party/boost/boost/tti/detail/dstatic_mem_fun.hpp create mode 100644 3party/boost/boost/tti/detail/dtclass.hpp create mode 100644 3party/boost/boost/tti/detail/dtemplate.hpp create mode 100644 3party/boost/boost/tti/detail/dtemplate_params.hpp create mode 100644 3party/boost/boost/tti/detail/dtfunction.hpp create mode 100644 3party/boost/boost/tti/detail/dtype.hpp create mode 100644 3party/boost/boost/tti/detail/dvm_template_params.hpp create mode 100644 3party/boost/boost/tti/gen/has_data_gen.hpp create mode 100644 3party/boost/boost/tti/gen/has_function_gen.hpp create mode 100644 3party/boost/boost/tti/gen/has_member_data_gen.hpp create mode 100644 3party/boost/boost/tti/gen/has_member_function_gen.hpp create mode 100644 3party/boost/boost/tti/gen/has_static_member_data_gen.hpp create mode 100644 3party/boost/boost/tti/gen/has_static_member_function_gen.hpp create mode 100644 3party/boost/boost/tti/gen/has_template_gen.hpp create mode 100644 3party/boost/boost/tti/gen/has_type_gen.hpp create mode 100644 3party/boost/boost/tti/gen/member_type_gen.hpp create mode 100644 3party/boost/boost/tti/gen/namespace_gen.hpp create mode 100644 3party/boost/boost/tti/has_data.hpp create mode 100644 3party/boost/boost/tti/has_function.hpp create mode 100644 3party/boost/boost/tti/has_member_data.hpp create mode 100644 3party/boost/boost/tti/has_member_function.hpp create mode 100644 3party/boost/boost/tti/has_static_member_data.hpp create mode 100644 3party/boost/boost/tti/has_static_member_function.hpp create mode 100644 3party/boost/boost/tti/has_template.hpp create mode 100644 3party/boost/boost/tti/has_type.hpp create mode 100644 3party/boost/boost/tti/member_type.hpp create mode 100644 3party/boost/boost/tti/tti.hpp create mode 100644 3party/boost/boost/type_erasure/any.hpp create mode 100644 3party/boost/boost/type_erasure/any_cast.hpp create mode 100644 3party/boost/boost/type_erasure/binding.hpp create mode 100644 3party/boost/boost/type_erasure/binding_of.hpp create mode 100644 3party/boost/boost/type_erasure/builtin.hpp create mode 100644 3party/boost/boost/type_erasure/call.hpp create mode 100644 3party/boost/boost/type_erasure/callable.hpp create mode 100644 3party/boost/boost/type_erasure/check_match.hpp create mode 100644 3party/boost/boost/type_erasure/concept_interface.hpp create mode 100644 3party/boost/boost/type_erasure/concept_of.hpp create mode 100644 3party/boost/boost/type_erasure/config.hpp create mode 100644 3party/boost/boost/type_erasure/constructible.hpp create mode 100644 3party/boost/boost/type_erasure/deduced.hpp create mode 100644 3party/boost/boost/type_erasure/derived.hpp create mode 100644 3party/boost/boost/type_erasure/detail/access.hpp create mode 100644 3party/boost/boost/type_erasure/detail/adapt_to_vtable.hpp create mode 100644 3party/boost/boost/type_erasure/detail/any_base.hpp create mode 100644 3party/boost/boost/type_erasure/detail/check_call.hpp create mode 100644 3party/boost/boost/type_erasure/detail/check_map.hpp create mode 100644 3party/boost/boost/type_erasure/detail/const.hpp create mode 100644 3party/boost/boost/type_erasure/detail/construct.hpp create mode 100644 3party/boost/boost/type_erasure/detail/extract_concept.hpp create mode 100644 3party/boost/boost/type_erasure/detail/get_placeholders.hpp create mode 100644 3party/boost/boost/type_erasure/detail/get_signature.hpp create mode 100644 3party/boost/boost/type_erasure/detail/instantiate.hpp create mode 100644 3party/boost/boost/type_erasure/detail/macro.hpp create mode 100644 3party/boost/boost/type_erasure/detail/normalize.hpp create mode 100644 3party/boost/boost/type_erasure/detail/normalize_deduced.hpp create mode 100644 3party/boost/boost/type_erasure/detail/null.hpp create mode 100644 3party/boost/boost/type_erasure/detail/rebind_placeholders.hpp create mode 100644 3party/boost/boost/type_erasure/detail/storage.hpp create mode 100644 3party/boost/boost/type_erasure/detail/vtable.hpp create mode 100644 3party/boost/boost/type_erasure/exception.hpp create mode 100644 3party/boost/boost/type_erasure/free.hpp create mode 100644 3party/boost/boost/type_erasure/is_empty.hpp create mode 100644 3party/boost/boost/type_erasure/is_placeholder.hpp create mode 100644 3party/boost/boost/type_erasure/is_subconcept.hpp create mode 100644 3party/boost/boost/type_erasure/iterator.hpp create mode 100644 3party/boost/boost/type_erasure/member.hpp create mode 100644 3party/boost/boost/type_erasure/operators.hpp create mode 100644 3party/boost/boost/type_erasure/param.hpp create mode 100644 3party/boost/boost/type_erasure/placeholder.hpp create mode 100644 3party/boost/boost/type_erasure/placeholder_of.hpp create mode 100644 3party/boost/boost/type_erasure/rebind_any.hpp create mode 100644 3party/boost/boost/type_erasure/relaxed.hpp create mode 100644 3party/boost/boost/type_erasure/require_match.hpp create mode 100644 3party/boost/boost/type_erasure/same_type.hpp create mode 100644 3party/boost/boost/type_erasure/static_binding.hpp create mode 100644 3party/boost/boost/type_erasure/tuple.hpp create mode 100644 3party/boost/boost/type_erasure/typeid_of.hpp create mode 100644 3party/boost/boost/type_traits/has_trivial_move_assign.hpp create mode 100644 3party/boost/boost/type_traits/has_trivial_move_constructor.hpp create mode 100644 3party/boost/boost/type_traits/is_nothrow_move_assignable.hpp create mode 100644 3party/boost/boost/type_traits/is_nothrow_move_constructible.hpp create mode 100644 3party/boost/boost/utility/string_ref.hpp create mode 100644 3party/boost/boost/utility/string_ref_fwd.hpp delete mode 100644 3party/boost/boost/variant/detail/has_nothrow_move.hpp delete mode 100644 3party/boost/boost/variant/detail/has_trivial_move.hpp create mode 100644 3party/boost/boost/variant/multivisitors.hpp diff --git a/3party/boost/boost/accumulators/accumulators_fwd.hpp b/3party/boost/boost/accumulators/accumulators_fwd.hpp index 9986a537b1..28e5162673 100644 --- a/3party/boost/boost/accumulators/accumulators_fwd.hpp +++ b/3party/boost/boost/accumulators/accumulators_fwd.hpp @@ -185,8 +185,18 @@ namespace detail inline void ignore_variable(void const *) {} - #define BOOST_ACCUMULATORS_IGNORE_GLOBAL(X)\ - namespace detail { inline void BOOST_PP_CAT(ignore_, X)() { boost::accumulators::detail::ignore_variable(&X); } } +#define BOOST_ACCUMULATORS_IGNORE_GLOBAL(X) \ + namespace detail \ + { \ + struct BOOST_PP_CAT(ignore_, X) \ + { \ + void ignore() \ + { \ + boost::accumulators::detail::ignore_variable(&X); \ + } \ + }; \ + } \ + /**/ } }} // namespace boost::accumulators diff --git a/3party/boost/boost/accumulators/framework/accumulators/droppable_accumulator.hpp b/3party/boost/boost/accumulators/framework/accumulators/droppable_accumulator.hpp index 1beed664a3..0e882b5c35 100644 --- a/3party/boost/boost/accumulators/framework/accumulators/droppable_accumulator.hpp +++ b/3party/boost/boost/accumulators/framework/accumulators/droppable_accumulator.hpp @@ -215,7 +215,7 @@ namespace boost { namespace accumulators template void on_drop(Args const &args) { - // cache the result at the point this calcuation was dropped + // cache the result at the point this calculation was dropped BOOST_ASSERT(!this->has_result()); this->set(this->Accumulator::result(args)); } diff --git a/3party/boost/boost/accumulators/framework/depends_on.hpp b/3party/boost/boost/accumulators/framework/depends_on.hpp index eefc5b2919..c328972946 100644 --- a/3party/boost/boost/accumulators/framework/depends_on.hpp +++ b/3party/boost/boost/accumulators/framework/depends_on.hpp @@ -356,7 +356,7 @@ namespace boost { namespace accumulators type; }; - // BUGBUG work around a MPL bug wrt map insertion + // BUGBUG work around an MPL bug wrt map insertion template struct insert_feature : mpl::eval_if< diff --git a/3party/boost/boost/accumulators/framework/parameters/accumulator.hpp b/3party/boost/boost/accumulators/framework/parameters/accumulator.hpp index 30e4b0de99..525ebb30ba 100644 --- a/3party/boost/boost/accumulators/framework/parameters/accumulator.hpp +++ b/3party/boost/boost/accumulators/framework/parameters/accumulator.hpp @@ -9,11 +9,13 @@ #define BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_ACCUMULATOR_HPP_EAN_31_10_2005 #include +#include namespace boost { namespace accumulators { BOOST_PARAMETER_KEYWORD(tag, accumulator) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(accumulator) }} // namespace boost::accumulators diff --git a/3party/boost/boost/accumulators/framework/parameters/sample.hpp b/3party/boost/boost/accumulators/framework/parameters/sample.hpp index 9bfb665a57..8b227eb334 100644 --- a/3party/boost/boost/accumulators/framework/parameters/sample.hpp +++ b/3party/boost/boost/accumulators/framework/parameters/sample.hpp @@ -9,11 +9,13 @@ #define BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_SAMPLE_HPP_EAN_31_10_2005 #include +#include namespace boost { namespace accumulators { BOOST_PARAMETER_KEYWORD(tag, sample) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(sample) }} // namespace boost::accumulators diff --git a/3party/boost/boost/accumulators/framework/parameters/weight.hpp b/3party/boost/boost/accumulators/framework/parameters/weight.hpp index 86f133b914..f36016f372 100644 --- a/3party/boost/boost/accumulators/framework/parameters/weight.hpp +++ b/3party/boost/boost/accumulators/framework/parameters/weight.hpp @@ -9,12 +9,14 @@ #define BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_WEIGHT_HPP_EAN_31_10_2005 #include +#include namespace boost { namespace accumulators { // The weight of a single sample BOOST_PARAMETER_KEYWORD(tag, weight) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(weight) }} // namespace boost::accumulators diff --git a/3party/boost/boost/accumulators/framework/parameters/weights.hpp b/3party/boost/boost/accumulators/framework/parameters/weights.hpp index 85b9e2fbd1..6beae61386 100644 --- a/3party/boost/boost/accumulators/framework/parameters/weights.hpp +++ b/3party/boost/boost/accumulators/framework/parameters/weights.hpp @@ -9,12 +9,14 @@ #define BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_WEIGHTS_HPP_EAN_28_10_2005 #include +#include namespace boost { namespace accumulators { // The weight accumulator BOOST_PARAMETER_KEYWORD(tag, weights) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(weights) }} // namespace boost::accumulators diff --git a/3party/boost/boost/accumulators/numeric/functional.hpp b/3party/boost/boost/accumulators/numeric/functional.hpp index 34cd91bdc0..683c49d1ab 100644 --- a/3party/boost/boost/accumulators/numeric/functional.hpp +++ b/3party/boost/boost/accumulators/numeric/functional.hpp @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -166,6 +167,7 @@ namespace boost { namespace numeric { \ op::Name const &Name = boost::detail::pod_singleton::instance; \ } \ + BOOST_ACCUMULATORS_IGNORE_GLOBAL(Name) \ /**/ /// INTERNAL ONLY @@ -416,6 +418,14 @@ namespace boost { namespace numeric op::as_max const &as_max = boost::detail::pod_singleton::instance; op::as_zero const &as_zero = boost::detail::pod_singleton::instance; op::as_one const &as_one = boost::detail::pod_singleton::instance; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(min_assign) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(max_assign) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(average) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(as_min) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(as_max) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(as_zero) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(as_one) } /////////////////////////////////////////////////////////////////////////////// diff --git a/3party/boost/boost/accumulators/statistics/density.hpp b/3party/boost/boost/accumulators/statistics/density.hpp index 63ce6d6dde..451ba8b644 100644 --- a/3party/boost/boost/accumulators/statistics/density.hpp +++ b/3party/boost/boost/accumulators/statistics/density.hpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -34,6 +35,9 @@ namespace boost { namespace accumulators BOOST_PARAMETER_NESTED_KEYWORD(tag, density_cache_size, cache_size) BOOST_PARAMETER_NESTED_KEYWORD(tag, density_num_bins, num_bins) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(density_cache_size) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(density_num_bins) + namespace impl { /////////////////////////////////////////////////////////////////////////////// diff --git a/3party/boost/boost/accumulators/statistics/extended_p_square.hpp b/3party/boost/boost/accumulators/statistics/extended_p_square.hpp index e8d4c0456b..b04be83784 100644 --- a/3party/boost/boost/accumulators/statistics/extended_p_square.hpp +++ b/3party/boost/boost/accumulators/statistics/extended_p_square.hpp @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include #include @@ -34,6 +34,8 @@ namespace boost { namespace accumulators // BOOST_PARAMETER_NESTED_KEYWORD(tag, extended_p_square_probabilities, probabilities) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(extended_p_square_probabilities) + namespace impl { /////////////////////////////////////////////////////////////////////////////// @@ -55,9 +57,9 @@ namespace impl K. E. E. Raatikainen, Simultaneous estimation of several quantiles, Simulation, Volume 49, Number 4 (October), 1986, p. 159-164. - The extended \f$ P^2 \f$ algorithm generalizess the \f$ P^2 \f$ algorithm of + The extended \f$ P^2 \f$ algorithm generalizes the \f$ P^2 \f$ algorithm of - R. Jain and I. Chlamtac, The P^2 algorithmus for dynamic calculation of quantiles and + R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and histograms without storing observations, Communications of the ACM, Volume 28 (October), Number 10, 1985, p. 1076-1085. @@ -256,7 +258,7 @@ namespace tag typedef accumulators::impl::extended_p_square_impl impl; #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// tag::extended_p_square::probabilities named paramter + /// tag::extended_p_square::probabilities named parameter static boost::parameter::keyword const probabilities; #endif }; diff --git a/3party/boost/boost/accumulators/statistics/p_square_cumul_dist.hpp b/3party/boost/boost/accumulators/statistics/p_square_cumul_dist.hpp index b9e24f676c..de98368666 100644 --- a/3party/boost/boost/accumulators/statistics/p_square_cumul_dist.hpp +++ b/3party/boost/boost/accumulators/statistics/p_square_cumul_dist.hpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -27,6 +28,8 @@ namespace boost { namespace accumulators // BOOST_PARAMETER_NESTED_KEYWORD(tag, p_square_cumulative_distribution_num_cells, num_cells) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(p_square_cumulative_distribution_num_cells) + namespace impl { /////////////////////////////////////////////////////////////////////////////// @@ -41,7 +44,7 @@ namespace impl For further details, see - R. Jain and I. Chlamtac, The P^2 algorithmus for dynamic calculation of quantiles and + R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and histograms without storing observations, Communications of the ACM, Volume 28 (October), Number 10, 1985, p. 1076-1085. diff --git a/3party/boost/boost/accumulators/statistics/p_square_quantile.hpp b/3party/boost/boost/accumulators/statistics/p_square_quantile.hpp index 844dfa7728..877f7f00c9 100644 --- a/3party/boost/boost/accumulators/statistics/p_square_quantile.hpp +++ b/3party/boost/boost/accumulators/statistics/p_square_quantile.hpp @@ -44,7 +44,7 @@ namespace impl For further details, see - R. Jain and I. Chlamtac, The P^2 algorithmus fordynamic calculation of quantiles and + R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and histograms without storing observations, Communications of the ACM, Volume 28 (October), Number 10, 1985, p. 1076-1085. @@ -105,7 +105,7 @@ namespace impl { std::size_t sample_cell = 1; // k - // find cell k such that heights[k-1] <= args[sample] < heights[k] and ajust extreme values + // find cell k such that heights[k-1] <= args[sample] < heights[k] and adjust extreme values if (args[sample] < this->heights[0]) { this->heights[0] = args[sample]; diff --git a/3party/boost/boost/accumulators/statistics/parameters/quantile_probability.hpp b/3party/boost/boost/accumulators/statistics/parameters/quantile_probability.hpp index be68f8955e..e8792642ec 100644 --- a/3party/boost/boost/accumulators/statistics/parameters/quantile_probability.hpp +++ b/3party/boost/boost/accumulators/statistics/parameters/quantile_probability.hpp @@ -9,12 +9,15 @@ #define BOOST_ACCUMULATORS_STATISTICS_PARAMETERS_QUANTILE_PROBABILITY_HPP_EAN_03_11_2005 #include +#include namespace boost { namespace accumulators { BOOST_PARAMETER_KEYWORD(tag, quantile_probability) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(quantile_probability) + }} // namespace boost::accumulators #endif diff --git a/3party/boost/boost/accumulators/statistics/peaks_over_threshold.hpp b/3party/boost/boost/accumulators/statistics/peaks_over_threshold.hpp index 01f36f91e6..ba152abba2 100644 --- a/3party/boost/boost/accumulators/statistics/peaks_over_threshold.hpp +++ b/3party/boost/boost/accumulators/statistics/peaks_over_threshold.hpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -46,6 +47,9 @@ namespace boost { namespace accumulators BOOST_PARAMETER_NESTED_KEYWORD(tag, pot_threshold_value, threshold_value) BOOST_PARAMETER_NESTED_KEYWORD(tag, pot_threshold_probability, threshold_probability) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(pot_threshold_value) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(pot_threshold_probability) + namespace impl { /////////////////////////////////////////////////////////////////////////////// diff --git a/3party/boost/boost/accumulators/statistics/rolling_window.hpp b/3party/boost/boost/accumulators/statistics/rolling_window.hpp index d2f4b0dfe1..2e0a33420a 100644 --- a/3party/boost/boost/accumulators/statistics/rolling_window.hpp +++ b/3party/boost/boost/accumulators/statistics/rolling_window.hpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -28,6 +29,8 @@ namespace boost { namespace accumulators // tag::rolling_window::size named parameter BOOST_PARAMETER_NESTED_KEYWORD(tag, rolling_window_size, window_size) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_window_size) + namespace impl { /////////////////////////////////////////////////////////////////////////////// diff --git a/3party/boost/boost/accumulators/statistics/skewness.hpp b/3party/boost/boost/accumulators/statistics/skewness.hpp index 2e29018f5d..c60eda12b0 100644 --- a/3party/boost/boost/accumulators/statistics/skewness.hpp +++ b/3party/boost/boost/accumulators/statistics/skewness.hpp @@ -31,7 +31,7 @@ namespace impl @brief Skewness estimation The skewness of a sample distribution is defined as the ratio of the 3rd central moment and the \f$ 3/2 \f$-th power - of the 2nd central moment (the variance) of the sampless 3. The skewness can also be expressed by the simple moments: + of the 2nd central moment (the variance) of the samples 3. The skewness can also be expressed by the simple moments: \f[ \hat{g}_1 = diff --git a/3party/boost/boost/accumulators/statistics/tail.hpp b/3party/boost/boost/accumulators/statistics/tail.hpp index 159a9b67db..cc9267f9d4 100644 --- a/3party/boost/boost/accumulators/statistics/tail.hpp +++ b/3party/boost/boost/accumulators/statistics/tail.hpp @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -32,6 +33,9 @@ namespace boost { namespace accumulators BOOST_PARAMETER_NESTED_KEYWORD(tag, right_tail_cache_size, cache_size) BOOST_PARAMETER_NESTED_KEYWORD(tag, left_tail_cache_size, cache_size) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(right_tail_cache_size) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(left_tail_cache_size) + namespace detail { /////////////////////////////////////////////////////////////////////////////// diff --git a/3party/boost/boost/accumulators/statistics/tail_quantile.hpp b/3party/boost/boost/accumulators/statistics/tail_quantile.hpp index d3b96b4968..9ff56b56e5 100644 --- a/3party/boost/boost/accumulators/statistics/tail_quantile.hpp +++ b/3party/boost/boost/accumulators/statistics/tail_quantile.hpp @@ -46,7 +46,7 @@ namespace impl @brief Tail quantile estimation based on order statistics (for both left and right tails) The estimation of a tail quantile \f$\hat{q}\f$ with level \f$\alpha\f$ based on order statistics requires the - chaching of at least the \f$\lceil n\alpha\rceil\f$ smallest or the \f$\lceil n(1-\alpha)\rceil\f$ largest samples, + caching of at least the \f$\lceil n\alpha\rceil\f$ smallest or the \f$\lceil n(1-\alpha)\rceil\f$ largest samples, \f$n\f$ being the total number of samples. The largest of the \f$\lceil n\alpha\rceil\f$ smallest samples or the smallest of the \f$\lceil n(1-\alpha)\rceil\f$ largest samples provides an estimate for the quantile: diff --git a/3party/boost/boost/accumulators/statistics/variates/covariate.hpp b/3party/boost/boost/accumulators/statistics/variates/covariate.hpp index eeb4835274..aba113a4a3 100644 --- a/3party/boost/boost/accumulators/statistics/variates/covariate.hpp +++ b/3party/boost/boost/accumulators/statistics/variates/covariate.hpp @@ -9,6 +9,7 @@ #define BOOST_ACCUMULATORS_STATISTICS_VARIATES_COVARIATE_HPP_EAN_03_11_2005 #include +#include namespace boost { namespace accumulators { @@ -16,6 +17,9 @@ namespace boost { namespace accumulators BOOST_PARAMETER_KEYWORD(tag, covariate1) BOOST_PARAMETER_KEYWORD(tag, covariate2) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(covariate1) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(covariate2) + }} // namespace boost::accumulators #endif diff --git a/3party/boost/boost/accumulators/statistics/weighted_extended_p_square.hpp b/3party/boost/boost/accumulators/statistics/weighted_extended_p_square.hpp index 7d7f38c77c..6116029825 100644 --- a/3party/boost/boost/accumulators/statistics/weighted_extended_p_square.hpp +++ b/3party/boost/boost/accumulators/statistics/weighted_extended_p_square.hpp @@ -54,9 +54,9 @@ namespace impl K. E. E. Raatikainen, Simultaneous estimation of several quantiles, Simulation, Volume 49, Number 4 (October), 1986, p. 159-164. - The extended \f$ P^2 \f$ algorithm generalizess the \f$ P^2 \f$ algorithm of + The extended \f$ P^2 \f$ algorithm generalizes the \f$ P^2 \f$ algorithm of - R. Jain and I. Chlamtac, The P^2 algorithmus for dynamic calculation of quantiles and + R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and histograms without storing observations, Communications of the ACM, Volume 28 (October), Number 10, 1985, p. 1076-1085. diff --git a/3party/boost/boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp b/3party/boost/boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp index 832e231414..de707f5cb5 100644 --- a/3party/boost/boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp +++ b/3party/boost/boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp @@ -42,7 +42,7 @@ namespace impl For further details, see - R. Jain and I. Chlamtac, The P^2 algorithmus for dynamic calculation of quantiles and + R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and histograms without storing observations, Communications of the ACM, Volume 28 (October), Number 10, 1985, p. 1076-1085. diff --git a/3party/boost/boost/accumulators/statistics/weighted_p_square_quantile.hpp b/3party/boost/boost/accumulators/statistics/weighted_p_square_quantile.hpp index 5dc84f4764..73774abfb7 100644 --- a/3party/boost/boost/accumulators/statistics/weighted_p_square_quantile.hpp +++ b/3party/boost/boost/accumulators/statistics/weighted_p_square_quantile.hpp @@ -44,7 +44,7 @@ namespace impl { For further details, see - R. Jain and I. Chlamtac, The P^2 algorithmus for dynamic calculation of quantiles and + R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and histograms without storing observations, Communications of the ACM, Volume 28 (October), Number 10, 1985, p. 1076-1085. @@ -80,7 +80,7 @@ namespace impl { this->heights[cnt - 1] = args[sample]; // In this initialization phase, actual_positions stores the weights of the - // inital samples that are needed at the end of the initialization phase to + // initial samples that are needed at the end of the initialization phase to // compute the correct initial positions of the markers. this->actual_positions[cnt - 1] = args[weight]; diff --git a/3party/boost/boost/accumulators/statistics/weighted_tail_variate_means.hpp b/3party/boost/boost/accumulators/statistics/weighted_tail_variate_means.hpp index da181896a1..ff08ae5060 100644 --- a/3party/boost/boost/accumulators/statistics/weighted_tail_variate_means.hpp +++ b/3party/boost/boost/accumulators/statistics/weighted_tail_variate_means.hpp @@ -37,7 +37,7 @@ namespace boost { // for _BinaryOperatrion2 in std::inner_product below - // mutliplies two values and promotes the result to double + // multiplies two values and promotes the result to double namespace numeric { namespace functional { /////////////////////////////////////////////////////////////////////////////// diff --git a/3party/boost/boost/accumulators/statistics/weighted_variance.hpp b/3party/boost/boost/accumulators/statistics/weighted_variance.hpp index e91fdc1bc6..bb3bc0e3df 100644 --- a/3party/boost/boost/accumulators/statistics/weighted_variance.hpp +++ b/3party/boost/boost/accumulators/statistics/weighted_variance.hpp @@ -64,7 +64,7 @@ namespace impl ,\quad n\ge2,\quad\hat{\sigma}_0^2 = 0. \f] where \f$\bar{w}_n\f$ is the sum of the \f$n\f$ weights \f$w_i\f$ and \f$\hat{\mu}_n\f$ - the estimate of the mean of the weighted smaples. Note that the sample variance is not defined for + the estimate of the mean of the weighted samples. Note that the sample variance is not defined for \f$n <= 1\f$. */ template diff --git a/3party/boost/boost/algorithm/cxx11/copy_if.hpp b/3party/boost/boost/algorithm/cxx11/copy_if.hpp index 8591cb54d1..88b79b500b 100644 --- a/3party/boost/boost/algorithm/cxx11/copy_if.hpp +++ b/3party/boost/boost/algorithm/cxx11/copy_if.hpp @@ -63,7 +63,7 @@ OutputIterator copy_if ( const Range &r, OutputIterator result, Predicate p ) /// \fn copy_while ( InputIterator first, InputIterator last, OutputIterator result, Predicate p ) /// \brief Copies all the elements at the start of the input range that /// satisfy the predicate to the output range. -/// \return The updated output iterator +/// \return The updated input and output iterators /// /// \param first The start of the input sequence /// \param last One past the end of the input sequence @@ -71,25 +71,26 @@ OutputIterator copy_if ( const Range &r, OutputIterator result, Predicate p ) /// \param p A predicate for testing the elements of the range /// template -OutputIterator copy_while ( InputIterator first, InputIterator last, - OutputIterator result, Predicate p ) +std::pair +copy_while ( InputIterator first, InputIterator last, OutputIterator result, Predicate p ) { for ( ; first != last && p(*first); ++first ) *result++ = *first; - return result; + return std::make_pair(first, result); } /// \fn copy_while ( const Range &r, OutputIterator result, Predicate p ) /// \brief Copies all the elements at the start of the input range that /// satisfy the predicate to the output range. -/// \return The updated output iterator +/// \return The updated input and output iterators /// /// \param r The input range /// \param result An output iterator to write the results into /// \param p A predicate for testing the elements of the range /// template -OutputIterator copy_while ( const Range &r, OutputIterator result, Predicate p ) +std::pair::type, OutputIterator> +copy_while ( const Range &r, OutputIterator result, Predicate p ) { return boost::algorithm::copy_while (boost::begin (r), boost::end(r), result, p); } @@ -106,11 +107,12 @@ OutputIterator copy_while ( const Range &r, OutputIterator result, Predicate p ) /// \param p A predicate for testing the elements of the range /// template -OutputIterator copy_until ( InputIterator first, InputIterator last, OutputIterator result, Predicate p ) +std::pair +copy_until ( InputIterator first, InputIterator last, OutputIterator result, Predicate p ) { for ( ; first != last && !p(*first); ++first ) *result++ = *first; - return result; + return std::make_pair(first, result); } /// \fn copy_until ( const Range &r, OutputIterator result, Predicate p ) @@ -123,7 +125,8 @@ OutputIterator copy_until ( InputIterator first, InputIterator last, OutputItera /// \param p A predicate for testing the elements of the range /// template -OutputIterator copy_until ( const Range &r, OutputIterator result, Predicate p ) +std::pair::type, OutputIterator> +copy_until ( const Range &r, OutputIterator result, Predicate p ) { return boost::algorithm::copy_until (boost::begin (r), boost::end(r), result, p); } diff --git a/3party/boost/boost/algorithm/cxx11/is_partitioned.hpp b/3party/boost/boost/algorithm/cxx11/is_partitioned.hpp index d647183a8a..e939e05605 100644 --- a/3party/boost/boost/algorithm/cxx11/is_partitioned.hpp +++ b/3party/boost/boost/algorithm/cxx11/is_partitioned.hpp @@ -24,11 +24,11 @@ namespace boost { namespace algorithm { using std::is_partitioned; // Section 25.3.13 #else /// \fn is_partitioned ( InputIterator first, InputIterator last, UnaryPredicate p ) -/// \brief Tests to see if a sequence is partititioned according to a predicate +/// \brief Tests to see if a sequence is partitioned according to a predicate /// /// \param first The start of the input sequence /// \param last One past the end of the input sequence -/// \param p The predicicate to test the values with +/// \param p The predicate to test the values with /// \note This function is part of the C++2011 standard library. /// We will use the standard one if it is available, /// otherwise we have our own implementation. @@ -51,7 +51,7 @@ bool is_partitioned ( InputIterator first, InputIterator last, UnaryPredicate p /// \brief Generates an increasing sequence of values, and stores them in the input Range. /// /// \param r The input range -/// \param p The predicicate to test the values with +/// \param p The predicate to test the values with /// template bool is_partitioned ( const Range &r, UnaryPredicate p ) diff --git a/3party/boost/boost/algorithm/cxx11/is_permutation.hpp b/3party/boost/boost/algorithm/cxx11/is_permutation.hpp index 526ca2e479..e1273f1d80 100644 --- a/3party/boost/boost/algorithm/cxx11/is_permutation.hpp +++ b/3party/boost/boost/algorithm/cxx11/is_permutation.hpp @@ -25,10 +25,6 @@ namespace boost { namespace algorithm { -#if __cplusplus >= 201103L -// Use the C++11 versions of is_permutation if it is available -using std::is_permutation; // Section 25.2.12 -#else /// \cond DOXYGEN_HIDE namespace detail { template @@ -38,18 +34,82 @@ namespace detail { template bool operator () ( const T1 &t1 ) const { return p_ ( *it_, t1 ); } private: - Predicate &p_; + Predicate p_; Iterator it_; }; + +// Preconditions: +// 1. The sequences are the same length +// 2. Any common elements on the front have been removed (not necessary for correctness, just for performance) + template< class ForwardIterator1, class ForwardIterator2, class BinaryPredicate > + bool is_permutation_inner ( ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + BinaryPredicate p ) { + // for each unique value in the sequence [first1,last1), count how many times + // it occurs, and make sure it occurs the same number of times in [first2, last2) + for ( ForwardIterator1 iter = first1; iter != last1; ++iter ) { + value_predicate pred ( p, iter ); + + /* For each value we haven't seen yet... */ + if ( std::find_if ( first1, iter, pred ) == iter ) { + std::size_t dest_count = std::count_if ( first2, last2, pred ); + if ( dest_count == 0 || dest_count != (std::size_t) std::count_if ( iter, last1, pred )) + return false; + } + } + + return true; + } + + template< class ForwardIterator1, class ForwardIterator2, class BinaryPredicate> + bool is_permutation_tag ( ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + BinaryPredicate p, + std::forward_iterator_tag, std::forward_iterator_tag ) { + + // Skip the common prefix (if any) + while ( first1 != last1 && first2 != last2 && p ( *first1, *first2 )) { + ++first1; + ++first2; + } + if ( first1 != last1 && first2 != last2 ) + return boost::algorithm::detail::is_permutation_inner ( first1, last1, first2, last2, + std::equal_to::value_type> ()); + return first1 == last1 && first2 == last2; + } + + template + bool is_permutation_tag ( RandomAccessIterator1 first1, RandomAccessIterator1 last1, + RandomAccessIterator2 first2, RandomAccessIterator2 last2, + BinaryPredicate p, + std::random_access_iterator_tag, std::random_access_iterator_tag ) { + // Cheap check + if ( std::distance ( first1, last1 ) != std::distance ( first2, last2 )) + return false; + // Skip the common prefix (if any) + while ( first1 != last1 && first2 != last2 && p ( *first1, *first2 )) { + ++first1; + ++first2; + } + + if ( first1 != last1 && first2 != last2 ) + return is_permutation_inner (first1, last1, first2, last2, p); + return first1 == last1 && first2 == last2; + } + } /// \endcond +#if __cplusplus >= 201103L +// Use the C++11 versions of is_permutation if it is available +using std::is_permutation; // Section 25.2.12 +#else /// \fn is_permutation ( ForwardIterator1 first, ForwardIterator1 last, ForwardIterator2 first2, BinaryPredicate p ) /// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 /// -/// \param first The start of the input sequence -/// \param last One past the end of the input sequence +/// \param first1 The start of the input sequence +/// \param last1 One past the end of the input sequence /// \param first2 The start of the second sequence /// \param p The predicate to compare elements with /// @@ -69,19 +129,7 @@ bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, // Create last2 ForwardIterator2 last2 = first2; std::advance ( last2, std::distance (first1, last1)); - - // for each unique value in the sequence [first1,last1), count how many times - // it occurs, and make sure it occurs the same number of times in [first2, last2) - for ( ForwardIterator1 iter = first1; iter != last1; ++iter ) { - detail::value_predicate pred ( p, iter ); - - /* For each value we haven't seen yet... */ - if ( std::find_if ( first1, iter, pred ) == iter ) { - std::size_t dest_count = std::count_if ( first2, last2, pred ); - if ( dest_count == 0 || dest_count != (std::size_t) std::count_if ( iter, last1, pred )) - return false; - } - } + return boost::algorithm::detail::is_permutation_inner ( first1, last1, first2, last2, p ); } return true; @@ -90,23 +138,84 @@ bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, /// \fn is_permutation ( ForwardIterator1 first, ForwardIterator1 last, ForwardIterator2 first2 ) /// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 /// -/// \param first The start of the input sequence -/// \param last One past the end of the input sequence +/// \param first1 The start of the input sequence +/// \param last2 One past the end of the input sequence /// \param first2 The start of the second sequence /// \note This function is part of the C++2011 standard library. /// We will use the standard one if it is available, /// otherwise we have our own implementation. template< class ForwardIterator1, class ForwardIterator2 > -bool is_permutation ( ForwardIterator1 first, ForwardIterator1 last, ForwardIterator2 first2 ) +bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2 ) { // How should I deal with the idea that ForwardIterator1::value_type // and ForwardIterator2::value_type could be different? Define my own comparison predicate? - return boost::algorithm::is_permutation ( first, last, first2, - std::equal_to::value_type> ()); +// Skip the common prefix (if any) + std::pair eq = std::mismatch (first1, last1, first2 ); + first1 = eq.first; + first2 = eq.second; + if ( first1 != last1 ) { + // Create last2 + ForwardIterator2 last2 = first2; + std::advance ( last2, std::distance (first1, last1)); + return boost::algorithm::detail::is_permutation_inner ( first1, last1, first2, last2, + std::equal_to::value_type> ()); + } + return true; } #endif +/// \fn is_permutation ( ForwardIterator1 first, ForwardIterator1 last, +/// ForwardIterator2 first2, ForwardIterator2 last2 ) +/// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 +/// +/// \param first1 The start of the input sequence +/// \param last2 One past the end of the input sequence +/// \param first2 The start of the second sequence +/// \param last1 One past the end of the second sequence +/// \note This function is part of the C++2011 standard library. +/// We will use the standard one if it is available, +/// otherwise we have our own implementation. +template< class ForwardIterator1, class ForwardIterator2 > +bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2 ) +{ +// How should I deal with the idea that ForwardIterator1::value_type +// and ForwardIterator2::value_type could be different? Define my own comparison predicate? + return boost::algorithm::detail::is_permutation_tag ( + first1, last1, first2, last2, + std::equal_to::value_type> (), + typename std::iterator_traits::iterator_category (), + typename std::iterator_traits::iterator_category ()); +} + +/// \fn is_permutation ( ForwardIterator1 first, ForwardIterator1 last, +/// ForwardIterator2 first2, ForwardIterator2 last2, +/// BinaryPredicate p ) +/// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 +/// +/// \param first1 The start of the input sequence +/// \param last1 One past the end of the input sequence +/// \param first2 The start of the second sequence +/// \param last2 One past the end of the second sequence +/// \param pred The predicate to compare elements with +/// +/// \note This function is part of the C++2011 standard library. +/// We will use the standard one if it is available, +/// otherwise we have our own implementation. +template< class ForwardIterator1, class ForwardIterator2, class BinaryPredicate > +bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + BinaryPredicate pred ) +{ + return boost::algorithm::detail::is_permutation_tag ( + first1, last1, first2, last2, pred, + typename std::iterator_traits::iterator_category (), + typename std::iterator_traits::iterator_category ()); +} + + + /// \fn is_permutation ( const Range &r, ForwardIterator first2 ) /// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 /// diff --git a/3party/boost/boost/algorithm/cxx14/equal.hpp b/3party/boost/boost/algorithm/cxx14/equal.hpp new file mode 100644 index 0000000000..d10c09604a --- /dev/null +++ b/3party/boost/boost/algorithm/cxx14/equal.hpp @@ -0,0 +1,97 @@ +/* + Copyright (c) Marshall Clow 2008-2012. + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +*/ + +/// \file equal.hpp +/// \brief Test ranges to if they are equal +/// \author Marshall Clow + +#ifndef BOOST_ALGORITHM_EQUAL_HPP +#define BOOST_ALGORITHM_EQUAL_HPP + +#include // for std::equal +#include // for std::equal_to + +namespace boost { namespace algorithm { + +namespace detail { + + template + struct eq : public std::binary_function { + bool operator () ( const T1& v1, const T2& v2 ) const { return v1 == v2 ;} + }; + + template + bool equal ( RandomAccessIterator1 first1, RandomAccessIterator1 last1, + RandomAccessIterator2 first2, RandomAccessIterator2 last2, BinaryPredicate pred, + std::random_access_iterator_tag, std::random_access_iterator_tag ) + { + // Random-access iterators let is check the sizes in constant time + if ( std::distance ( first1, last1 ) != std::distance ( first2, last2 )) + return false; + // If we know that the sequences are the same size, the original version is fine + return std::equal ( first1, last1, first2, pred ); + } + + template + bool equal ( InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, BinaryPredicate pred, + std::input_iterator_tag, std::input_iterator_tag ) + { + for (; first1 != last1 && first2 != last2; ++first1, ++first2 ) + if ( !pred(*first1, *first2 )) + return false; + + return first1 == last1 && first2 == last2; + } +} + +/// \fn equal ( InputIterator1 first1, InputIterator1 last1, +/// InputIterator2 first2, InputIterator2 last2, +/// BinaryPredicate pred ) +/// \return true if all elements in the two ranges are equal +/// +/// \param first1 The start of the first range. +/// \param last1 One past the end of the first range. +/// \param first2 The start of the second range. +/// \param last2 One past the end of the second range. +/// \param pred A predicate for comparing the elements of the ranges +template +bool equal ( InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, BinaryPredicate pred ) +{ + return boost::algorithm::detail::equal ( + first1, last1, first2, last2, pred, + typename std::iterator_traits::iterator_category (), + typename std::iterator_traits::iterator_category ()); +} + +/// \fn equal ( InputIterator1 first1, InputIterator1 last1, +/// InputIterator2 first2, InputIterator2 last2 ) +/// \return true if all elements in the two ranges are equal +/// +/// \param first1 The start of the first range. +/// \param last1 One past the end of the first range. +/// \param first2 The start of the second range. +/// \param last2 One past the end of the second range. +template +bool equal ( InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2 ) +{ + return boost::algorithm::detail::equal ( + first1, last1, first2, last2, + boost::algorithm::detail::eq< + typename std::iterator_traits::value_type, + typename std::iterator_traits::value_type> (), + typename std::iterator_traits::iterator_category (), + typename std::iterator_traits::iterator_category ()); +} + +// There are already range-based versions of these. + +}} // namespace boost and algorithm + +#endif // BOOST_ALGORITHM_EQUAL_HPP diff --git a/3party/boost/boost/algorithm/cxx14/is_permutation.hpp b/3party/boost/boost/algorithm/cxx14/is_permutation.hpp new file mode 100644 index 0000000000..779acef2aa --- /dev/null +++ b/3party/boost/boost/algorithm/cxx14/is_permutation.hpp @@ -0,0 +1,130 @@ +/* + Copyright (c) Marshall Clow 2013 + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +*/ + +/// \file equal.hpp +/// \brief Determines if one +/// \author Marshall Clow + +#ifndef BOOST_ALGORITHM_IS_PERMUTATION_HPP +#define BOOST_ALGORITHM_IS_PERMUTATION_HPP + +#include +#include // for std::equal_to + +namespace boost { namespace algorithm { + +namespace detail { + + template + struct is_perm_eq : public std::binary_function { + bool operator () ( const T1& v1, const T2& v2 ) const { return v1 == v2 ;} + }; + + + template + bool is_permutation ( RandomAccessIterator1 first1, RandomAccessIterator1 last1, + RandomAccessIterator2 first2, RandomAccessIterator2 last2, BinaryPredicate pred, + std::random_access_iterator_tag, std::random_access_iterator_tag ) + { + // Random-access iterators let is check the sizes in constant time + if ( std::distance ( first1, last1 ) != std::distance ( first2, last2 )) + return false; + // If we know that the sequences are the same size, the original version is fine + return std::is_permutation ( first1, last1, first2, pred ); + } + + + template + bool is_permutation ( + ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + BinaryPredicate pred, + std::forward_iterator_tag, std::forward_iterator_tag ) + { + + // Look for common prefix + for (; first1 != last1 && first2 != last2; ++first1, ++first2) + if (!pred(*first1, *first2)) + goto not_done; + // We've reached the end of one of the sequences without a mismatch. + return first1 == last1 && first2 == last2; + not_done: + + // Check and make sure that we have the same # of elements left + typedef typename std::iterator_traits::difference_type diff1_t; + diff1_t len1 = _VSTD::distance(first1, last1); + typedef typename std::iterator_traits::difference_type diff2_t; + diff2_t len2 = _VSTD::distance(first2, last2); + if (len1 != len2) + return false; + + // For each element in [f1, l1) see if there are the + // same number of equal elements in [f2, l2) + for ( ForwardIterator1 i = first1; i != last1; ++i ) + { + // Have we already counted this value? + ForwardIterator1 j; + for ( j = first1; j != i; ++j ) + if (pred(*j, *i)) + break; + if ( j == i ) // didn't find it... + { + // Count number of *i in [f2, l2) + diff1_t c2 = 0; + for ( ForwardIterator2 iter2 = first2; iter2 != last2; ++iter2 ) + if (pred(*i, *iter2)) + ++c2; + if (c2 == 0) + return false; + + // Count number of *i in [i, l1) + diff1_t c1 = 0; + for (_ForwardIterator1 iter1 = i; iter1 != last1; ++iter1 ) + if (pred(*i, *iter1)) + ++c1; + if (c1 != c2) + return false; + } + } + return true; + } + +} + + +template +bool is_permutation ( + ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2, + BinaryPredicate pred ) +{ + return boost::algorithm::detail::is_permutation ( + first1, last1, first2, last2, pred, + typename std::iterator_traits::iterator_category (), + typename std::iterator_traits::iterator_category ()); +} + +template +bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, + ForwardIterator2 first2, ForwardIterator2 last2 ) +{ + typedef typename iterator_traits<_ForwardIterator1>::value_type value1_t; + typedef typename iterator_traits<_ForwardIterator2>::value_type value2_t; + return boost::algorithm::detail::is_permutation ( + first1, last1, first2, last2, + boost::algorithm::detail::is_perm_eq< + typename std::iterator_traits::value_type, + typename std::iterator_traits::value_type> (), + typename std::iterator_traits::iterator_category (), + typename std::iterator_traits::iterator_category ()); +} + +// There are already range-based versions of these. + +}} // namespace boost and algorithm + +#endif // BOOST_ALGORITHM_IS_PERMUTATION_HPP diff --git a/3party/boost/boost/algorithm/cxx14/mismatch.hpp b/3party/boost/boost/algorithm/cxx14/mismatch.hpp new file mode 100644 index 0000000000..5229e3bdac --- /dev/null +++ b/3party/boost/boost/algorithm/cxx14/mismatch.hpp @@ -0,0 +1,66 @@ +/* + Copyright (c) Marshall Clow 2008-2012. + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE10.txt or copy at http://www.boost.org/LICENSE10.txt) +*/ + +/// \file mismatch.hpp +/// \brief Find the first mismatched element in a sequence +/// \author Marshall Clow + +#ifndef BOOST_ALGORITHM_MISMATCH_HPP +#define BOOST_ALGORITHM_MISMATCH_HPP + +#include // for std::mismatch +#include // for std::pair + +namespace boost { namespace algorithm { + +template + +/// \fn mismatch ( InputIterator1 first1, InputIterator1 last1, +/// InputIterator2 first2, InputIterator2 last2, +/// BinaryPredicate pred ) +/// \return a pair of iterators pointing to the first elements in the sequence that do not match +/// +/// \param first1 The start of the first range. +/// \param last1 One past the end of the first range. +/// \param first2 The start of the second range. +/// \param last2 One past the end of the second range. +/// \param pred A predicate for comparing the elements of the ranges +std::pair mismatch ( + InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2, + BinaryPredicate pred ) +{ + for (; first1 != last1 && first2 != last2; ++first1, ++first2) + if ( !pred ( *first1, *first2 )) + break; + return std::pair(first1, first2); +} + +/// \fn mismatch ( InputIterator1 first1, InputIterator1 last1, +/// InputIterator2 first2, InputIterator2 last2 ) +/// \return a pair of iterators pointing to the first elements in the sequence that do not match +/// +/// \param first1 The start of the first range. +/// \param last1 One past the end of the first range. +/// \param first2 The start of the second range. +/// \param last2 One past the end of the second range. +template +std::pair mismatch ( + InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, InputIterator2 last2 ) +{ + for (; first1 != last1 && first2 != last2; ++first1, ++first2) + if ( *first1 != *first2 ) + break; + return std::pair(first1, first2); +} + +// There are already range-based versions of these. + +}} // namespace boost and algorithm + +#endif // BOOST_ALGORITHM_MISMATCH_HPP diff --git a/3party/boost/boost/algorithm/gather.hpp b/3party/boost/boost/algorithm/gather.hpp new file mode 100644 index 0000000000..944bc94348 --- /dev/null +++ b/3party/boost/boost/algorithm/gather.hpp @@ -0,0 +1,123 @@ +/* + Copyright 2008 Adobe Systems Incorporated + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + Revision history: + January 2008 mtc Version for Adobe Source Library + January 2013 mtc Version for Boost.Algorithm + +*/ + +/**************************************************************************************************/ + +/*! +\author Marshall Clow +\date January 2008 +*/ + +#ifndef BOOST_ALGORITHM_GATHER_HPP +#define BOOST_ALGORITHM_GATHER_HPP + +#include // for std::stable_partition +#include + +#include // for boost::bind +#include // for boost::begin(range) +#include // for boost::end(range) + + +/**************************************************************************************************/ +/*! + \defgroup gather gather + \ingroup mutating_algorithm + + \c gather() takes a collection of elements defined by a pair of iterators and moves + the ones satisfying a predicate to them to a position (called the pivot) within + the sequence. The algorithm is stable. The result is a pair of iterators that + contains the items that satisfy the predicate. + + Given an sequence containing: +
+    0 1 2 3 4 5 6 7 8 9
+    
+ + a call to gather ( arr, arr + 10, arr + 4, IsEven ()) will result in: + +
+    1 3 0 2 4 6 8 5 7 9
+        |---|-----|
+      first |  second
+          pivot
+    
+ + + The problem is broken down into two basic steps, namely, moving the items before the pivot + and then moving the items from the pivot to the end. These "moves" are done with calls to + stable_partition. + + \par Storage Requirements: + + The algorithm uses stable_partition, which will attempt to allocate temporary memory, + but will work in-situ if there is none available. + + \par Time Complexity: + + If there is sufficient memory available, the run time is linear in N. + If there is not any memory available, then the run time is O(N log N). +*/ + +/**************************************************************************************************/ + +namespace boost { namespace algorithm { + +/**************************************************************************************************/ + +/*! + \ingroup gather + \brief iterator-based gather implementation +*/ + +template < + typename BidirectionalIterator, // Iter models BidirectionalIterator + typename Pred> // Pred models UnaryPredicate +std::pair gather + ( BidirectionalIterator first, BidirectionalIterator last, BidirectionalIterator pivot, Pred pred ) +{ +// The first call partitions everything up to (but not including) the pivot element, +// while the second call partitions the rest of the sequence. + return std::make_pair ( + std::stable_partition ( first, pivot, !boost::bind ( pred, _1 )), + std::stable_partition ( pivot, last, boost::bind ( pred, _1 ))); +} + +/**************************************************************************************************/ + +/*! + \ingroup gather + \brief range-based gather implementation +*/ + +template < + typename BidirectionalRange, // + typename Pred> // Pred models UnaryPredicate +std::pair< + typename boost::range_iterator::type, + typename boost::range_iterator::type> +gather ( + const BidirectionalRange &range, + typename boost::range_iterator::type pivot, + Pred pred ) +{ + return boost::algorithm::gather ( boost::begin ( range ), boost::end ( range ), pivot, pred ); +} + +/**************************************************************************************************/ + +}} // namespace + +/**************************************************************************************************/ + +#endif + diff --git a/3party/boost/boost/algorithm/hex.hpp b/3party/boost/boost/algorithm/hex.hpp index 439ec46b9e..2adb0be445 100644 --- a/3party/boost/boost/algorithm/hex.hpp +++ b/3party/boost/boost/algorithm/hex.hpp @@ -10,12 +10,6 @@ /* General problem - turn a sequence of integral types into a sequence of hexadecimal characters. - and back. - -TO DO: - 1. these should really only work on integral types. (see the >> and << operations) - -- this is done, I think. - 2. The 'value_type_or_char' struct is really a hack. - -- but it's a better hack now that it works with back_insert_iterators */ /// \file hex.hpp @@ -42,11 +36,11 @@ namespace boost { namespace algorithm { /*! \struct hex_decode_error \brief Base exception class for all hex decoding errors - +*/ /*! \struct non_hex_input \brief Thrown when a non-hex value (0-9, A-F) encountered when decoding. Contains the offending character - +*/ /*! \struct not_enough_input \brief Thrown when the input sequence unexpectedly ends @@ -69,18 +63,16 @@ namespace detail { return std::copy ( res, res + num_hex_digits, out ); } -// this needs to be in an un-named namespace because it is not a template -// and might get included in several compilation units. This could cause -// multiple definition errors at link time. - namespace { - unsigned hex_char_to_int ( char c ) { - if ( c >= '0' && c <= '9' ) return c - '0'; - if ( c >= 'A' && c <= 'F' ) return c - 'A' + 10; - if ( c >= 'a' && c <= 'f' ) return c - 'a' + 10; - BOOST_THROW_EXCEPTION (non_hex_input() << bad_char (c)); - return 0; // keep dumb compilers happy + template + unsigned char hex_char_to_int ( T val ) { + char c = static_cast ( val ); + unsigned retval = 0; + if ( c >= '0' && c <= '9' ) retval = c - '0'; + else if ( c >= 'A' && c <= 'F' ) retval = c - 'A' + 10; + else if ( c >= 'a' && c <= 'f' ) retval = c - 'a' + 10; + else BOOST_THROW_EXCEPTION (non_hex_input() << bad_char (c)); + return retval; } - } // My own iterator_traits class. // It is here so that I can "reach inside" some kinds of output iterators @@ -134,7 +126,7 @@ namespace detail { for ( std::size_t i = 0; i < 2 * sizeof ( T ); ++i, ++first ) { if ( pred ( first, last )) BOOST_THROW_EXCEPTION (not_enough_input ()); - res = ( 16 * res ) + hex_char_to_int (static_cast (*first)); + res = ( 16 * res ) + hex_char_to_int (*first); } *out = res; diff --git a/3party/boost/boost/algorithm/minmax_element.hpp b/3party/boost/boost/algorithm/minmax_element.hpp index 0d2efd8cd8..752f6cbdb1 100644 --- a/3party/boost/boost/algorithm/minmax_element.hpp +++ b/3party/boost/boost/algorithm/minmax_element.hpp @@ -99,8 +99,10 @@ namespace boost { // if odd number of elements, treat last element if (first != last) { // odd number of elements - if (comp(first, min_result)) - min_result = first, potential_min_result = last; + if (comp(first, min_result)) { + min_result = first; + potential_min_result = last; + } else if (comp(max_result, first)) max_result = first; } diff --git a/3party/boost/boost/algorithm/searching/boyer_moore.hpp b/3party/boost/boost/algorithm/searching/boyer_moore.hpp index 958f0b8d0c..c5fe9fa255 100644 --- a/3party/boost/boost/algorithm/searching/boyer_moore.hpp +++ b/3party/boost/boost/algorithm/searching/boyer_moore.hpp @@ -33,8 +33,8 @@ References: http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/ http://www.cs.utexas.edu/~moore/publications/fstrpos.pdf -Explanations: boostinspect:noascii (test tool complains) - http://en.wikipedia.org/wiki/Boyer–Moore_string_search_algorithm +Explanations: + http://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string_search_algorithm http://www.movsd.com/bm.htm http://www.cs.ucdavis.edu/~gusfield/cs224f09/bnotes.pdf diff --git a/3party/boost/boost/algorithm/string/detail/find_format.hpp b/3party/boost/boost/algorithm/string/detail/find_format.hpp index 8b9ad42766..1612b93780 100644 --- a/3party/boost/boost/algorithm/string/detail/find_format.hpp +++ b/3party/boost/boost/algorithm/string/detail/find_format.hpp @@ -56,7 +56,7 @@ namespace boost { // Copy the beginning of the sequence Output = std::copy( ::boost::begin(Input), ::boost::begin(M), Output ); // Format find result - // Copy formated result + // Copy formatted result Output = std::copy( ::boost::begin(M.format_result()), ::boost::end(M.format_result()), Output ); // Copy the rest of the sequence Output = std::copy( M.end(), ::boost::end(Input), Output ); @@ -118,11 +118,11 @@ namespace boost { InputT Output; // Copy the beginning of the sequence - insert( Output, ::boost::end(Output), ::boost::begin(Input), M.begin() ); - // Copy formated result - insert( Output, ::boost::end(Output), M.format_result() ); + boost::algorithm::detail::insert( Output, ::boost::end(Output), ::boost::begin(Input), M.begin() ); + // Copy formatted result + boost::algorithm::detail::insert( Output, ::boost::end(Output), M.format_result() ); // Copy the rest of the sequence - insert( Output, ::boost::end(Output), M.end(), ::boost::end(Input) ); + boost::algorithm::detail::insert( Output, ::boost::end(Output), M.end(), ::boost::end(Input) ); return Output; } diff --git a/3party/boost/boost/algorithm/string/detail/find_format_all.hpp b/3party/boost/boost/algorithm/string/detail/find_format_all.hpp index 978710c95c..51ad56678d 100644 --- a/3party/boost/boost/algorithm/string/detail/find_format_all.hpp +++ b/3party/boost/boost/algorithm/string/detail/find_format_all.hpp @@ -58,7 +58,7 @@ namespace boost { { // Copy the beginning of the sequence Output = std::copy( LastMatch, M.begin(), Output ); - // Copy formated result + // Copy formatted result Output = std::copy( ::boost::begin(M.format_result()), ::boost::end(M.format_result()), Output ); // Proceed to the next match @@ -134,9 +134,9 @@ namespace boost { while( M ) { // Copy the beginning of the sequence - insert( Output, ::boost::end(Output), LastMatch, M.begin() ); - // Copy formated result - insert( Output, ::boost::end(Output), M.format_result() ); + boost::algorithm::detail::insert( Output, ::boost::end(Output), LastMatch, M.begin() ); + // Copy formatted result + boost::algorithm::detail::insert( Output, ::boost::end(Output), M.format_result() ); // Proceed to the next match LastMatch=M.end(); @@ -218,7 +218,7 @@ namespace boost { // Adjust search iterator SearchIt=M.end(); - // Copy formated replace to the storage + // Copy formatted replace to the storage ::boost::algorithm::detail::copy_to_storage( Storage, M.format_result() ); // Find range for a next match diff --git a/3party/boost/boost/algorithm/string/detail/finder.hpp b/3party/boost/boost/algorithm/string/detail/finder.hpp index 45bcb7d3d6..93310d053a 100644 --- a/3party/boost/boost/algorithm/string/detail/finder.hpp +++ b/3party/boost/boost/algorithm/string/detail/finder.hpp @@ -92,7 +92,7 @@ namespace boost { // find last functor -----------------------------------------------// - // find the last match a subseqeunce in the sequence ( functor ) + // find the last match a subsequence in the sequence ( functor ) /* Returns a pair marking the subsequence in the sequence. If the find fails, returns diff --git a/3party/boost/boost/algorithm/string/detail/finder_regex.hpp b/3party/boost/boost/algorithm/string/detail/finder_regex.hpp index 673d93a538..01bf5a082a 100644 --- a/3party/boost/boost/algorithm/string/detail/finder_regex.hpp +++ b/3party/boost/boost/algorithm/string/detail/finder_regex.hpp @@ -60,14 +60,14 @@ namespace boost { return *this; } - // Match result retrival + // Match result retrieval const match_results_type& match_results() const { return m_MatchResults; } private: - // Saved matchresult + // Saved match result match_results_type m_MatchResults; }; diff --git a/3party/boost/boost/algorithm/string/find.hpp b/3party/boost/boost/algorithm/string/find.hpp index cc99ca1c93..da1cb616b1 100644 --- a/3party/boost/boost/algorithm/string/find.hpp +++ b/3party/boost/boost/algorithm/string/find.hpp @@ -86,7 +86,7 @@ namespace boost { //! Find first algorithm ( case insensitive ) /*! - Search for the first occurence of the substring in the input. + Search for the first occurrence of the substring in the input. Searching is case insensitive. \param Input A string which will be searched. @@ -293,7 +293,7 @@ namespace boost { If the "token compress mode" is enabled, adjacent tokens are considered to be one match. \param Input A input string. - \param Pred An unary predicate to identify a token + \param Pred A unary predicate to identify a token \param eCompress Enable/Disable compressing of adjacent tokens \return An \c iterator_range delimiting the match. diff --git a/3party/boost/boost/algorithm/string/find_iterator.hpp b/3party/boost/boost/algorithm/string/find_iterator.hpp index b72ba7c785..e8cede5e8e 100644 --- a/3party/boost/boost/algorithm/string/find_iterator.hpp +++ b/3party/boost/boost/algorithm/string/find_iterator.hpp @@ -132,7 +132,12 @@ namespace boost { // increment void increment() { - m_Match=this->do_find(m_Match.end(),m_End); + if(m_Match.begin() == m_Match.end()) + m_Match=this->do_find(m_Match.end(),m_End); + else { + input_iterator_type last = m_Match.begin(); + m_Match=this->do_find(++last,m_End); + } } // comparison diff --git a/3party/boost/boost/algorithm/string/formatter.hpp b/3party/boost/boost/algorithm/string/formatter.hpp index ab5921e730..c2c13eb2ec 100644 --- a/3party/boost/boost/algorithm/string/formatter.hpp +++ b/3party/boost/boost/algorithm/string/formatter.hpp @@ -39,7 +39,7 @@ namespace boost { Constructs a \c const_formatter. Const formatter always returns the same value, regardless of the parameter. - \param Format A predefined value used as a result for formating + \param Format A predefined value used as a result for formatting \return An instance of the \c const_formatter object. */ template @@ -95,7 +95,7 @@ namespace boost { to extract a portion of the formatted sequence. The first finder's match is returned as a result - \param Finder a finder used to select a portion of the formated sequence + \param Finder a finder used to select a portion of the formatted sequence \return An instance of the \c dissect_formatter object. */ template diff --git a/3party/boost/boost/algorithm/string/predicate_facade.hpp b/3party/boost/boost/algorithm/string/predicate_facade.hpp index c8319f7ee8..a9753fc2ae 100644 --- a/3party/boost/boost/algorithm/string/predicate_facade.hpp +++ b/3party/boost/boost/algorithm/string/predicate_facade.hpp @@ -15,7 +15,7 @@ /* \file boost/algorith/string/predicate_facade.hpp - This file containes predicate_facade definition. This template class is used + This file contains predicate_facade definition. This template class is used to identify classification predicates, so they can be combined using composition operators. */ diff --git a/3party/boost/boost/algorithm/string/regex_find_format.hpp b/3party/boost/boost/algorithm/string/regex_find_format.hpp index f698004a3a..409afc2ba0 100644 --- a/3party/boost/boost/algorithm/string/regex_find_format.hpp +++ b/3party/boost/boost/algorithm/string/regex_find_format.hpp @@ -32,7 +32,7 @@ namespace boost { Construct the \c regex_finder. Finder uses the regex engine to search for a match. Result is given in \c regex_search_result. This is an extension - of the iterator_range. In addition it containes match results + of the iterator_range. In addition it contains match results from the \c regex_search algorithm. \param Rx A regular expression diff --git a/3party/boost/boost/algorithm/string/trim.hpp b/3party/boost/boost/algorithm/string/trim.hpp index eb408a35e6..be57cd92ff 100644 --- a/3party/boost/boost/algorithm/string/trim.hpp +++ b/3party/boost/boost/algorithm/string/trim.hpp @@ -50,7 +50,7 @@ namespace boost { \param Output An output iterator to which the result will be copied \param Input An input range - \param IsSpace An unary predicate identifying spaces + \param IsSpace A unary predicate identifying spaces \return An output iterator pointing just after the last inserted character or a copy of the input @@ -118,7 +118,7 @@ namespace boost { The input sequence is modified in-place. \param Input An input sequence - \param IsSpace An unary predicate identifying spaces + \param IsSpace A unary predicate identifying spaces */ template inline void trim_left_if(SequenceT& Input, PredicateT IsSpace) @@ -158,7 +158,7 @@ namespace boost { \param Output An output iterator to which the result will be copied \param Input An input range - \param IsSpace An unary predicate identifying spaces + \param IsSpace A unary predicate identifying spaces \return An output iterator pointing just after the last inserted character or a copy of the input @@ -228,7 +228,7 @@ namespace boost { The input sequence is modified in-place. \param Input An input sequence - \param IsSpace An unary predicate identifying spaces + \param IsSpace A unary predicate identifying spaces */ template inline void trim_right_if(SequenceT& Input, PredicateT IsSpace) @@ -270,7 +270,7 @@ namespace boost { \param Output An output iterator to which the result will be copied \param Input An input range - \param IsSpace An unary predicate identifying spaces + \param IsSpace A unary predicate identifying spaces \return An output iterator pointing just after the last inserted character or a copy of the input @@ -352,7 +352,7 @@ namespace boost { The input sequence is modified in-place. \param Input An input sequence - \param IsSpace An unary predicate identifying spaces + \param IsSpace A unary predicate identifying spaces */ template inline void trim_if(SequenceT& Input, PredicateT IsSpace) diff --git a/3party/boost/boost/algorithm/string/trim_all.hpp b/3party/boost/boost/algorithm/string/trim_all.hpp index 70fd0412ec..a616f7f33e 100644 --- a/3party/boost/boost/algorithm/string/trim_all.hpp +++ b/3party/boost/boost/algorithm/string/trim_all.hpp @@ -49,7 +49,7 @@ namespace boost { The result is a trimmed copy of the input \param Input An input sequence - \param IsSpace An unary predicate identifying spaces + \param IsSpace A unary predicate identifying spaces \return A trimmed copy of the input */ template @@ -70,7 +70,7 @@ namespace boost { The input sequence is modified in-place. \param Input An input sequence - \param IsSpace An unary predicate identifying spaces + \param IsSpace A unary predicate identifying spaces */ template inline void trim_all_if(SequenceT& Input, PredicateT IsSpace) @@ -126,7 +126,7 @@ namespace boost { \param Input An input sequence \param Fill A string used to fill the inner spaces - \param IsSpace An unary predicate identifying spaces + \param IsSpace A unary predicate identifying spaces \return A trimmed copy of the input */ template @@ -149,7 +149,7 @@ namespace boost { \param Input An input sequence \param Fill A string used to fill the inner spaces - \param IsSpace An unary predicate identifying spaces + \param IsSpace A unary predicate identifying spaces */ template inline void trim_fill_if(SequenceT& Input, const RangeT& Fill, PredicateT IsSpace) diff --git a/3party/boost/boost/algorithm/string_regex.hpp b/3party/boost/boost/algorithm/string_regex.hpp index 6fd8ad9fa1..791aa18481 100644 --- a/3party/boost/boost/algorithm/string_regex.hpp +++ b/3party/boost/boost/algorithm/string_regex.hpp @@ -13,7 +13,7 @@ /*! \file Cumulative include for string_algo library. - In addtion to string.hpp contains also regex-related stuff. + In addition to string.hpp contains also regex-related stuff. */ #include diff --git a/3party/boost/boost/any.hpp b/3party/boost/boost/any.hpp index a8c654c373..22ee76e452 100644 --- a/3party/boost/boost/any.hpp +++ b/3party/boost/boost/any.hpp @@ -3,12 +3,16 @@ #ifndef BOOST_ANY_INCLUDED #define BOOST_ANY_INCLUDED +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + // what: variant type boost::any // who: contributed by Kevlin Henney, // with features contributed and bugs found by -// Ed Brey, Mark Rodgers, Peter Dimov, and James Curran -// when: July 2001 -// where: tested with BCC 5.5, MSVC 6.0, and g++ 2.95 +// Antony Polukhin, Ed Brey, Mark Rodgers, +// Peter Dimov, and James Curran +// when: July 2001, Aplril 2013 #include #include @@ -18,6 +22,8 @@ #include #include #include +#include +#include // See boost/python/type_id.hpp // TODO: add BOOST_TYPEID_COMPARE_BY_NAME to config.hpp @@ -36,7 +42,7 @@ namespace boost { public: // structors - any() + any() BOOST_NOEXCEPT : content(0) { } @@ -52,19 +58,37 @@ namespace boost { } - ~any() +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + // Move constructor + any(any&& other) BOOST_NOEXCEPT + : content(other.content) + { + other.content = 0; + } + + // Perfect forwarding of ValueType + template + any(ValueType&& value, typename boost::disable_if >::type* = 0) + : content(new holder< typename remove_reference::type >(static_cast(value))) + { + } +#endif + + ~any() BOOST_NOEXCEPT { delete content; } public: // modifiers - any & swap(any & rhs) + any & swap(any & rhs) BOOST_NOEXCEPT { std::swap(content, rhs.content); return *this; } + +#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES template any & operator=(const ValueType & rhs) { @@ -74,13 +98,37 @@ namespace boost any & operator=(any rhs) { - rhs.swap(*this); + any(rhs).swap(*this); return *this; } +#else + any & operator=(const any& rhs) + { + any(rhs).swap(*this); + return *this; + } + + // move assignement + any & operator=(any&& rhs) BOOST_NOEXCEPT + { + rhs.swap(*this); + any().swap(rhs); + return *this; + } + + // Perfect forwarding of ValueType + template + any & operator=(ValueType&& rhs) + { + any(static_cast(rhs)).swap(*this); + return *this; + } +#endif + public: // queries - bool empty() const + bool empty() const BOOST_NOEXCEPT { return !content; } @@ -122,6 +170,12 @@ namespace boost { } +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + holder(ValueType&& value) + : held(static_cast< ValueType&& >(value)) + { + } +#endif public: // queries virtual const std::type_info & type() const @@ -147,10 +201,10 @@ namespace boost private: // representation template - friend ValueType * any_cast(any *); + friend ValueType * any_cast(any *) BOOST_NOEXCEPT; template - friend ValueType * unsafe_any_cast(any *); + friend ValueType * unsafe_any_cast(any *) BOOST_NOEXCEPT; #else @@ -161,6 +215,11 @@ namespace boost placeholder * content; }; + + inline void swap(any & lhs, any & rhs) BOOST_NOEXCEPT + { + lhs.swap(rhs); + } class bad_any_cast : public std::bad_cast { @@ -173,7 +232,7 @@ namespace boost }; template - ValueType * any_cast(any * operand) + ValueType * any_cast(any * operand) BOOST_NOEXCEPT { return operand && #ifdef BOOST_AUX_ANY_TYPE_ID_NAME @@ -186,7 +245,7 @@ namespace boost } template - inline const ValueType * any_cast(const any * operand) + inline const ValueType * any_cast(const any * operand) BOOST_NOEXCEPT { return any_cast(const_cast(operand)); } @@ -232,13 +291,13 @@ namespace boost // use typeid() comparison, e.g., when our types may travel across // different shared libraries. template - inline ValueType * unsafe_any_cast(any * operand) + inline ValueType * unsafe_any_cast(any * operand) BOOST_NOEXCEPT { return &static_cast *>(operand->content)->held; } template - inline const ValueType * unsafe_any_cast(const any * operand) + inline const ValueType * unsafe_any_cast(const any * operand) BOOST_NOEXCEPT { return unsafe_any_cast(const_cast(operand)); } diff --git a/3party/boost/boost/archive/archive_exception.hpp b/3party/boost/boost/archive/archive_exception.hpp index b5f33f6853..e27807bc26 100644 --- a/3party/boost/boost/archive/archive_exception.hpp +++ b/3party/boost/boost/archive/archive_exception.hpp @@ -43,6 +43,8 @@ namespace archive { class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) archive_exception : public virtual std::exception { +protected: + char m_buffer[128]; public: typedef enum { no_exception, // initialized without code @@ -74,8 +76,6 @@ public: // type has been instantiated in more than one module. output_stream_error // error on input stream } exception_code; -protected: - std::string m_msg; public: exception_code code; archive_exception( @@ -83,9 +83,11 @@ public: const char * e1 = NULL, const char * e2 = NULL ); - ~archive_exception() throw (); - virtual const char *what( ) const throw(); + virtual ~archive_exception() throw(); + virtual const char *what() const throw(); protected: + unsigned int + append(unsigned int l, const char * a); archive_exception(); }; diff --git a/3party/boost/boost/archive/impl/basic_text_iprimitive.ipp b/3party/boost/boost/archive/impl/basic_text_iprimitive.ipp index ad6a6d58d2..16378b8437 100644 --- a/3party/boost/boost/archive/impl/basic_text_iprimitive.ipp +++ b/3party/boost/boost/archive/impl/basic_text_iprimitive.ipp @@ -86,23 +86,21 @@ basic_text_iprimitive::load_binary( ,CharType > binary; - - binary ti_begin = binary( + + binary i = binary( BOOST_MAKE_PFTO_WRAPPER( iterators::istream_iterator(is) ) ); - + char * caddr = static_cast(address); // take care that we don't increment anymore than necessary - while(--count > 0){ - *caddr++ = static_cast(*ti_begin); - ++ti_begin; + while(count-- > 0){ + *caddr++ = static_cast(*i++); } - *caddr++ = static_cast(*ti_begin); - - iterators::istream_iterator i; + + // skip over any excess input for(;;){ BOOST_DEDUCED_TYPENAME IStream::int_type r; r = is.get(); @@ -112,7 +110,7 @@ basic_text_iprimitive::load_binary( break; } } - + template BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_text_iprimitive::basic_text_iprimitive( diff --git a/3party/boost/boost/archive/impl/basic_text_oprimitive.ipp b/3party/boost/boost/archive/impl/basic_text_oprimitive.ipp index cacab617c2..7e4315c0da 100644 --- a/3party/boost/boost/archive/impl/basic_text_oprimitive.ipp +++ b/3party/boost/boost/archive/impl/basic_text_oprimitive.ipp @@ -51,7 +51,7 @@ basic_text_oprimitive::save_binary( 8 > > - ,72 + ,76 ,const char // cwpro8 needs this > base64_text; diff --git a/3party/boost/boost/archive/iterators/binary_from_base64.hpp b/3party/boost/boost/archive/iterators/binary_from_base64.hpp index 60f23f3971..2fe8292f14 100644 --- a/3party/boost/boost/archive/iterators/binary_from_base64.hpp +++ b/3party/boost/boost/archive/iterators/binary_from_base64.hpp @@ -43,7 +43,7 @@ struct to_6_bit { -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63, - 52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1, + 52,53,54,55,56,57,58,59,60,61,-1,-1,-1, 0,-1,-1, // render '=' as 0 -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1, -1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40, diff --git a/3party/boost/boost/archive/iterators/istream_iterator.hpp b/3party/boost/boost/archive/iterators/istream_iterator.hpp index 1df612dc8d..478f112ff8 100644 --- a/3party/boost/boost/archive/iterators/istream_iterator.hpp +++ b/3party/boost/boost/archive/iterators/istream_iterator.hpp @@ -49,16 +49,17 @@ class istream_iterator : > super_t; typedef BOOST_DEDUCED_TYPENAME std::basic_istream istream_type; - //Access the value referred to - Elem dereference() const { - return m_current_value; - } - bool equal(const this_t & rhs) const { // note: only works for comparison against end of stream return m_istream == rhs.m_istream; } +/* + //Access the value referred to + Elem dereference() const { + return m_current_value; + } + void increment(){ if(NULL != m_istream){ m_current_value = static_cast(m_istream->get()); @@ -67,6 +68,17 @@ class istream_iterator : } } } +*/ + //Access the value referred to + Elem dereference() const { + return m_istream->peek(); + } + + void increment(){ + if(NULL != m_istream){ + m_istream->ignore(1); + } + } istream_type *m_istream; Elem m_current_value; @@ -74,7 +86,7 @@ public: istream_iterator(istream_type & is) : m_istream(& is) { - increment(); + //increment(); } istream_iterator() : diff --git a/3party/boost/boost/archive/iterators/transform_width.hpp b/3party/boost/boost/archive/iterators/transform_width.hpp index 6e2c526637..5a5c7b757a 100644 --- a/3party/boost/boost/archive/iterators/transform_width.hpp +++ b/3party/boost/boost/archive/iterators/transform_width.hpp @@ -24,8 +24,6 @@ // character and 8 bit bytes. Lowest common multiple is 24 => 4 6 bit characters // or 3 8 bit characters -#include - #include // for BOOST_DEDUCED_TYPENAME & PTFO #include @@ -66,101 +64,105 @@ class transform_width : typedef transform_width this_t; typedef BOOST_DEDUCED_TYPENAME iterator_value::type base_value_type; - CharType fill(); - - CharType dereference_impl(){ - if(! m_full){ - m_current_value = fill(); - m_full = true; - } - return m_current_value; - } + void fill(); CharType dereference() const { - return const_cast(this)->dereference_impl(); + if(!m_buffer_out_full) + const_cast(this)->fill(); + return m_buffer_out; } - // test for iterator equality + bool equal_impl(const this_t & rhs){ + if(BitsIn < BitsOut) // discard any left over bits + return this->base_reference() == rhs.base_reference(); + else{ + // BitsIn > BitsOut // zero fill + if(this->base_reference() == rhs.base_reference()){ + m_end_of_sequence = true; + return 0 == m_remaining_bits; + } + return false; + } + } + + // standard iterator interface bool equal(const this_t & rhs) const { - return - this->base_reference() == rhs.base_reference(); - ; + return const_cast(this)->equal_impl(rhs); } void increment(){ - m_displacement += BitsOut; - - while(m_displacement >= BitsIn){ - m_displacement -= BitsIn; - if(0 == m_displacement) - m_bufferfull = false; - if(! m_bufferfull){ - // note: suspect that this is not invoked for borland - ++(this->base_reference()); - } - } - m_full = false; + m_buffer_out_full = false; } - CharType m_current_value; - // number of bits left in current input character buffer - unsigned int m_displacement; - base_value_type m_buffer; - // flag to current output character is ready - just used to save time - bool m_full; - // flag to indicate that m_buffer has data - bool m_bufferfull; + bool m_buffer_out_full; + CharType m_buffer_out; + + // last read element from input + base_value_type m_buffer_in; + + // number of bits to left in the input buffer. + unsigned int m_remaining_bits; + + // flag to indicate we've reached end of data. + bool m_end_of_sequence; public: // make composible buy using templated constructor template transform_width(BOOST_PFTO_WRAPPER(T) start) : super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))), - m_displacement(0), - m_full(false), - m_bufferfull(false) + m_buffer_out_full(false), + m_remaining_bits(0), + m_end_of_sequence(false) {} // intel 7.1 doesn't like default copy constructor transform_width(const transform_width & rhs) : super_t(rhs.base_reference()), - m_current_value(rhs.m_current_value), - m_displacement(rhs.m_displacement), - m_buffer(rhs.m_buffer), - m_full(rhs.m_full), - m_bufferfull(rhs.m_bufferfull) + m_buffer_out_full(rhs.m_buffer_out_full), + m_remaining_bits(rhs.m_remaining_bits), + m_buffer_in(rhs.m_buffer_in), + m_end_of_sequence(false) {} }; -template -CharType transform_width::fill(){ - CharType retval = 0; +template< + class Base, + int BitsOut, + int BitsIn, + class CharType +> +void transform_width::fill() { unsigned int missing_bits = BitsOut; - for(;;){ - unsigned int bcount; - if(! m_bufferfull){ - m_buffer = * this->base_reference(); - m_bufferfull = true; - bcount = BitsIn; + m_buffer_out = 0; + do{ + if(0 == m_remaining_bits){ + if(m_end_of_sequence){ + m_buffer_in = 0; + m_remaining_bits = missing_bits; + } + else{ + m_buffer_in = * this->base_reference()++; + m_remaining_bits = BitsIn; + } } - else - bcount = BitsIn - m_displacement; - unsigned int i = (std::min)(bcount, missing_bits); + + // append these bits to the next output + // up to the size of the output + unsigned int i = std::min(missing_bits, m_remaining_bits); // shift interesting bits to least significant position - unsigned int j = m_buffer >> (bcount - i); - // strip off uninteresting bits - // (note presumption of two's complement arithmetic) - j &= ~(-(1 << i)); + base_value_type j = m_buffer_in >> (m_remaining_bits - i); + // and mask off the un interesting higher bits + // note presumption of twos complement notation + j &= (1 << i) - 1; // append then interesting bits to the output value - retval <<= i; - retval |= j; + m_buffer_out <<= i; + m_buffer_out |= j; + + // and update counters missing_bits -= i; - if(0 == missing_bits) - break; - // note: suspect that this is not invoked for borland 5.51 - ++(this->base_reference()); - m_bufferfull = false; - } - return retval; + m_remaining_bits -= i; + }while(0 < missing_bits); + m_buffer_out_full = true; } } // namespace iterators diff --git a/3party/boost/boost/asio.hpp b/3party/boost/boost/asio.hpp index 8205c5509a..a810967cc3 100644 --- a/3party/boost/boost/asio.hpp +++ b/3party/boost/boost/asio.hpp @@ -2,7 +2,7 @@ // asio.hpp // ~~~~~~~~ // -// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -17,6 +17,7 @@ # pragma once #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) +#include #include #include #include @@ -40,12 +41,20 @@ #include #include #include +#include #include #include #include #include +#include +#include +#include +#include +#include #include +#include #include +#include #include #include #include diff --git a/3party/boost/boost/asio/async_result.hpp b/3party/boost/boost/asio/async_result.hpp new file mode 100644 index 0000000000..845fb02b2b --- /dev/null +++ b/3party/boost/boost/asio/async_result.hpp @@ -0,0 +1,96 @@ +// +// async_result.hpp +// ~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// + +#ifndef BOOST_ASIO_ASYNC_RESULT_HPP +#define BOOST_ASIO_ASYNC_RESULT_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include +#include + +#include + +namespace boost { +namespace asio { + +/// An interface for customising the behaviour of an initiating function. +/** + * This template may be specialised for user-defined handler types. + */ +template +class async_result +{ +public: + /// The return type of the initiating function. + typedef void type; + + /// Construct an async result from a given handler. + /** + * When using a specalised async_result, the constructor has an opportunity + * to initialise some state associated with the handler, which is then + * returned from the initiating function. + */ + explicit async_result(Handler&) + { + } + + /// Obtain the value to be returned from the initiating function. + type get() + { + } +}; + +namespace detail { + +// Helper template to deduce the true type of a handler, capture a local copy +// of the handler, and then create an async_result for the handler. +template +struct async_result_init +{ + explicit async_result_init(BOOST_ASIO_MOVE_ARG(Handler) orig_handler) + : handler(BOOST_ASIO_MOVE_CAST(Handler)(orig_handler)), + result(handler) + { + } + + typename handler_type::type handler; + async_result::type> result; +}; + +template +struct async_result_type_helper +{ + typedef typename async_result< + typename handler_type::type + >::type type; +}; + +} // namespace detail +} // namespace asio +} // namespace boost + +#include + +#if defined(GENERATING_DOCUMENTATION) +# define BOOST_ASIO_INITFN_RESULT_TYPE(h, sig) \ + void_or_deduced +#elif defined(_MSC_VER) && (_MSC_VER < 1500) +# define BOOST_ASIO_INITFN_RESULT_TYPE(h, sig) \ + typename ::boost::asio::detail::async_result_type_helper::type +#else +# define BOOST_ASIO_INITFN_RESULT_TYPE(h, sig) \ + typename ::boost::asio::async_result< \ + typename ::boost::asio::handler_type::type>::type +#endif + +#endif // BOOST_ASIO_ASYNC_RESULT_HPP diff --git a/3party/boost/boost/asio/basic_datagram_socket.hpp b/3party/boost/boost/asio/basic_datagram_socket.hpp index a773315cb2..a9b2211e70 100644 --- a/3party/boost/boost/asio/basic_datagram_socket.hpp +++ b/3party/boost/boost/asio/basic_datagram_socket.hpp @@ -2,7 +2,7 @@ // basic_datagram_socket.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -166,6 +167,50 @@ public: BOOST_ASIO_MOVE_CAST(basic_datagram_socket)(other)); return *this; } + + /// Move-construct a basic_datagram_socket from a socket of another protocol + /// type. + /** + * This constructor moves a datagram socket from one object to another. + * + * @param other The other basic_datagram_socket object from which the move + * will occur. + * + * @note Following the move, the moved-from object is in the same state as if + * constructed using the @c basic_datagram_socket(io_service&) constructor. + */ + template + basic_datagram_socket( + basic_datagram_socket&& other, + typename enable_if::value>::type* = 0) + : basic_socket( + BOOST_ASIO_MOVE_CAST2(basic_datagram_socket< + Protocol1, DatagramSocketService1>)(other)) + { + } + + /// Move-assign a basic_datagram_socket from a socket of another protocol + /// type. + /** + * This assignment operator moves a datagram socket from one object to + * another. + * + * @param other The other basic_datagram_socket object from which the move + * will occur. + * + * @note Following the move, the moved-from object is in the same state as if + * constructed using the @c basic_datagram_socket(io_service&) constructor. + */ + template + typename enable_if::value, + basic_datagram_socket>::type& operator=( + basic_datagram_socket&& other) + { + basic_socket::operator=( + BOOST_ASIO_MOVE_CAST2(basic_datagram_socket< + Protocol1, DatagramSocketService1>)(other)); + return *this; + } #endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION) /// Send some data on a connected socket. @@ -290,14 +335,16 @@ public: * std::vector. */ template - void async_send(const ConstBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + void (boost::system::error_code, std::size_t)) + async_send(const ConstBufferSequence& buffers, BOOST_ASIO_MOVE_ARG(WriteHandler) handler) { // If you get an error on the following line it means that your handler does // not meet the documented type requirements for a WriteHandler. BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check; - this->get_service().async_send(this->get_implementation(), + return this->get_service().async_send(this->get_implementation(), buffers, 0, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); } @@ -331,7 +378,9 @@ public: * socket. */ template - void async_send(const ConstBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + void (boost::system::error_code, std::size_t)) + async_send(const ConstBufferSequence& buffers, socket_base::message_flags flags, BOOST_ASIO_MOVE_ARG(WriteHandler) handler) { @@ -339,7 +388,7 @@ public: // not meet the documented type requirements for a WriteHandler. BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check; - this->get_service().async_send(this->get_implementation(), + return this->get_service().async_send(this->get_implementation(), buffers, flags, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); } @@ -469,7 +518,9 @@ public: * std::vector. */ template - void async_send_to(const ConstBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + void (boost::system::error_code, std::size_t)) + async_send_to(const ConstBufferSequence& buffers, const endpoint_type& destination, BOOST_ASIO_MOVE_ARG(WriteHandler) handler) { @@ -477,8 +528,9 @@ public: // not meet the documented type requirements for a WriteHandler. BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check; - this->get_service().async_send_to(this->get_implementation(), buffers, - destination, 0, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); + return this->get_service().async_send_to( + this->get_implementation(), buffers, destination, 0, + BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); } /// Start an asynchronous send. @@ -509,7 +561,9 @@ public: * boost::asio::io_service::post(). */ template - void async_send_to(const ConstBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + void (boost::system::error_code, std::size_t)) + async_send_to(const ConstBufferSequence& buffers, const endpoint_type& destination, socket_base::message_flags flags, BOOST_ASIO_MOVE_ARG(WriteHandler) handler) { @@ -517,8 +571,9 @@ public: // not meet the documented type requirements for a WriteHandler. BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check; - this->get_service().async_send_to(this->get_implementation(), buffers, - destination, flags, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); + return this->get_service().async_send_to( + this->get_implementation(), buffers, destination, flags, + BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); } /// Receive some data on a connected socket. @@ -647,14 +702,16 @@ public: * std::vector. */ template - void async_receive(const MutableBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) + async_receive(const MutableBufferSequence& buffers, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) { // If you get an error on the following line it means that your handler does // not meet the documented type requirements for a ReadHandler. BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - this->get_service().async_receive(this->get_implementation(), + return this->get_service().async_receive(this->get_implementation(), buffers, 0, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); } @@ -687,7 +744,9 @@ public: * datagram socket. */ template - void async_receive(const MutableBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) + async_receive(const MutableBufferSequence& buffers, socket_base::message_flags flags, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) { @@ -695,7 +754,7 @@ public: // not meet the documented type requirements for a ReadHandler. BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - this->get_service().async_receive(this->get_implementation(), + return this->get_service().async_receive(this->get_implementation(), buffers, flags, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); } @@ -825,7 +884,9 @@ public: * std::vector. */ template - void async_receive_from(const MutableBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) + async_receive_from(const MutableBufferSequence& buffers, endpoint_type& sender_endpoint, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) { @@ -833,8 +894,9 @@ public: // not meet the documented type requirements for a ReadHandler. BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - this->get_service().async_receive_from(this->get_implementation(), buffers, - sender_endpoint, 0, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); + return this->get_service().async_receive_from( + this->get_implementation(), buffers, sender_endpoint, 0, + BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); } /// Start an asynchronous receive. @@ -867,7 +929,9 @@ public: * boost::asio::io_service::post(). */ template - void async_receive_from(const MutableBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) + async_receive_from(const MutableBufferSequence& buffers, endpoint_type& sender_endpoint, socket_base::message_flags flags, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) { @@ -875,8 +939,9 @@ public: // not meet the documented type requirements for a ReadHandler. BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - this->get_service().async_receive_from(this->get_implementation(), buffers, - sender_endpoint, flags, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); + return this->get_service().async_receive_from( + this->get_implementation(), buffers, sender_endpoint, flags, + BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); } }; diff --git a/3party/boost/boost/asio/basic_deadline_timer.hpp b/3party/boost/boost/asio/basic_deadline_timer.hpp index 6baeb7ad74..a5acea7e2c 100644 --- a/3party/boost/boost/asio/basic_deadline_timer.hpp +++ b/3party/boost/boost/asio/basic_deadline_timer.hpp @@ -2,7 +2,7 @@ // basic_deadline_timer.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -16,6 +16,10 @@ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include + +#if defined(BOOST_ASIO_HAS_BOOST_DATE_TIME) \ + || defined(GENERATING_DOCUMENTATION) + #include #include #include @@ -492,13 +496,15 @@ public: * boost::asio::io_service::post(). */ template - void async_wait(BOOST_ASIO_MOVE_ARG(WaitHandler) handler) + BOOST_ASIO_INITFN_RESULT_TYPE(WaitHandler, + void (boost::system::error_code)) + async_wait(BOOST_ASIO_MOVE_ARG(WaitHandler) handler) { // If you get an error on the following line it means that your handler does // not meet the documented type requirements for a WaitHandler. BOOST_ASIO_WAIT_HANDLER_CHECK(WaitHandler, handler) type_check; - this->service.async_wait(this->implementation, + return this->service.async_wait(this->implementation, BOOST_ASIO_MOVE_CAST(WaitHandler)(handler)); } }; @@ -508,4 +514,7 @@ public: #include +#endif // defined(BOOST_ASIO_HAS_BOOST_DATE_TIME) + // || defined(GENERATING_DOCUMENTATION) + #endif // BOOST_ASIO_BASIC_DEADLINE_TIMER_HPP diff --git a/3party/boost/boost/asio/basic_io_object.hpp b/3party/boost/boost/asio/basic_io_object.hpp index 0464335958..89e2bed731 100644 --- a/3party/boost/boost/asio/basic_io_object.hpp +++ b/3party/boost/boost/asio/basic_io_object.hpp @@ -2,7 +2,7 @@ // basic_io_object.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_raw_socket.hpp b/3party/boost/boost/asio/basic_raw_socket.hpp index 90f66c00c0..9b9f45b3a8 100644 --- a/3party/boost/boost/asio/basic_raw_socket.hpp +++ b/3party/boost/boost/asio/basic_raw_socket.hpp @@ -2,7 +2,7 @@ // basic_raw_socket.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -165,6 +166,46 @@ public: BOOST_ASIO_MOVE_CAST(basic_raw_socket)(other)); return *this; } + + /// Move-construct a basic_raw_socket from a socket of another protocol type. + /** + * This constructor moves a raw socket from one object to another. + * + * @param other The other basic_raw_socket object from which the move will + * occur. + * + * @note Following the move, the moved-from object is in the same state as if + * constructed using the @c basic_raw_socket(io_service&) constructor. + */ + template + basic_raw_socket(basic_raw_socket&& other, + typename enable_if::value>::type* = 0) + : basic_socket( + BOOST_ASIO_MOVE_CAST2(basic_raw_socket< + Protocol1, RawSocketService1>)(other)) + { + } + + /// Move-assign a basic_raw_socket from a socket of another protocol type. + /** + * This assignment operator moves a raw socket from one object to another. + * + * @param other The other basic_raw_socket object from which the move + * will occur. + * + * @note Following the move, the moved-from object is in the same state as if + * constructed using the @c basic_raw_socket(io_service&) constructor. + */ + template + typename enable_if::value, + basic_raw_socket>::type& operator=( + basic_raw_socket&& other) + { + basic_socket::operator=( + BOOST_ASIO_MOVE_CAST2(basic_raw_socket< + Protocol1, RawSocketService1>)(other)); + return *this; + } #endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION) /// Send some data on a connected socket. @@ -285,14 +326,16 @@ public: * std::vector. */ template - void async_send(const ConstBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + void (boost::system::error_code, std::size_t)) + async_send(const ConstBufferSequence& buffers, BOOST_ASIO_MOVE_ARG(WriteHandler) handler) { // If you get an error on the following line it means that your handler does // not meet the documented type requirements for a WriteHandler. BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check; - this->get_service().async_send(this->get_implementation(), + return this->get_service().async_send(this->get_implementation(), buffers, 0, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); } @@ -325,7 +368,9 @@ public: * socket. */ template - void async_send(const ConstBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + void (boost::system::error_code, std::size_t)) + async_send(const ConstBufferSequence& buffers, socket_base::message_flags flags, BOOST_ASIO_MOVE_ARG(WriteHandler) handler) { @@ -333,7 +378,7 @@ public: // not meet the documented type requirements for a WriteHandler. BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check; - this->get_service().async_send(this->get_implementation(), + return this->get_service().async_send(this->get_implementation(), buffers, flags, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); } @@ -463,7 +508,9 @@ public: * std::vector. */ template - void async_send_to(const ConstBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + void (boost::system::error_code, std::size_t)) + async_send_to(const ConstBufferSequence& buffers, const endpoint_type& destination, BOOST_ASIO_MOVE_ARG(WriteHandler) handler) { @@ -471,8 +518,8 @@ public: // not meet the documented type requirements for a WriteHandler. BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check; - this->get_service().async_send_to(this->get_implementation(), buffers, - destination, 0, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); + return this->get_service().async_send_to(this->get_implementation(), + buffers, destination, 0, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); } /// Start an asynchronous send. @@ -503,7 +550,9 @@ public: * boost::asio::io_service::post(). */ template - void async_send_to(const ConstBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + void (boost::system::error_code, std::size_t)) + async_send_to(const ConstBufferSequence& buffers, const endpoint_type& destination, socket_base::message_flags flags, BOOST_ASIO_MOVE_ARG(WriteHandler) handler) { @@ -511,8 +560,9 @@ public: // not meet the documented type requirements for a WriteHandler. BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check; - this->get_service().async_send_to(this->get_implementation(), buffers, - destination, flags, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); + return this->get_service().async_send_to( + this->get_implementation(), buffers, destination, flags, + BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); } /// Receive some data on a connected socket. @@ -641,14 +691,16 @@ public: * std::vector. */ template - void async_receive(const MutableBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) + async_receive(const MutableBufferSequence& buffers, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) { // If you get an error on the following line it means that your handler does // not meet the documented type requirements for a ReadHandler. BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - this->get_service().async_receive(this->get_implementation(), + return this->get_service().async_receive(this->get_implementation(), buffers, 0, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); } @@ -681,7 +733,9 @@ public: * raw socket. */ template - void async_receive(const MutableBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) + async_receive(const MutableBufferSequence& buffers, socket_base::message_flags flags, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) { @@ -689,7 +743,7 @@ public: // not meet the documented type requirements for a ReadHandler. BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - this->get_service().async_receive(this->get_implementation(), + return this->get_service().async_receive(this->get_implementation(), buffers, flags, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); } @@ -819,7 +873,9 @@ public: * std::vector. */ template - void async_receive_from(const MutableBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) + async_receive_from(const MutableBufferSequence& buffers, endpoint_type& sender_endpoint, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) { @@ -827,8 +883,9 @@ public: // not meet the documented type requirements for a ReadHandler. BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - this->get_service().async_receive_from(this->get_implementation(), buffers, - sender_endpoint, 0, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); + return this->get_service().async_receive_from( + this->get_implementation(), buffers, sender_endpoint, 0, + BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); } /// Start an asynchronous receive. @@ -861,7 +918,9 @@ public: * boost::asio::io_service::post(). */ template - void async_receive_from(const MutableBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) + async_receive_from(const MutableBufferSequence& buffers, endpoint_type& sender_endpoint, socket_base::message_flags flags, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) { @@ -869,8 +928,9 @@ public: // not meet the documented type requirements for a ReadHandler. BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - this->get_service().async_receive_from(this->get_implementation(), buffers, - sender_endpoint, flags, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); + return this->get_service().async_receive_from( + this->get_implementation(), buffers, sender_endpoint, flags, + BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); } }; diff --git a/3party/boost/boost/asio/basic_seq_packet_socket.hpp b/3party/boost/boost/asio/basic_seq_packet_socket.hpp index a638c71733..aee3b6853c 100644 --- a/3party/boost/boost/asio/basic_seq_packet_socket.hpp +++ b/3party/boost/boost/asio/basic_seq_packet_socket.hpp @@ -2,7 +2,7 @@ // basic_seq_packet_socket.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -171,6 +171,51 @@ public: BOOST_ASIO_MOVE_CAST(basic_seq_packet_socket)(other)); return *this; } + + /// Move-construct a basic_seq_packet_socket from a socket of another protocol + /// type. + /** + * This constructor moves a sequenced packet socket from one object to + * another. + * + * @param other The other basic_seq_packet_socket object from which the move + * will occur. + * + * @note Following the move, the moved-from object is in the same state as if + * constructed using the @c basic_seq_packet_socket(io_service&) constructor. + */ + template + basic_seq_packet_socket( + basic_seq_packet_socket&& other, + typename enable_if::value>::type* = 0) + : basic_socket( + BOOST_ASIO_MOVE_CAST2(basic_seq_packet_socket< + Protocol1, SeqPacketSocketService1>)(other)) + { + } + + /// Move-assign a basic_seq_packet_socket from a socket of another protocol + /// type. + /** + * This assignment operator moves a sequenced packet socket from one object to + * another. + * + * @param other The other basic_seq_packet_socket object from which the move + * will occur. + * + * @note Following the move, the moved-from object is in the same state as if + * constructed using the @c basic_seq_packet_socket(io_service&) constructor. + */ + template + typename enable_if::value, + basic_seq_packet_socket>::type& operator=( + basic_seq_packet_socket&& other) + { + basic_socket::operator=( + BOOST_ASIO_MOVE_CAST2(basic_seq_packet_socket< + Protocol1, SeqPacketSocketService1>)(other)); + return *this; + } #endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION) /// Send some data on the socket. @@ -267,7 +312,9 @@ public: * std::vector. */ template - void async_send(const ConstBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + void (boost::system::error_code, std::size_t)) + async_send(const ConstBufferSequence& buffers, socket_base::message_flags flags, BOOST_ASIO_MOVE_ARG(WriteHandler) handler) { @@ -275,7 +322,7 @@ public: // not meet the documented type requirements for a WriteHandler. BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check; - this->get_service().async_send(this->get_implementation(), + return this->get_service().async_send(this->get_implementation(), buffers, flags, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); } @@ -437,7 +484,9 @@ public: * std::vector. */ template - void async_receive(const MutableBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) + async_receive(const MutableBufferSequence& buffers, socket_base::message_flags& out_flags, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) { @@ -445,8 +494,9 @@ public: // not meet the documented type requirements for a ReadHandler. BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - this->get_service().async_receive(this->get_implementation(), buffers, - 0, out_flags, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); + return this->get_service().async_receive( + this->get_implementation(), buffers, 0, out_flags, + BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); } /// Start an asynchronous receive. @@ -492,7 +542,9 @@ public: * std::vector. */ template - void async_receive(const MutableBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) + async_receive(const MutableBufferSequence& buffers, socket_base::message_flags in_flags, socket_base::message_flags& out_flags, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) @@ -501,8 +553,9 @@ public: // not meet the documented type requirements for a ReadHandler. BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - this->get_service().async_receive(this->get_implementation(), buffers, - in_flags, out_flags, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); + return this->get_service().async_receive( + this->get_implementation(), buffers, in_flags, out_flags, + BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); } }; diff --git a/3party/boost/boost/asio/basic_serial_port.hpp b/3party/boost/boost/asio/basic_serial_port.hpp index 31ee955249..4d6f23f226 100644 --- a/3party/boost/boost/asio/basic_serial_port.hpp +++ b/3party/boost/boost/asio/basic_serial_port.hpp @@ -2,7 +2,7 @@ // basic_serial_port.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -559,14 +559,16 @@ public: * std::vector. */ template - void async_write_some(const ConstBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + void (boost::system::error_code, std::size_t)) + async_write_some(const ConstBufferSequence& buffers, BOOST_ASIO_MOVE_ARG(WriteHandler) handler) { // If you get an error on the following line it means that your handler does // not meet the documented type requirements for a WriteHandler. BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check; - this->get_service().async_write_some(this->get_implementation(), + return this->get_service().async_write_some(this->get_implementation(), buffers, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); } @@ -670,14 +672,16 @@ public: * std::vector. */ template - void async_read_some(const MutableBufferSequence& buffers, + BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) + async_read_some(const MutableBufferSequence& buffers, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) { // If you get an error on the following line it means that your handler does // not meet the documented type requirements for a ReadHandler. BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - this->get_service().async_read_some(this->get_implementation(), + return this->get_service().async_read_some(this->get_implementation(), buffers, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); } }; diff --git a/3party/boost/boost/asio/basic_signal_set.hpp b/3party/boost/boost/asio/basic_signal_set.hpp index ddbef87932..eb270b85ec 100644 --- a/3party/boost/boost/asio/basic_signal_set.hpp +++ b/3party/boost/boost/asio/basic_signal_set.hpp @@ -2,7 +2,7 @@ // basic_signal_set.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -365,13 +365,15 @@ public: * boost::asio::io_service::post(). */ template - void async_wait(BOOST_ASIO_MOVE_ARG(SignalHandler) handler) + BOOST_ASIO_INITFN_RESULT_TYPE(SignalHandler, + void (boost::system::error_code, int)) + async_wait(BOOST_ASIO_MOVE_ARG(SignalHandler) handler) { // If you get an error on the following line it means that your handler does // not meet the documented type requirements for a SignalHandler. BOOST_ASIO_SIGNAL_HANDLER_CHECK(SignalHandler, handler) type_check; - this->service.async_wait(this->implementation, + return this->service.async_wait(this->implementation, BOOST_ASIO_MOVE_CAST(SignalHandler)(handler)); } }; diff --git a/3party/boost/boost/asio/basic_socket.hpp b/3party/boost/boost/asio/basic_socket.hpp index c9e2045bf3..f3e68b9989 100644 --- a/3party/boost/boost/asio/basic_socket.hpp +++ b/3party/boost/boost/asio/basic_socket.hpp @@ -2,7 +2,7 @@ // basic_socket.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -16,9 +16,11 @@ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include +#include #include #include #include +#include #include #include @@ -173,6 +175,51 @@ public: BOOST_ASIO_MOVE_CAST(basic_socket)(other)); return *this; } + + // All sockets have access to each other's implementations. + template + friend class basic_socket; + + /// Move-construct a basic_socket from a socket of another protocol type. + /** + * This constructor moves a socket from one object to another. + * + * @param other The other basic_socket object from which the move will + * occur. + * + * @note Following the move, the moved-from object is in the same state as if + * constructed using the @c basic_socket(io_service&) constructor. + */ + template + basic_socket(basic_socket&& other, + typename enable_if::value>::type* = 0) + : basic_io_object(other.get_io_service()) + { + this->get_service().template converting_move_construct( + this->get_implementation(), other.get_implementation()); + } + + /// Move-assign a basic_socket from a socket of another protocol type. + /** + * This assignment operator moves a socket from one object to another. + * + * @param other The other basic_socket object from which the move will + * occur. + * + * @note Following the move, the moved-from object is in the same state as if + * constructed using the @c basic_socket(io_service&) constructor. + */ + template + typename enable_if::value, + basic_socket>::type& operator=( + basic_socket&& other) + { + basic_socket tmp(BOOST_ASIO_MOVE_CAST2(basic_socket< + Protocol1, SocketService1>)(other)); + basic_io_object::operator=( + BOOST_ASIO_MOVE_CAST(basic_socket)(tmp)); + return *this; + } #endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION) /// Get a reference to the lowest layer. @@ -395,7 +442,7 @@ public: * CancelIoEx function is always used. This function does not have the * problems described above. */ -#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400) \ +#if defined(BOOST_ASIO_MSVC) && (BOOST_ASIO_MSVC >= 1400) \ && (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0600) \ && !defined(BOOST_ASIO_ENABLE_CANCELIO) __declspec(deprecated("By default, this function always fails with " @@ -443,7 +490,7 @@ public: * CancelIoEx function is always used. This function does not have the * problems described above. */ -#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400) \ +#if defined(BOOST_ASIO_MSVC) && (BOOST_ASIO_MSVC >= 1400) \ && (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0600) \ && !defined(BOOST_ASIO_ENABLE_CANCELIO) __declspec(deprecated("By default, this function always fails with " @@ -698,7 +745,9 @@ public: * @endcode */ template - void async_connect(const endpoint_type& peer_endpoint, + BOOST_ASIO_INITFN_RESULT_TYPE(ConnectHandler, + void (boost::system::error_code)) + async_connect(const endpoint_type& peer_endpoint, BOOST_ASIO_MOVE_ARG(ConnectHandler) handler) { // If you get an error on the following line it means that your handler does @@ -711,14 +760,21 @@ public: const protocol_type protocol = peer_endpoint.protocol(); if (this->get_service().open(this->get_implementation(), protocol, ec)) { + detail::async_result_init< + ConnectHandler, void (boost::system::error_code)> init( + BOOST_ASIO_MOVE_CAST(ConnectHandler)(handler)); + this->get_io_service().post( boost::asio::detail::bind_handler( - BOOST_ASIO_MOVE_CAST(ConnectHandler)(handler), ec)); - return; + BOOST_ASIO_MOVE_CAST(BOOST_ASIO_HANDLER_TYPE( + ConnectHandler, void (boost::system::error_code)))( + init.handler), ec)); + + return init.result.get(); } } - this->get_service().async_connect(this->get_implementation(), + return this->get_service().async_connect(this->get_implementation(), peer_endpoint, BOOST_ASIO_MOVE_CAST(ConnectHandler)(handler)); } @@ -843,7 +899,7 @@ public: * ... * boost::asio::ip::tcp::socket::keep_alive option; * socket.get_option(option); - * bool is_set = option.get(); + * bool is_set = option.value(); * @endcode */ template @@ -891,7 +947,7 @@ public: * { * // An error occurred. * } - * bool is_set = option.get(); + * bool is_set = option.value(); * @endcode */ template diff --git a/3party/boost/boost/asio/basic_socket_acceptor.hpp b/3party/boost/boost/asio/basic_socket_acceptor.hpp index 5a3b0f7e4f..12528b8d9a 100644 --- a/3party/boost/boost/asio/basic_socket_acceptor.hpp +++ b/3party/boost/boost/asio/basic_socket_acceptor.hpp @@ -2,7 +2,7 @@ // basic_socket_acceptor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -211,6 +212,54 @@ public: BOOST_ASIO_MOVE_CAST(basic_socket_acceptor)(other)); return *this; } + + // All socket acceptors have access to each other's implementations. + template + friend class basic_socket_acceptor; + + /// Move-construct a basic_socket_acceptor from an acceptor of another + /// protocol type. + /** + * This constructor moves an acceptor from one object to another. + * + * @param other The other basic_socket_acceptor object from which the move + * will occur. + * + * @note Following the move, the moved-from object is in the same state as if + * constructed using the @c basic_socket(io_service&) constructor. + */ + template + basic_socket_acceptor( + basic_socket_acceptor&& other, + typename enable_if::value>::type* = 0) + : basic_io_object(other.get_io_service()) + { + this->get_service().template converting_move_construct( + this->get_implementation(), other.get_implementation()); + } + + /// Move-assign a basic_socket_acceptor from an acceptor of another protocol + /// type. + /** + * This assignment operator moves an acceptor from one object to another. + * + * @param other The other basic_socket_acceptor object from which the move + * will occur. + * + * @note Following the move, the moved-from object is in the same state as if + * constructed using the @c basic_socket(io_service&) constructor. + */ + template + typename enable_if::value, + basic_socket_acceptor>::type& operator=( + basic_socket_acceptor&& other) + { + basic_socket_acceptor tmp(BOOST_ASIO_MOVE_CAST2(basic_socket_acceptor< + Protocol1, SocketAcceptorService1>)(other)); + basic_io_object::operator=( + BOOST_ASIO_MOVE_CAST(basic_socket_acceptor)(tmp)); + return *this; + } #endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION) /// Open the acceptor using the specified protocol. @@ -316,8 +365,9 @@ public: * @par Example * @code * boost::asio::ip::tcp::acceptor acceptor(io_service); - * acceptor.open(boost::asio::ip::tcp::v4()); - * acceptor.bind(boost::asio::ip::tcp::endpoint(12345)); + * boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), 12345); + * acceptor.open(endpoint.protocol()); + * acceptor.bind(endpoint); * @endcode */ void bind(const endpoint_type& endpoint) @@ -340,9 +390,10 @@ public: * @par Example * @code * boost::asio::ip::tcp::acceptor acceptor(io_service); - * acceptor.open(boost::asio::ip::tcp::v4()); + * boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), 12345); + * acceptor.open(endpoint.protocol()); * boost::system::error_code ec; - * acceptor.bind(boost::asio::ip::tcp::endpoint(12345), ec); + * acceptor.bind(endpoint, ec); * if (ec) * { * // An error occurred. @@ -871,11 +922,13 @@ public: * acceptor.accept(socket); * @endcode */ - template - void accept(basic_socket& peer) + template + void accept(basic_socket& peer, + typename enable_if::value>::type* = 0) { boost::system::error_code ec; - this->get_service().accept(this->get_implementation(), peer, 0, ec); + this->get_service().accept(this->get_implementation(), + peer, static_cast(0), ec); boost::asio::detail::throw_error(ec, "accept"); } @@ -902,12 +955,14 @@ public: * } * @endcode */ - template + template boost::system::error_code accept( - basic_socket& peer, - boost::system::error_code& ec) + basic_socket& peer, + boost::system::error_code& ec, + typename enable_if::value>::type* = 0) { - return this->get_service().accept(this->get_implementation(), peer, 0, ec); + return this->get_service().accept(this->get_implementation(), + peer, static_cast(0), ec); } /// Start an asynchronous accept. @@ -948,16 +1003,20 @@ public: * acceptor.async_accept(socket, accept_handler); * @endcode */ - template - void async_accept(basic_socket& peer, - BOOST_ASIO_MOVE_ARG(AcceptHandler) handler) + template + BOOST_ASIO_INITFN_RESULT_TYPE(AcceptHandler, + void (boost::system::error_code)) + async_accept(basic_socket& peer, + BOOST_ASIO_MOVE_ARG(AcceptHandler) handler, + typename enable_if::value>::type* = 0) { // If you get an error on the following line it means that your handler does // not meet the documented type requirements for a AcceptHandler. BOOST_ASIO_ACCEPT_HANDLER_CHECK(AcceptHandler, handler) type_check; - this->get_service().async_accept(this->get_implementation(), - peer, 0, BOOST_ASIO_MOVE_CAST(AcceptHandler)(handler)); + return this->get_service().async_accept(this->get_implementation(), + peer, static_cast(0), + BOOST_ASIO_MOVE_CAST(AcceptHandler)(handler)); } /// Accept a new connection and obtain the endpoint of the peer @@ -1057,14 +1116,16 @@ public: * boost::asio::io_service::post(). */ template - void async_accept(basic_socket& peer, + BOOST_ASIO_INITFN_RESULT_TYPE(AcceptHandler, + void (boost::system::error_code)) + async_accept(basic_socket& peer, endpoint_type& peer_endpoint, BOOST_ASIO_MOVE_ARG(AcceptHandler) handler) { // If you get an error on the following line it means that your handler does // not meet the documented type requirements for a AcceptHandler. BOOST_ASIO_ACCEPT_HANDLER_CHECK(AcceptHandler, handler) type_check; - this->get_service().async_accept(this->get_implementation(), peer, + return this->get_service().async_accept(this->get_implementation(), peer, &peer_endpoint, BOOST_ASIO_MOVE_CAST(AcceptHandler)(handler)); } }; diff --git a/3party/boost/boost/asio/basic_socket_iostream.hpp b/3party/boost/boost/asio/basic_socket_iostream.hpp index 6fae0854b2..6135ea6ab5 100644 --- a/3party/boost/boost/asio/basic_socket_iostream.hpp +++ b/3party/boost/boost/asio/basic_socket_iostream.hpp @@ -2,7 +2,7 @@ // basic_socket_iostream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -17,9 +17,10 @@ #include -#if !defined(BOOST_NO_IOSTREAM) +#if !defined(BOOST_ASIO_NO_IOSTREAM) -#include +#include +#include #include #include @@ -37,9 +38,10 @@ // A macro that should expand to: // template // explicit basic_socket_iostream(T1 x1, ..., Tn xn) -// : basic_iostream(&this->boost::base_from_member< -// basic_socket_streambuf >::member) +// : std::basic_iostream( +// &this->detail::socket_iostream_base< +// Protocol, StreamSocketService, Time, +// TimeTraits, TimerService>::streambuf_) // { // if (rdbuf()->connect(x1, ..., xn) == 0) // this->setstate(std::ios_base::failbit); @@ -49,9 +51,10 @@ # define BOOST_ASIO_PRIVATE_CTR_DEF(z, n, data) \ template \ explicit basic_socket_iostream(BOOST_PP_ENUM_BINARY_PARAMS(n, T, x)) \ - : std::basic_iostream(&this->boost::base_from_member< \ - basic_socket_streambuf >::member) \ + : std::basic_iostream( \ + &this->detail::socket_iostream_base< \ + Protocol, StreamSocketService, Time, \ + TimeTraits, TimerService>::streambuf_) \ { \ this->setf(std::ios_base::unitbuf); \ if (rdbuf()->connect(BOOST_PP_ENUM_PARAMS(n, x)) == 0) \ @@ -83,34 +86,69 @@ namespace boost { namespace asio { +namespace detail { + +// A separate base class is used to ensure that the streambuf is initialised +// prior to the basic_socket_iostream's basic_iostream base class. +template +class socket_iostream_base +{ +protected: + basic_socket_streambuf streambuf_; +}; + +} /// Iostream interface for a socket. template , +#if defined(BOOST_ASIO_HAS_BOOST_DATE_TIME) \ + || defined(GENERATING_DOCUMENTATION) typename Time = boost::posix_time::ptime, typename TimeTraits = boost::asio::time_traits