From 6e0070c2e8907e34458755d4b10a75a455374ba0 Mon Sep 17 00:00:00 2001 From: Tristan Stenner Date: Fri, 7 Jun 2019 08:24:44 +0200 Subject: [PATCH] Update asio subset --- lslboost/boost/algorithm/string.hpp | 31 - lslboost/boost/algorithm/string/case_conv.hpp | 176 - lslboost/boost/algorithm/string/compare.hpp | 6 +- .../algorithm/string/detail/case_conv.hpp | 127 - .../string/detail/classification.hpp | 2 +- .../algorithm/string/detail/find_format.hpp | 204 -- .../string/detail/find_format_all.hpp | 273 -- .../string/detail/find_format_store.hpp | 89 - .../boost/algorithm/string/detail/finder.hpp | 30 +- .../algorithm/string/detail/formatter.hpp | 119 - .../algorithm/string/detail/predicate.hpp | 77 - .../string/detail/replace_storage.hpp | 159 - .../algorithm/string/detail/sequence.hpp | 200 -- .../boost/algorithm/string/detail/trim.hpp | 6 +- lslboost/boost/algorithm/string/erase.hpp | 844 ----- lslboost/boost/algorithm/string/find.hpp | 334 -- .../boost/algorithm/string/find_format.hpp | 287 -- lslboost/boost/algorithm/string/formatter.hpp | 120 - lslboost/boost/algorithm/string/iter_find.hpp | 8 + lslboost/boost/algorithm/string/join.hpp | 145 - lslboost/boost/algorithm/string/predicate.hpp | 475 --- lslboost/boost/algorithm/string/replace.hpp | 926 ------ .../algorithm/string/sequence_traits.hpp | 120 - lslboost/boost/algorithm/string/split.hpp | 12 + .../algorithm/string/std/list_traits.hpp | 68 - .../algorithm/string/std/slist_traits.hpp | 69 - .../algorithm/string/std/string_traits.hpp | 44 - .../string/std_containers_traits.hpp | 26 - .../boost/algorithm/string/yes_no_type.hpp | 33 - lslboost/boost/align/align.hpp | 19 + lslboost/boost/align/aligned_alloc.hpp | 47 + lslboost/boost/align/alignment_of.hpp | 54 + lslboost/boost/align/alignment_of_forward.hpp | 20 + lslboost/boost/align/detail/align.hpp | 38 + lslboost/boost/align/detail/align_cxx11.hpp | 21 + lslboost/boost/align/detail/aligned_alloc.hpp | 52 + .../align/detail/aligned_alloc_android.hpp | 34 + .../align/detail/aligned_alloc_macos.hpp | 44 + .../align/detail/aligned_alloc_mingw.hpp | 34 + .../boost/align/detail/aligned_alloc_msvc.hpp | 34 + .../boost/align/detail/aligned_alloc_new.hpp | 52 + .../align/detail/aligned_alloc_posix.hpp | 41 + .../align/detail/aligned_alloc_sunos.hpp | 34 + lslboost/boost/align/detail/alignment_of.hpp | 31 + .../boost/align/detail/alignment_of_clang.hpp | 26 + .../align/detail/alignment_of_codegear.hpp | 26 + .../boost/align/detail/alignment_of_cxx11.hpp | 23 + .../boost/align/detail/alignment_of_gcc.hpp | 26 + .../boost/align/detail/alignment_of_msvc.hpp | 32 + lslboost/boost/align/detail/element_type.hpp | 91 + .../boost/align/detail/integral_constant.hpp | 53 + lslboost/boost/align/detail/is_alignment.hpp | 28 + lslboost/boost/align/detail/min_size.hpp | 26 + lslboost/boost/any.hpp | 337 -- lslboost/boost/archive/archive_exception.hpp | 32 +- lslboost/boost/archive/basic_archive.hpp | 115 +- .../boost/archive/basic_binary_iarchive.hpp | 45 +- .../boost/archive/basic_binary_iprimitive.hpp | 41 +- .../boost/archive/basic_binary_oarchive.hpp | 22 +- .../boost/archive/basic_binary_oprimitive.hpp | 43 +- .../boost/archive/basic_text_iarchive.hpp | 16 +- .../boost/archive/basic_text_iprimitive.hpp | 10 +- .../boost/archive/basic_text_oarchive.hpp | 10 +- .../boost/archive/basic_text_oprimitive.hpp | 21 +- lslboost/boost/archive/basic_xml_archive.hpp | 20 +- lslboost/boost/archive/basic_xml_iarchive.hpp | 2 +- lslboost/boost/archive/basic_xml_oarchive.hpp | 2 +- lslboost/boost/archive/binary_iarchive.hpp | 14 +- .../boost/archive/binary_iarchive_impl.hpp | 22 +- lslboost/boost/archive/binary_oarchive.hpp | 14 +- .../boost/archive/binary_oarchive_impl.hpp | 22 +- lslboost/boost/archive/binary_wiarchive.hpp | 6 +- lslboost/boost/archive/binary_woarchive.hpp | 6 +- lslboost/boost/archive/codecvt_null.hpp | 36 +- lslboost/boost/archive/detail/abi_prefix.hpp | 2 +- lslboost/boost/archive/detail/abi_suffix.hpp | 2 +- .../archive/detail/archive_serializer_map.hpp | 6 +- .../archive/detail/auto_link_archive.hpp | 4 +- .../archive/detail/auto_link_warchive.hpp | 4 +- .../boost/archive/detail/basic_iarchive.hpp | 18 +- .../archive/detail/basic_iserializer.hpp | 6 +- .../boost/archive/detail/basic_oarchive.hpp | 10 +- .../archive/detail/basic_oserializer.hpp | 2 +- .../detail/basic_pointer_iserializer.hpp | 6 +- .../detail/basic_pointer_oserializer.hpp | 6 +- .../boost/archive/detail/basic_serializer.hpp | 8 +- .../archive/detail/basic_serializer_map.hpp | 6 +- lslboost/boost/archive/detail/check.hpp | 16 +- .../boost/archive/detail/common_iarchive.hpp | 19 +- .../boost/archive/detail/common_oarchive.hpp | 20 +- lslboost/boost/archive/detail/decl.hpp | 6 +- .../archive/detail/interface_iarchive.hpp | 14 +- .../archive/detail/interface_oarchive.hpp | 14 +- lslboost/boost/archive/detail/iserializer.hpp | 94 +- lslboost/boost/archive/detail/oserializer.hpp | 90 +- .../detail/polymorphic_iarchive_route.hpp | 76 +- .../detail/polymorphic_oarchive_route.hpp | 72 +- .../boost/archive/detail/register_archive.hpp | 2 +- .../archive/detail/utf8_codecvt_facet.hpp | 1 - lslboost/boost/archive/dinkumware.hpp | 24 +- .../archive/impl/basic_binary_iarchive.ipp | 12 +- .../archive/impl/basic_binary_oarchive.ipp | 2 +- .../archive/impl/basic_text_iarchive.ipp | 4 +- .../archive/impl/basic_text_oarchive.ipp | 2 +- .../archive/impl/basic_text_oprimitive.ipp | 5 +- .../boost/archive/impl/basic_xml_grammar.hpp | 24 +- .../boost/archive/impl/basic_xml_iarchive.ipp | 1 - .../boost/archive/impl/text_iarchive_impl.ipp | 9 +- .../boost/archive/impl/text_oarchive_impl.ipp | 6 - .../archive/impl/text_wiarchive_impl.ipp | 2 - .../boost/archive/impl/xml_iarchive_impl.ipp | 11 +- .../boost/archive/impl/xml_oarchive_impl.ipp | 9 +- .../boost/archive/impl/xml_wiarchive_impl.ipp | 8 +- .../boost/archive/impl/xml_woarchive_impl.ipp | 7 +- .../archive/iterators/base64_from_binary.hpp | 14 +- .../archive/iterators/binary_from_base64.hpp | 8 +- .../archive/iterators/dataflow_exception.hpp | 4 +- lslboost/boost/archive/iterators/escape.hpp | 18 +- .../archive/iterators/insert_linebreaks.hpp | 12 +- .../archive/iterators/istream_iterator.hpp | 10 +- .../boost/archive/iterators/mb_from_wchar.hpp | 20 +- .../archive/iterators/ostream_iterator.hpp | 8 +- .../archive/iterators/remove_whitespace.hpp | 14 +- .../archive/iterators/transform_width.hpp | 28 +- lslboost/boost/archive/iterators/unescape.hpp | 16 +- .../boost/archive/iterators/wchar_from_mb.hpp | 22 +- .../boost/archive/iterators/xml_escape.hpp | 12 +- .../boost/archive/iterators/xml_unescape.hpp | 16 +- .../archive/polymorphic_binary_iarchive.hpp | 9 +- .../archive/polymorphic_binary_oarchive.hpp | 7 +- .../boost/archive/polymorphic_iarchive.hpp | 13 +- .../boost/archive/polymorphic_oarchive.hpp | 10 +- .../archive/polymorphic_text_iarchive.hpp | 9 +- .../archive/polymorphic_text_oarchive.hpp | 7 +- .../archive/polymorphic_text_wiarchive.hpp | 9 +- .../archive/polymorphic_text_woarchive.hpp | 9 +- .../archive/polymorphic_xml_iarchive.hpp | 9 +- .../archive/polymorphic_xml_oarchive.hpp | 7 +- .../archive/polymorphic_xml_wiarchive.hpp | 11 +- .../archive/polymorphic_xml_woarchive.hpp | 7 +- lslboost/boost/archive/text_iarchive.hpp | 29 +- lslboost/boost/archive/text_oarchive.hpp | 35 +- lslboost/boost/archive/text_wiarchive.hpp | 19 +- lslboost/boost/archive/text_woarchive.hpp | 28 +- lslboost/boost/archive/wcslen.hpp | 8 +- .../boost/archive/xml_archive_exception.hpp | 12 +- lslboost/boost/archive/xml_iarchive.hpp | 25 +- lslboost/boost/archive/xml_oarchive.hpp | 33 +- lslboost/boost/archive/xml_wiarchive.hpp | 32 +- lslboost/boost/archive/xml_woarchive.hpp | 27 +- lslboost/boost/array.hpp | 5 +- lslboost/boost/asio.hpp | 64 +- lslboost/boost/asio/any_io_executor.hpp | 73 + lslboost/boost/asio/associated_allocator.hpp | 10 +- lslboost/boost/asio/associated_executor.hpp | 57 +- lslboost/boost/asio/async_result.hpp | 491 ++- lslboost/boost/asio/awaitable.hpp | 135 + lslboost/boost/asio/basic_datagram_socket.hpp | 689 ++-- lslboost/boost/asio/basic_deadline_timer.hpp | 291 +- lslboost/boost/asio/basic_io_object.hpp | 2 +- lslboost/boost/asio/basic_raw_socket.hpp | 690 ++-- .../boost/asio/basic_seq_packet_socket.hpp | 429 ++- lslboost/boost/asio/basic_serial_port.hpp | 411 ++- lslboost/boost/asio/basic_signal_set.hpp | 301 +- lslboost/boost/asio/basic_socket.hpp | 591 ++-- lslboost/boost/asio/basic_socket_acceptor.hpp | 1437 +++++--- lslboost/boost/asio/basic_socket_iostream.hpp | 65 +- .../boost/asio/basic_socket_streambuf.hpp | 50 +- lslboost/boost/asio/basic_stream_socket.hpp | 526 +-- lslboost/boost/asio/basic_streambuf.hpp | 2 +- lslboost/boost/asio/basic_streambuf_fwd.hpp | 2 +- lslboost/boost/asio/basic_waitable_timer.hpp | 336 +- lslboost/boost/asio/bind_executor.hpp | 58 +- lslboost/boost/asio/buffer.hpp | 505 ++- lslboost/boost/asio/buffered_read_stream.hpp | 50 +- .../boost/asio/buffered_read_stream_fwd.hpp | 2 +- lslboost/boost/asio/buffered_stream.hpp | 61 +- lslboost/boost/asio/buffered_stream_fwd.hpp | 2 +- lslboost/boost/asio/buffered_write_stream.hpp | 50 +- .../boost/asio/buffered_write_stream_fwd.hpp | 2 +- lslboost/boost/asio/buffers_iterator.hpp | 2 +- lslboost/boost/asio/co_spawn.hpp | 473 +++ lslboost/boost/asio/completion_condition.hpp | 2 +- lslboost/boost/asio/compose.hpp | 138 + lslboost/boost/asio/connect.hpp | 220 +- lslboost/boost/asio/coroutine.hpp | 6 +- .../boost/asio/datagram_socket_service.hpp | 468 --- lslboost/boost/asio/deadline_timer.hpp | 2 +- .../boost/asio/deadline_timer_service.hpp | 175 - lslboost/boost/asio/defer.hpp | 43 +- lslboost/boost/asio/detached.hpp | 114 + lslboost/boost/asio/detail/array.hpp | 2 +- lslboost/boost/asio/detail/array_fwd.hpp | 2 +- lslboost/boost/asio/detail/assert.hpp | 2 +- lslboost/boost/asio/detail/atomic_count.hpp | 21 +- .../asio/detail/base_from_completion_cond.hpp | 7 +- lslboost/boost/asio/detail/bind_handler.hpp | 176 +- .../asio/detail/blocking_executor_op.hpp | 109 + .../boost/asio/detail/buffer_resize_guard.hpp | 2 +- .../asio/detail/buffer_sequence_adapter.hpp | 108 +- .../asio/detail/buffered_stream_storage.hpp | 2 +- .../boost/asio/detail/bulk_executor_op.hpp | 90 + lslboost/boost/asio/detail/call_stack.hpp | 2 +- lslboost/boost/asio/detail/chrono.hpp | 2 +- .../boost/asio/detail/chrono_time_traits.hpp | 2 +- .../boost/asio/detail/completion_handler.hpp | 17 +- .../boost/asio/detail/concurrency_hint.hpp | 2 +- .../detail/conditionally_enabled_event.hpp | 10 +- .../detail/conditionally_enabled_mutex.hpp | 2 +- lslboost/boost/asio/detail/config.hpp | 629 +++- .../boost/asio/detail/consuming_buffers.hpp | 2 +- lslboost/boost/asio/detail/cstddef.hpp | 2 +- lslboost/boost/asio/detail/cstdint.hpp | 2 +- lslboost/boost/asio/detail/date_time_fwd.hpp | 2 +- .../asio/detail/deadline_timer_service.hpp | 41 +- lslboost/boost/asio/detail/dependent_type.hpp | 2 +- lslboost/boost/asio/detail/descriptor_ops.hpp | 32 +- .../boost/asio/detail/descriptor_read_op.hpp | 52 +- .../boost/asio/detail/descriptor_write_op.hpp | 52 +- .../boost/asio/detail/dev_poll_reactor.hpp | 2 +- lslboost/boost/asio/detail/epoll_reactor.hpp | 2 +- lslboost/boost/asio/detail/event.hpp | 2 +- .../detail/eventfd_select_interrupter.hpp | 4 +- .../boost/asio/detail/executor_function.hpp | 206 ++ lslboost/boost/asio/detail/executor_op.hpp | 2 +- lslboost/boost/asio/detail/fd_set_adapter.hpp | 2 +- lslboost/boost/asio/detail/fenced_block.hpp | 2 +- lslboost/boost/asio/detail/functional.hpp | 2 +- lslboost/boost/asio/detail/future.hpp | 2 +- .../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 +- lslboost/boost/asio/detail/global.hpp | 2 +- .../asio/detail/handler_alloc_helpers.hpp | 61 +- .../asio/detail/handler_cont_helpers.hpp | 2 +- .../asio/detail/handler_invoke_helpers.hpp | 25 +- .../boost/asio/detail/handler_tracking.hpp | 28 +- .../asio/detail/handler_type_requirements.hpp | 2 +- lslboost/boost/asio/detail/handler_work.hpp | 413 ++- lslboost/boost/asio/detail/hash_map.hpp | 2 +- .../detail/impl/buffer_sequence_adapter.ipp | 2 +- .../boost/asio/detail/impl/descriptor_ops.ipp | 302 +- .../asio/detail/impl/dev_poll_reactor.hpp | 2 +- .../asio/detail/impl/dev_poll_reactor.ipp | 2 +- .../boost/asio/detail/impl/epoll_reactor.hpp | 2 +- .../boost/asio/detail/impl/epoll_reactor.ipp | 2 +- .../impl/eventfd_select_interrupter.ipp | 22 +- .../asio/detail/impl/handler_tracking.ipp | 42 +- .../boost/asio/detail/impl/kqueue_reactor.hpp | 2 +- .../boost/asio/detail/impl/kqueue_reactor.ipp | 8 +- .../boost/asio/detail/impl/null_event.ipp | 2 +- .../detail/impl/pipe_select_interrupter.ipp | 17 +- .../boost/asio/detail/impl/posix_event.ipp | 2 +- .../boost/asio/detail/impl/posix_mutex.ipp | 2 +- .../boost/asio/detail/impl/posix_thread.ipp | 2 +- .../boost/asio/detail/impl/posix_tss_ptr.ipp | 2 +- .../impl/reactive_descriptor_service.ipp | 9 +- .../impl/reactive_serial_port_service.ipp | 35 +- .../impl/reactive_socket_service_base.ipp | 8 +- .../detail/impl/resolver_service_base.ipp | 70 +- lslboost/boost/asio/detail/impl/scheduler.ipp | 91 +- .../boost/asio/detail/impl/select_reactor.hpp | 2 +- .../boost/asio/detail/impl/select_reactor.ipp | 11 +- .../asio/detail/impl/service_registry.hpp | 2 +- .../asio/detail/impl/service_registry.ipp | 2 +- .../asio/detail/impl/signal_set_service.ipp | 45 +- .../boost/asio/detail/impl/socket_ops.ipp | 965 ++++-- .../detail/impl/socket_select_interrupter.ipp | 21 +- .../detail/impl/strand_executor_service.hpp | 216 +- .../detail/impl/strand_executor_service.ipp | 2 +- .../boost/asio/detail/impl/strand_service.hpp | 19 +- .../boost/asio/detail/impl/strand_service.ipp | 11 +- .../boost/asio/detail/impl/throw_error.ipp | 2 +- .../asio/detail/impl/timer_queue_ptime.ipp | 2 +- .../asio/detail/impl/timer_queue_set.ipp | 2 +- lslboost/boost/asio/detail/impl/win_event.ipp | 2 +- .../detail/impl/win_iocp_handle_service.ipp | 12 +- .../asio/detail/impl/win_iocp_io_context.hpp | 3 +- .../asio/detail/impl/win_iocp_io_context.ipp | 65 +- .../impl/win_iocp_serial_port_service.ipp | 23 +- .../impl/win_iocp_socket_service_base.ipp | 14 +- lslboost/boost/asio/detail/impl/win_mutex.ipp | 2 +- .../detail/impl/win_object_handle_service.ipp | 35 +- .../asio/detail/impl/win_static_mutex.ipp | 2 +- .../boost/asio/detail/impl/win_thread.ipp | 2 +- .../boost/asio/detail/impl/win_tss_ptr.ipp | 2 +- .../impl/winrt_ssocket_service_base.ipp | 39 +- .../detail/impl/winrt_timer_scheduler.hpp | 8 +- .../detail/impl/winrt_timer_scheduler.ipp | 15 +- .../boost/asio/detail/impl/winsock_init.ipp | 2 +- lslboost/boost/asio/detail/io_control.hpp | 2 +- lslboost/boost/asio/detail/io_object_impl.hpp | 177 + .../boost/asio/detail/is_buffer_sequence.hpp | 81 +- lslboost/boost/asio/detail/is_executor.hpp | 2 +- .../boost/asio/detail/keyword_tss_ptr.hpp | 2 +- lslboost/boost/asio/detail/kqueue_reactor.hpp | 2 +- .../boost/asio/detail/macos_fenced_block.hpp | 2 +- lslboost/boost/asio/detail/memory.hpp | 5 +- lslboost/boost/asio/detail/mutex.hpp | 2 +- .../boost/asio/detail/non_const_lvalue.hpp | 56 + lslboost/boost/asio/detail/noncopyable.hpp | 2 +- lslboost/boost/asio/detail/null_event.hpp | 8 +- .../boost/asio/detail/null_fenced_block.hpp | 2 +- lslboost/boost/asio/detail/null_global.hpp | 2 +- lslboost/boost/asio/detail/null_mutex.hpp | 2 +- lslboost/boost/asio/detail/null_reactor.hpp | 2 +- .../boost/asio/detail/null_signal_blocker.hpp | 2 +- .../boost/asio/detail/null_socket_service.hpp | 115 +- .../boost/asio/detail/null_static_mutex.hpp | 2 +- lslboost/boost/asio/detail/null_thread.hpp | 2 +- lslboost/boost/asio/detail/null_tss_ptr.hpp | 2 +- lslboost/boost/asio/detail/object_pool.hpp | 2 +- .../boost/asio/detail/old_win_sdk_compat.hpp | 2 +- lslboost/boost/asio/detail/op_queue.hpp | 2 +- lslboost/boost/asio/detail/operation.hpp | 2 +- .../asio/detail/pipe_select_interrupter.hpp | 4 +- lslboost/boost/asio/detail/pop_options.hpp | 22 +- lslboost/boost/asio/detail/posix_event.hpp | 17 +- .../asio/detail/posix_fd_set_adapter.hpp | 2 +- lslboost/boost/asio/detail/posix_global.hpp | 2 +- lslboost/boost/asio/detail/posix_mutex.hpp | 2 +- .../asio/detail/posix_signal_blocker.hpp | 2 +- .../boost/asio/detail/posix_static_mutex.hpp | 2 +- lslboost/boost/asio/detail/posix_thread.hpp | 2 +- lslboost/boost/asio/detail/posix_tss_ptr.hpp | 2 +- lslboost/boost/asio/detail/push_options.hpp | 26 +- .../detail/reactive_descriptor_service.hpp | 96 +- .../asio/detail/reactive_null_buffers_op.hpp | 22 +- .../detail/reactive_serial_port_service.hpp | 29 +- .../asio/detail/reactive_socket_accept_op.hpp | 81 +- .../detail/reactive_socket_connect_op.hpp | 30 +- .../asio/detail/reactive_socket_recv_op.hpp | 62 +- .../detail/reactive_socket_recvfrom_op.hpp | 58 +- .../detail/reactive_socket_recvmsg_op.hpp | 39 +- .../asio/detail/reactive_socket_send_op.hpp | 68 +- .../asio/detail/reactive_socket_sendto_op.hpp | 60 +- .../asio/detail/reactive_socket_service.hpp | 162 +- .../detail/reactive_socket_service_base.hpp | 124 +- .../boost/asio/detail/reactive_wait_op.hpp | 22 +- lslboost/boost/asio/detail/reactor.hpp | 2 +- lslboost/boost/asio/detail/reactor_fwd.hpp | 2 +- lslboost/boost/asio/detail/reactor_op.hpp | 6 +- .../boost/asio/detail/reactor_op_queue.hpp | 2 +- .../boost/asio/detail/recycling_allocator.hpp | 30 +- lslboost/boost/asio/detail/regex_fwd.hpp | 2 +- .../boost/asio/detail/resolve_endpoint_op.hpp | 44 +- lslboost/boost/asio/detail/resolve_op.hpp | 2 +- .../boost/asio/detail/resolve_query_op.hpp | 48 +- .../boost/asio/detail/resolver_service.hpp | 44 +- .../asio/detail/resolver_service_base.hpp | 56 +- lslboost/boost/asio/detail/scheduler.hpp | 23 +- .../boost/asio/detail/scheduler_operation.hpp | 2 +- .../asio/detail/scheduler_thread_info.hpp | 2 +- lslboost/boost/asio/detail/scoped_lock.hpp | 2 +- lslboost/boost/asio/detail/scoped_ptr.hpp | 2 +- .../boost/asio/detail/select_interrupter.hpp | 2 +- lslboost/boost/asio/detail/select_reactor.hpp | 2 +- .../boost/asio/detail/service_registry.hpp | 2 +- lslboost/boost/asio/detail/signal_blocker.hpp | 2 +- lslboost/boost/asio/detail/signal_handler.hpp | 18 +- lslboost/boost/asio/detail/signal_init.hpp | 2 +- lslboost/boost/asio/detail/signal_op.hpp | 2 +- .../boost/asio/detail/signal_set_service.hpp | 36 +- lslboost/boost/asio/detail/socket_holder.hpp | 2 +- lslboost/boost/asio/detail/socket_ops.hpp | 48 +- lslboost/boost/asio/detail/socket_option.hpp | 2 +- .../asio/detail/socket_select_interrupter.hpp | 4 +- lslboost/boost/asio/detail/socket_types.hpp | 3 +- .../asio/detail/solaris_fenced_block.hpp | 2 +- .../boost/asio/detail/source_location.hpp | 47 + lslboost/boost/asio/detail/static_mutex.hpp | 2 +- lslboost/boost/asio/detail/std_event.hpp | 14 +- .../boost/asio/detail/std_fenced_block.hpp | 2 +- lslboost/boost/asio/detail/std_global.hpp | 2 +- lslboost/boost/asio/detail/std_mutex.hpp | 2 +- .../boost/asio/detail/std_static_mutex.hpp | 2 +- lslboost/boost/asio/detail/std_thread.hpp | 2 +- .../asio/detail/strand_executor_service.hpp | 28 +- lslboost/boost/asio/detail/strand_service.hpp | 7 +- lslboost/boost/asio/detail/string_view.hpp | 2 +- lslboost/boost/asio/detail/thread.hpp | 10 +- lslboost/boost/asio/detail/thread_context.hpp | 2 +- lslboost/boost/asio/detail/thread_group.hpp | 12 +- .../boost/asio/detail/thread_info_base.hpp | 75 +- lslboost/boost/asio/detail/throw_error.hpp | 2 +- .../boost/asio/detail/throw_exception.hpp | 2 +- lslboost/boost/asio/detail/timer_queue.hpp | 2 +- .../boost/asio/detail/timer_queue_base.hpp | 2 +- .../boost/asio/detail/timer_queue_ptime.hpp | 2 +- .../boost/asio/detail/timer_queue_set.hpp | 2 +- .../boost/asio/detail/timer_scheduler.hpp | 2 +- .../boost/asio/detail/timer_scheduler_fwd.hpp | 2 +- lslboost/boost/asio/detail/tss_ptr.hpp | 2 +- lslboost/boost/asio/detail/type_traits.hpp | 68 +- .../boost/asio/detail/variadic_templates.hpp | 179 +- lslboost/boost/asio/detail/wait_handler.hpp | 21 +- lslboost/boost/asio/detail/wait_op.hpp | 2 +- lslboost/boost/asio/detail/win_event.hpp | 15 +- .../boost/asio/detail/win_fd_set_adapter.hpp | 2 +- .../boost/asio/detail/win_fenced_block.hpp | 2 +- lslboost/boost/asio/detail/win_global.hpp | 13 +- .../asio/detail/win_iocp_handle_read_op.hpp | 22 +- .../asio/detail/win_iocp_handle_service.hpp | 72 +- .../asio/detail/win_iocp_handle_write_op.hpp | 21 +- .../boost/asio/detail/win_iocp_io_context.hpp | 20 +- .../asio/detail/win_iocp_null_buffers_op.hpp | 22 +- .../boost/asio/detail/win_iocp_operation.hpp | 2 +- .../asio/detail/win_iocp_overlapped_op.hpp | 20 +- .../asio/detail/win_iocp_overlapped_ptr.hpp | 54 +- .../detail/win_iocp_serial_port_service.hpp | 24 +- .../asio/detail/win_iocp_socket_accept_op.hpp | 49 +- .../detail/win_iocp_socket_connect_op.hpp | 22 +- .../asio/detail/win_iocp_socket_recv_op.hpp | 19 +- .../detail/win_iocp_socket_recvfrom_op.hpp | 20 +- .../detail/win_iocp_socket_recvmsg_op.hpp | 19 +- .../asio/detail/win_iocp_socket_send_op.hpp | 19 +- .../asio/detail/win_iocp_socket_service.hpp | 134 +- .../detail/win_iocp_socket_service_base.hpp | 103 +- .../asio/detail/win_iocp_thread_info.hpp | 2 +- .../boost/asio/detail/win_iocp_wait_op.hpp | 21 +- lslboost/boost/asio/detail/win_mutex.hpp | 2 +- .../asio/detail/win_object_handle_service.hpp | 35 +- .../boost/asio/detail/win_static_mutex.hpp | 2 +- lslboost/boost/asio/detail/win_thread.hpp | 2 +- lslboost/boost/asio/detail/win_tss_ptr.hpp | 2 +- lslboost/boost/asio/detail/winapp_thread.hpp | 2 +- lslboost/boost/asio/detail/wince_thread.hpp | 2 +- .../boost/asio/detail/winrt_async_manager.hpp | 39 +- lslboost/boost/asio/detail/winrt_async_op.hpp | 2 +- .../boost/asio/detail/winrt_resolve_op.hpp | 19 +- .../asio/detail/winrt_resolver_service.hpp | 54 +- .../asio/detail/winrt_socket_connect_op.hpp | 94 - .../asio/detail/winrt_socket_recv_op.hpp | 19 +- .../asio/detail/winrt_socket_send_op.hpp | 19 +- .../asio/detail/winrt_ssocket_service.hpp | 243 -- .../detail/winrt_ssocket_service_base.hpp | 69 +- .../asio/detail/winrt_timer_scheduler.hpp | 26 +- lslboost/boost/asio/detail/winrt_utils.hpp | 2 +- lslboost/boost/asio/detail/winsock_init.hpp | 2 +- .../boost/asio/detail/work_dispatcher.hpp | 92 +- .../boost/asio/detail/wrapped_handler.hpp | 56 +- lslboost/boost/asio/dispatch.hpp | 41 +- lslboost/boost/asio/error.hpp | 2 +- lslboost/boost/asio/execution.hpp | 48 + lslboost/boost/asio/execution/allocator.hpp | 251 ++ .../boost/asio/execution/any_executor.hpp | 2348 ++++++++++++++ .../boost/asio/execution/bad_executor.hpp | 49 + lslboost/boost/asio/execution/blocking.hpp | 1353 ++++++++ .../asio/execution/blocking_adaptation.hpp | 1066 ++++++ .../boost/asio/execution/bulk_execute.hpp | 394 +++ .../boost/asio/execution/bulk_guarantee.hpp | 1020 ++++++ lslboost/boost/asio/execution/connect.hpp | 490 +++ lslboost/boost/asio/execution/context.hpp | 187 ++ lslboost/boost/asio/execution/context_as.hpp | 203 ++ .../asio/execution/detail/as_invocable.hpp | 154 + .../asio/execution/detail/as_operation.hpp | 107 + .../asio/execution/detail/as_receiver.hpp | 130 + .../asio/execution/detail/bulk_sender.hpp | 263 ++ .../asio/execution/detail/submit_receiver.hpp | 235 ++ .../asio/execution/detail/void_receiver.hpp | 92 + lslboost/boost/asio/execution/execute.hpp | 270 ++ lslboost/boost/asio/execution/executor.hpp | 240 ++ .../asio/execution/impl/bad_executor.ipp | 42 + .../impl/receiver_invocation_error.ipp | 38 + .../asio/execution/invocable_archetype.hpp | 73 + lslboost/boost/asio/execution/mapping.hpp | 919 ++++++ lslboost/boost/asio/execution/occupancy.hpp | 180 + .../boost/asio/execution/operation_state.hpp | 96 + .../boost/asio/execution/outstanding_work.hpp | 723 +++++ lslboost/boost/asio/execution/prefer_only.hpp | 329 ++ lslboost/boost/asio/execution/receiver.hpp | 282 ++ .../execution/receiver_invocation_error.hpp | 50 + .../boost/asio/execution/relationship.hpp | 722 +++++ lslboost/boost/asio/execution/schedule.hpp | 294 ++ lslboost/boost/asio/execution/scheduler.hpp | 88 + lslboost/boost/asio/execution/sender.hpp | 313 ++ lslboost/boost/asio/execution/set_done.hpp | 257 ++ lslboost/boost/asio/execution/set_error.hpp | 257 ++ lslboost/boost/asio/execution/set_value.hpp | 490 +++ lslboost/boost/asio/execution/start.hpp | 254 ++ lslboost/boost/asio/execution/submit.hpp | 454 +++ lslboost/boost/asio/execution_context.hpp | 5 +- lslboost/boost/asio/executor.hpp | 10 +- lslboost/boost/asio/executor_work_guard.hpp | 141 +- .../boost/asio/generic/basic_endpoint.hpp | 4 +- .../boost/asio/generic/datagram_protocol.hpp | 8 +- .../boost/asio/generic/detail/endpoint.hpp | 2 +- .../asio/generic/detail/impl/endpoint.ipp | 2 +- lslboost/boost/asio/generic/raw_protocol.hpp | 8 +- .../asio/generic/seq_packet_protocol.hpp | 8 +- .../boost/asio/generic/stream_protocol.hpp | 8 +- lslboost/boost/asio/handler_alloc_hook.hpp | 35 +- .../boost/asio/handler_continuation_hook.hpp | 2 +- lslboost/boost/asio/handler_invoke_hook.hpp | 34 +- lslboost/boost/asio/handler_type.hpp | 52 - lslboost/boost/asio/high_resolution_timer.hpp | 2 +- lslboost/boost/asio/impl/awaitable.hpp | 438 +++ .../boost/asio/impl/buffered_read_stream.hpp | 212 +- .../boost/asio/impl/buffered_write_stream.hpp | 202 +- lslboost/boost/asio/impl/co_spawn.hpp | 300 ++ lslboost/boost/asio/impl/compose.hpp | 637 ++++ lslboost/boost/asio/impl/connect.hpp | 542 ++-- lslboost/boost/asio/impl/defer.hpp | 237 +- lslboost/boost/asio/impl/detached.hpp | 132 + lslboost/boost/asio/impl/dispatch.hpp | 233 +- lslboost/boost/asio/impl/error.ipp | 2 +- .../boost/asio/impl/execution_context.hpp | 14 +- .../boost/asio/impl/execution_context.ipp | 2 +- lslboost/boost/asio/impl/executor.hpp | 117 +- lslboost/boost/asio/impl/executor.ipp | 7 +- .../boost/asio/impl/handler_alloc_hook.ipp | 19 +- lslboost/boost/asio/impl/io_context.hpp | 323 +- lslboost/boost/asio/impl/io_context.ipp | 7 +- .../boost/asio/impl/multiple_exceptions.ipp | 51 + lslboost/boost/asio/impl/post.hpp | 237 +- lslboost/boost/asio/impl/read.hpp | 753 ++++- lslboost/boost/asio/impl/read_at.hpp | 286 +- lslboost/boost/asio/impl/read_until.hpp | 2723 +++++++++++++--- lslboost/boost/asio/impl/redirect_error.hpp | 393 +++ lslboost/boost/asio/impl/serial_port_base.hpp | 2 +- lslboost/boost/asio/impl/serial_port_base.ipp | 2 +- lslboost/boost/asio/impl/src.hpp | 5 +- lslboost/boost/asio/impl/system_context.hpp | 2 +- lslboost/boost/asio/impl/system_context.ipp | 31 +- lslboost/boost/asio/impl/system_executor.hpp | 127 +- lslboost/boost/asio/impl/thread_pool.hpp | 299 +- lslboost/boost/asio/impl/thread_pool.ipp | 81 +- lslboost/boost/asio/impl/use_awaitable.hpp | 281 ++ lslboost/boost/asio/impl/use_future.hpp | 171 +- lslboost/boost/asio/impl/write.hpp | 696 +++- lslboost/boost/asio/impl/write_at.hpp | 278 +- lslboost/boost/asio/io_context.hpp | 774 ++++- lslboost/boost/asio/io_context_strand.hpp | 100 +- lslboost/boost/asio/io_service.hpp | 2 +- lslboost/boost/asio/io_service_strand.hpp | 2 +- lslboost/boost/asio/ip/address.hpp | 62 +- lslboost/boost/asio/ip/address_v4.hpp | 58 +- .../boost/asio/ip/address_v4_iterator.hpp | 2 +- lslboost/boost/asio/ip/address_v4_range.hpp | 2 +- lslboost/boost/asio/ip/address_v6.hpp | 77 +- .../boost/asio/ip/address_v6_iterator.hpp | 2 +- lslboost/boost/asio/ip/address_v6_range.hpp | 2 +- lslboost/boost/asio/ip/bad_address_cast.hpp | 2 +- lslboost/boost/asio/ip/basic_endpoint.hpp | 47 +- lslboost/boost/asio/ip/basic_resolver.hpp | 436 +-- .../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/asio/ip/basic_resolver_results.hpp | 2 +- lslboost/boost/asio/ip/detail/endpoint.hpp | 40 +- .../boost/asio/ip/detail/impl/endpoint.ipp | 20 +- .../boost/asio/ip/detail/socket_option.hpp | 2 +- lslboost/boost/asio/ip/host_name.hpp | 2 +- lslboost/boost/asio/ip/icmp.hpp | 14 +- lslboost/boost/asio/ip/impl/address.hpp | 2 +- lslboost/boost/asio/ip/impl/address.ipp | 41 +- lslboost/boost/asio/ip/impl/address_v4.hpp | 2 +- lslboost/boost/asio/ip/impl/address_v4.ipp | 22 +- lslboost/boost/asio/ip/impl/address_v6.hpp | 2 +- lslboost/boost/asio/ip/impl/address_v6.ipp | 52 +- .../boost/asio/ip/impl/basic_endpoint.hpp | 2 +- lslboost/boost/asio/ip/impl/host_name.ipp | 2 +- lslboost/boost/asio/ip/impl/network_v4.hpp | 2 +- lslboost/boost/asio/ip/impl/network_v4.ipp | 2 +- lslboost/boost/asio/ip/impl/network_v6.hpp | 2 +- lslboost/boost/asio/ip/impl/network_v6.ipp | 2 +- lslboost/boost/asio/ip/multicast.hpp | 16 +- lslboost/boost/asio/ip/network_v4.hpp | 2 +- lslboost/boost/asio/ip/network_v6.hpp | 2 +- lslboost/boost/asio/ip/resolver_base.hpp | 2 +- .../boost/asio/ip/resolver_query_base.hpp | 2 +- lslboost/boost/asio/ip/resolver_service.hpp | 202 -- lslboost/boost/asio/ip/tcp.hpp | 18 +- lslboost/boost/asio/ip/udp.hpp | 14 +- lslboost/boost/asio/ip/unicast.hpp | 6 +- lslboost/boost/asio/ip/v6_only.hpp | 6 +- .../boost/asio/is_applicable_property.hpp | 63 + lslboost/boost/asio/is_executor.hpp | 2 +- lslboost/boost/asio/is_read_buffered.hpp | 2 +- lslboost/boost/asio/is_write_buffered.hpp | 2 +- lslboost/boost/asio/local/basic_endpoint.hpp | 12 +- lslboost/boost/asio/local/connect_pair.hpp | 33 +- .../boost/asio/local/datagram_protocol.hpp | 8 +- lslboost/boost/asio/local/detail/endpoint.hpp | 8 +- .../boost/asio/local/detail/impl/endpoint.ipp | 9 +- lslboost/boost/asio/local/stream_protocol.hpp | 8 +- lslboost/boost/asio/multiple_exceptions.hpp | 60 + lslboost/boost/asio/packaged_task.hpp | 2 +- lslboost/boost/asio/placeholders.hpp | 2 +- .../boost/asio/posix/basic_descriptor.hpp | 263 +- .../asio/posix/basic_stream_descriptor.hpp | 248 +- lslboost/boost/asio/posix/descriptor.hpp | 617 +--- lslboost/boost/asio/posix/descriptor_base.hpp | 4 +- .../boost/asio/posix/stream_descriptor.hpp | 329 +- .../asio/posix/stream_descriptor_service.hpp | 281 -- lslboost/boost/asio/post.hpp | 39 +- lslboost/boost/asio/prefer.hpp | 660 ++++ lslboost/boost/asio/query.hpp | 300 ++ lslboost/boost/asio/raw_socket_service.hpp | 468 --- lslboost/boost/asio/read.hpp | 455 ++- lslboost/boost/asio/read_at.hpp | 79 +- lslboost/boost/asio/read_until.hpp | 1883 ++++++++--- lslboost/boost/asio/redirect_error.hpp | 68 + lslboost/boost/asio/require.hpp | 528 +++ lslboost/boost/asio/require_concept.hpp | 314 ++ .../boost/asio/seq_packet_socket_service.hpp | 418 --- lslboost/boost/asio/serial_port.hpp | 739 +---- lslboost/boost/asio/serial_port_base.hpp | 2 +- lslboost/boost/asio/serial_port_service.hpp | 251 -- lslboost/boost/asio/signal_set.hpp | 425 +-- lslboost/boost/asio/signal_set_service.hpp | 144 - .../boost/asio/socket_acceptor_service.hpp | 374 --- lslboost/boost/asio/socket_base.hpp | 52 +- lslboost/boost/asio/static_thread_pool.hpp | 33 + lslboost/boost/asio/steady_timer.hpp | 2 +- lslboost/boost/asio/strand.hpp | 277 +- lslboost/boost/asio/stream_socket_service.hpp | 414 --- lslboost/boost/asio/streambuf.hpp | 2 +- lslboost/boost/asio/system_context.hpp | 20 +- lslboost/boost/asio/system_executor.hpp | 583 +++- lslboost/boost/asio/system_timer.hpp | 2 +- lslboost/boost/asio/this_coro.hpp | 47 + lslboost/boost/asio/thread_pool.hpp | 955 +++++- lslboost/boost/asio/time_traits.hpp | 2 +- .../boost/asio/traits/bulk_execute_free.hpp | 116 + .../boost/asio/traits/bulk_execute_member.hpp | 116 + lslboost/boost/asio/traits/connect_free.hpp | 114 + lslboost/boost/asio/traits/connect_member.hpp | 114 + .../boost/asio/traits/equality_comparable.hpp | 106 + lslboost/boost/asio/traits/execute_free.hpp | 110 + lslboost/boost/asio/traits/execute_member.hpp | 110 + lslboost/boost/asio/traits/prefer_free.hpp | 110 + lslboost/boost/asio/traits/prefer_member.hpp | 110 + lslboost/boost/asio/traits/query_free.hpp | 110 + lslboost/boost/asio/traits/query_member.hpp | 110 + .../traits/query_static_constexpr_member.hpp | 110 + .../asio/traits/require_concept_free.hpp | 110 + .../asio/traits/require_concept_member.hpp | 110 + lslboost/boost/asio/traits/require_free.hpp | 110 + lslboost/boost/asio/traits/require_member.hpp | 110 + lslboost/boost/asio/traits/schedule_free.hpp | 110 + .../boost/asio/traits/schedule_member.hpp | 110 + lslboost/boost/asio/traits/set_done_free.hpp | 110 + .../boost/asio/traits/set_done_member.hpp | 110 + lslboost/boost/asio/traits/set_error_free.hpp | 114 + .../boost/asio/traits/set_error_member.hpp | 114 + lslboost/boost/asio/traits/set_value_free.hpp | 236 ++ .../boost/asio/traits/set_value_member.hpp | 236 ++ lslboost/boost/asio/traits/start_free.hpp | 110 + lslboost/boost/asio/traits/start_member.hpp | 110 + lslboost/boost/asio/traits/static_query.hpp | 110 + lslboost/boost/asio/traits/static_require.hpp | 125 + .../asio/traits/static_require_concept.hpp | 126 + lslboost/boost/asio/traits/submit_free.hpp | 114 + lslboost/boost/asio/traits/submit_member.hpp | 114 + lslboost/boost/asio/use_awaitable.hpp | 171 + lslboost/boost/asio/use_future.hpp | 2 +- lslboost/boost/asio/uses_executor.hpp | 2 +- lslboost/boost/asio/version.hpp | 4 +- lslboost/boost/asio/wait_traits.hpp | 2 +- .../boost/asio/waitable_timer_service.hpp | 212 -- lslboost/boost/asio/windows/basic_handle.hpp | 275 -- .../asio/windows/basic_object_handle.hpp | 337 +- .../asio/windows/basic_overlapped_handle.hpp | 363 +++ .../windows/basic_random_access_handle.hpp | 258 +- .../asio/windows/basic_stream_handle.hpp | 261 +- lslboost/boost/asio/windows/object_handle.hpp | 349 +- .../asio/windows/object_handle_service.hpp | 185 -- .../boost/asio/windows/overlapped_handle.hpp | 300 +- .../boost/asio/windows/overlapped_ptr.hpp | 47 +- .../asio/windows/random_access_handle.hpp | 347 +- .../windows/random_access_handle_service.hpp | 216 -- lslboost/boost/asio/windows/stream_handle.hpp | 331 +- .../asio/windows/stream_handle_service.hpp | 212 -- lslboost/boost/asio/write.hpp | 426 ++- lslboost/boost/asio/write_at.hpp | 79 +- lslboost/boost/assert/source_location.hpp | 93 + lslboost/boost/atomic.hpp | 9 + lslboost/boost/atomic/atomic.hpp | 189 +- lslboost/boost/atomic/atomic_flag.hpp | 15 +- lslboost/boost/atomic/atomic_ref.hpp | 85 + lslboost/boost/atomic/capabilities.hpp | 193 +- lslboost/boost/atomic/detail/addressof.hpp | 3 + .../boost/atomic/detail/aligned_variable.hpp | 57 + lslboost/boost/atomic/detail/atomic_flag.hpp | 71 - .../boost/atomic/detail/atomic_flag_impl.hpp | 129 + .../{atomic_template.hpp => atomic_impl.hpp} | 756 ++--- .../boost/atomic/detail/atomic_ref_impl.hpp | 1126 +++++++ lslboost/boost/atomic/detail/bitwise_cast.hpp | 27 +- .../boost/atomic/detail/bitwise_fp_cast.hpp | 3 + lslboost/boost/atomic/detail/capabilities.hpp | 217 ++ .../atomic/detail/caps_arch_gcc_aarch32.hpp | 46 + .../atomic/detail/caps_arch_gcc_aarch64.hpp | 58 + ..._gcc_alpha.hpp => caps_arch_gcc_alpha.hpp} | 8 +- ...caps_gcc_arm.hpp => caps_arch_gcc_arm.hpp} | 45 +- ...caps_gcc_ppc.hpp => caps_arch_gcc_ppc.hpp} | 25 +- ..._gcc_sparc.hpp => caps_arch_gcc_sparc.hpp} | 8 +- ...caps_gcc_x86.hpp => caps_arch_gcc_x86.hpp} | 28 +- ...ps_msvc_arm.hpp => caps_arch_msvc_arm.hpp} | 8 +- ...ps_msvc_x86.hpp => caps_arch_msvc_x86.hpp} | 18 +- lslboost/boost/atomic/detail/caps_gcc_arm.hpp | 39 - .../boost/atomic/detail/caps_gcc_atomic.hpp | 175 +- lslboost/boost/atomic/detail/caps_gcc_ppc.hpp | 37 - .../boost/atomic/detail/caps_gcc_sync.hpp | 7 - lslboost/boost/atomic/detail/caps_gcc_x86.hpp | 40 - .../atomic/detail/cas_based_exchange.hpp | 50 + lslboost/boost/atomic/detail/classify.hpp | 81 + lslboost/boost/atomic/detail/config.hpp | 54 +- .../atomic/detail/core_arch_operations.hpp | 50 + .../detail/core_arch_operations_fwd.hpp | 38 + .../detail/core_arch_ops_gcc_aarch32.hpp | 1121 +++++++ .../detail/core_arch_ops_gcc_aarch64.hpp | 1909 +++++++++++ ..._alpha.hpp => core_arch_ops_gcc_alpha.hpp} | 569 ++-- ..._gcc_arm.hpp => core_arch_ops_gcc_arm.hpp} | 914 +++--- ..._gcc_ppc.hpp => core_arch_ops_gcc_ppc.hpp} | 169 +- ..._sparc.hpp => core_arch_ops_gcc_sparc.hpp} | 91 +- ...x86_dcas.hpp => core_arch_ops_gcc_x86.hpp} | 527 ++- ...svc_arm.hpp => core_arch_ops_msvc_arm.hpp} | 112 +- ...svc_x86.hpp => core_arch_ops_msvc_x86.hpp} | 170 +- .../boost/atomic/detail/core_operations.hpp | 49 + .../detail/core_operations_emulated.hpp | 195 ++ .../detail/core_operations_emulated_fwd.hpp | 38 + .../atomic/detail/core_operations_fwd.hpp | 38 + ...s_cas_based.hpp => core_ops_cas_based.hpp} | 31 +- .../atomic/detail/core_ops_gcc_atomic.hpp | 306 ++ ...ops_gcc_sync.hpp => core_ops_gcc_sync.hpp} | 127 +- ...s_linux_arm.hpp => core_ops_linux_arm.hpp} | 75 +- .../{ops_windows.hpp => core_ops_windows.hpp} | 73 +- ...hpp => extending_cas_based_arithmetic.hpp} | 21 +- .../atomic/detail/extra_fp_operations_fwd.hpp | 5 +- .../atomic/detail/extra_fp_ops_emulated.hpp | 35 +- .../atomic/detail/extra_fp_ops_generic.hpp | 21 +- .../atomic/detail/extra_operations_fwd.hpp | 5 +- .../atomic/detail/extra_ops_emulated.hpp | 100 +- .../atomic/detail/extra_ops_gcc_aarch32.hpp | 1060 ++++++ .../atomic/detail/extra_ops_gcc_aarch64.hpp | 1330 ++++++++ .../boost/atomic/detail/extra_ops_gcc_arm.hpp | 718 ++-- .../boost/atomic/detail/extra_ops_gcc_ppc.hpp | 185 +- .../boost/atomic/detail/extra_ops_gcc_x86.hpp | 334 +- .../boost/atomic/detail/extra_ops_generic.hpp | 26 +- .../atomic/detail/extra_ops_msvc_arm.hpp | 10 +- .../atomic/detail/extra_ops_msvc_x86.hpp | 211 +- .../atomic/detail/fence_arch_operations.hpp | 41 + .../detail/fence_arch_ops_gcc_aarch32.hpp | 60 + .../detail/fence_arch_ops_gcc_aarch64.hpp | 58 + .../detail/fence_arch_ops_gcc_alpha.hpp | 53 + .../atomic/detail/fence_arch_ops_gcc_arm.hpp | 90 + .../atomic/detail/fence_arch_ops_gcc_ppc.hpp | 68 + .../detail/fence_arch_ops_gcc_sparc.hpp | 70 + .../atomic/detail/fence_arch_ops_gcc_x86.hpp | 69 + .../atomic/detail/fence_arch_ops_msvc_arm.hpp | 66 + .../atomic/detail/fence_arch_ops_msvc_x86.hpp | 66 + .../boost/atomic/detail/fence_operations.hpp | 41 + .../detail/fence_operations_emulated.hpp | 50 + .../atomic/detail/fence_ops_gcc_atomic.hpp | 75 + .../atomic/detail/fence_ops_gcc_sync.hpp | 53 + .../atomic/detail/fence_ops_linux_arm.hpp | 64 + .../boost/atomic/detail/fence_ops_windows.hpp | 67 + lslboost/boost/atomic/detail/footer.hpp | 24 + .../boost/atomic/detail/fp_operations_fwd.hpp | 5 +- .../boost/atomic/detail/fp_ops_emulated.hpp | 22 +- .../boost/atomic/detail/fp_ops_generic.hpp | 9 +- lslboost/boost/atomic/detail/futex.hpp | 147 + .../atomic/detail/gcc_arm_asm_common.hpp | 75 + .../detail/gcc_atomic_memory_order_utils.hpp | 66 + lslboost/boost/atomic/detail/header.hpp | 72 + lslboost/boost/atomic/detail/int_sizes.hpp | 26 +- ...al_extend.hpp => integral_conversions.hpp} | 13 +- lslboost/boost/atomic/detail/interlocked.hpp | 46 +- lslboost/boost/atomic/detail/intptr.hpp | 46 + lslboost/boost/atomic/detail/lock_pool.hpp | 151 + lslboost/boost/atomic/detail/lockpool.hpp | 51 - .../atomic/detail/memory_order_utils.hpp | 47 + lslboost/boost/atomic/detail/once_flag.hpp | 43 + lslboost/boost/atomic/detail/operations.hpp | 24 - .../boost/atomic/detail/operations_fwd.hpp | 35 - .../atomic/detail/operations_lockfree.hpp | 30 - lslboost/boost/atomic/detail/ops_emulated.hpp | 162 - .../atomic/detail/ops_gcc_aarch32_common.hpp | 53 + .../atomic/detail/ops_gcc_aarch64_common.hpp | 53 + .../atomic/detail/ops_gcc_arm_common.hpp | 87 +- .../boost/atomic/detail/ops_gcc_atomic.hpp | 392 --- .../atomic/detail/ops_gcc_ppc_common.hpp | 5 +- lslboost/boost/atomic/detail/ops_gcc_x86.hpp | 563 ---- .../boost/atomic/detail/ops_msvc_common.hpp | 9 +- lslboost/boost/atomic/detail/pause.hpp | 28 +- lslboost/boost/atomic/detail/platform.hpp | 91 +- .../boost/atomic/detail/storage_traits.hpp | 187 ++ lslboost/boost/atomic/detail/storage_type.hpp | 207 -- .../detail/type_traits/alignment_of.hpp | 51 + .../detail/type_traits/is_floating_point.hpp | 5 +- .../type_traits/is_trivially_copyable.hpp | 45 + .../boost/atomic/detail/wait_capabilities.hpp | 363 +++ .../detail/wait_caps_dragonfly_umtx.hpp | 30 + .../atomic/detail/wait_caps_freebsd_umtx.hpp | 40 + .../boost/atomic/detail/wait_caps_futex.hpp | 31 + .../boost/atomic/detail/wait_caps_windows.hpp | 55 + .../boost/atomic/detail/wait_operations.hpp | 28 + .../atomic/detail/wait_operations_fwd.hpp | 43 + .../atomic/detail/wait_ops_dragonfly_umtx.hpp | 75 + .../boost/atomic/detail/wait_ops_emulated.hpp | 97 + .../atomic/detail/wait_ops_freebsd_umtx.hpp | 119 + .../boost/atomic/detail/wait_ops_futex.hpp | 111 + .../boost/atomic/detail/wait_ops_generic.hpp | 143 + .../boost/atomic/detail/wait_ops_windows.hpp | 150 + lslboost/boost/atomic/fences.hpp | 25 +- lslboost/boost/atomic/ipc_atomic.hpp | 85 + lslboost/boost/atomic/ipc_atomic_flag.hpp | 40 + lslboost/boost/atomic/ipc_atomic_ref.hpp | 85 + lslboost/boost/bimap.hpp | 19 - lslboost/boost/bimap/bimap.hpp | 438 --- .../associative_container_adaptor.hpp | 287 -- .../container_adaptor/container_adaptor.hpp | 291 -- .../detail/comparison_adaptor.hpp | 111 - .../container_adaptor/detail/functor_bag.hpp | 100 - .../detail/identity_converters.hpp | 191 -- .../bimap/container_adaptor/map_adaptor.hpp | 132 - .../ordered_associative_container_adaptor.hpp | 312 -- .../bimap/container_adaptor/set_adaptor.hpp | 100 - .../support/iterator_facade_converters.hpp | 77 - lslboost/boost/bimap/detail/bimap_core.hpp | 477 --- lslboost/boost/bimap/detail/concept_tags.hpp | 97 - .../boost/bimap/detail/debug/static_error.hpp | 35 - .../bimap/detail/generate_index_binder.hpp | 125 - .../bimap/detail/generate_relation_binder.hpp | 88 - .../bimap/detail/generate_view_binder.hpp | 58 - .../boost/bimap/detail/is_set_type_of.hpp | 66 - .../detail/manage_additional_parameters.hpp | 243 -- .../boost/bimap/detail/manage_bimap_key.hpp | 84 - lslboost/boost/bimap/detail/map_view_base.hpp | 544 ---- .../boost/bimap/detail/map_view_iterator.hpp | 341 -- .../boost/bimap/detail/modifier_adaptor.hpp | 91 - lslboost/boost/bimap/detail/set_view_base.hpp | 331 -- .../boost/bimap/detail/set_view_iterator.hpp | 197 -- .../bimap/detail/user_interface_config.hpp | 24 - .../bimap/relation/detail/access_builder.hpp | 170 - .../detail/metadata_access_builder.hpp | 103 - .../boost/bimap/relation/detail/mutant.hpp | 83 - .../relation/detail/static_access_builder.hpp | 105 - .../detail/to_mutable_relation_functor.hpp | 102 - lslboost/boost/bimap/relation/member_at.hpp | 72 - .../boost/bimap/relation/mutant_relation.hpp | 477 --- lslboost/boost/bimap/relation/pair_layout.hpp | 72 - .../boost/bimap/relation/structured_pair.hpp | 552 ---- .../bimap/relation/support/data_extractor.hpp | 113 - lslboost/boost/bimap/relation/support/get.hpp | 140 - .../relation/support/get_pair_functor.hpp | 85 - .../relation/support/is_tag_of_member_at.hpp | 181 -- .../relation/support/member_with_tag.hpp | 180 - .../bimap/relation/support/opposite_tag.hpp | 61 - .../boost/bimap/relation/support/pair_by.hpp | 120 - .../bimap/relation/support/pair_type_by.hpp | 62 - .../bimap/relation/support/value_type_of.hpp | 91 - .../boost/bimap/relation/symmetrical_base.hpp | 97 - lslboost/boost/bimap/set_of.hpp | 206 -- lslboost/boost/bimap/support/data_type_by.hpp | 73 - .../boost/bimap/support/iterator_type_by.hpp | 142 - lslboost/boost/bimap/support/key_type_by.hpp | 64 - lslboost/boost/bimap/support/map_by.hpp | 132 - lslboost/boost/bimap/support/map_type_by.hpp | 65 - .../boost/bimap/support/value_type_by.hpp | 65 - .../bimap/tags/support/default_tagged.hpp | 73 - lslboost/boost/bimap/tags/support/tag_of.hpp | 75 - .../bimap/tags/support/value_type_of.hpp | 74 - lslboost/boost/bimap/tags/tagged.hpp | 107 - lslboost/boost/bimap/unconstrained_set_of.hpp | 150 - lslboost/boost/bimap/views/map_view.hpp | 156 - lslboost/boost/bimap/views/set_view.hpp | 106 - .../bimap/views/unconstrained_map_view.hpp | 46 - .../bimap/views/unconstrained_set_view.hpp | 42 - lslboost/boost/bind.hpp | 41 - lslboost/boost/bind/bind.hpp | 47 +- lslboost/boost/bind/bind_mf2_cc.hpp | 36 +- lslboost/boost/bind/bind_template.hpp | 2 +- lslboost/boost/bind/detail/result_traits.hpp | 154 + lslboost/boost/bind/mem_fn.hpp | 36 +- lslboost/boost/bind/mem_fn_cc.hpp | 36 +- lslboost/boost/bind/placeholders.hpp | 14 +- lslboost/boost/bind/storage.hpp | 2 +- lslboost/boost/cerrno.hpp | 324 +- .../chrono/detail/inlined/posix/chrono.hpp | 32 +- .../chrono/detail/inlined/win/chrono.hpp | 3 +- .../detail/inlined/win/process_cpu_clocks.hpp | 48 +- .../detail/inlined/win/thread_clock.hpp | 22 +- lslboost/boost/chrono/system_clocks.hpp | 4 +- lslboost/boost/concept/assert.hpp | 2 +- lslboost/boost/config/abi_prefix.hpp | 2 +- lslboost/boost/config/abi_suffix.hpp | 4 +- lslboost/boost/config/auto_link.hpp | 94 +- lslboost/boost/config/compiler/borland.hpp | 5 +- lslboost/boost/config/compiler/clang.hpp | 13 + lslboost/boost/config/compiler/codegear.hpp | 165 +- lslboost/boost/config/compiler/common_edg.hpp | 2 + lslboost/boost/config/compiler/cray.hpp | 5 + .../boost/config/compiler/digitalmars.hpp | 2 + lslboost/boost/config/compiler/gcc.hpp | 26 +- lslboost/boost/config/compiler/gcc_xml.hpp | 2 + lslboost/boost/config/compiler/hp_acc.hpp | 1 + lslboost/boost/config/compiler/intel.hpp | 7 + lslboost/boost/config/compiler/metrowerks.hpp | 2 + lslboost/boost/config/compiler/mpw.hpp | 2 + lslboost/boost/config/compiler/pathscale.hpp | 2 + lslboost/boost/config/compiler/sunpro_cc.hpp | 2 + lslboost/boost/config/compiler/vacpp.hpp | 2 + lslboost/boost/config/compiler/visualc.hpp | 22 +- lslboost/boost/config/compiler/xlcpp.hpp | 5 + lslboost/boost/config/compiler/xlcpp_zos.hpp | 2 + .../config/detail/select_compiler_config.hpp | 2 +- .../config/detail/select_stdlib_config.hpp | 15 +- lslboost/boost/config/detail/suffix.hpp | 79 +- lslboost/boost/config/platform/cygwin.hpp | 3 + lslboost/boost/config/platform/vxworks.hpp | 137 +- lslboost/boost/config/requires_threads.hpp | 2 +- lslboost/boost/config/stdlib/dinkumware.hpp | 20 +- lslboost/boost/config/stdlib/libcomo.hpp | 1 + lslboost/boost/config/stdlib/libcpp.hpp | 2 + lslboost/boost/config/stdlib/libstdcpp3.hpp | 12 +- lslboost/boost/config/stdlib/modena.hpp | 1 + lslboost/boost/config/stdlib/msl.hpp | 1 + lslboost/boost/config/stdlib/roguewave.hpp | 3 +- lslboost/boost/config/stdlib/sgi.hpp | 1 + lslboost/boost/config/stdlib/stlport.hpp | 11 +- lslboost/boost/config/stdlib/vacpp.hpp | 1 + lslboost/boost/config/stdlib/xlcpp_zos.hpp | 1 + lslboost/boost/config/user.hpp | 4 +- lslboost/boost/config/workaround.hpp | 15 + lslboost/boost/container/allocator_traits.hpp | 22 +- lslboost/boost/container/container_fwd.hpp | 152 +- .../container/detail/advanced_insert_int.hpp | 174 +- .../boost/container/detail/alloc_helpers.hpp | 12 +- .../boost/container/detail/config_begin.hpp | 3 - .../boost/container/detail/copy_move_algo.hpp | 195 +- .../boost/container/detail/destroyers.hpp | 131 +- .../detail/dispatch_uses_allocator.hpp | 40 +- lslboost/boost/container/detail/flat_tree.hpp | 1630 ---------- .../boost/container/detail/is_container.hpp | 55 - .../detail/is_contiguous_container.hpp | 47 - lslboost/boost/container/detail/is_sorted.hpp | 57 - lslboost/boost/container/detail/iterators.hpp | 250 +- lslboost/boost/container/detail/mpl.hpp | 4 +- .../boost/container/detail/next_capacity.hpp | 23 +- lslboost/boost/container/detail/pair.hpp | 101 +- .../boost/container/detail/type_traits.hpp | 1 + .../boost/container/detail/value_functors.hpp | 6 + .../boost/container/detail/version_type.hpp | 15 +- .../boost/container/detail/workaround.hpp | 17 +- lslboost/boost/container/flat_set.hpp | 1943 ----------- lslboost/boost/container/new_allocator.hpp | 19 +- lslboost/boost/container/options.hpp | 321 +- lslboost/boost/container/scoped_allocator.hpp | 160 +- lslboost/boost/container/throw_exception.hpp | 55 +- lslboost/boost/container/vector.hpp | 1019 +++--- lslboost/boost/container_hash/extensions.hpp | 55 +- lslboost/boost/container_hash/hash.hpp | 9 +- lslboost/boost/container_hash/hash_fwd.hpp | 2 +- lslboost/boost/core/addressof.hpp | 4 +- lslboost/boost/core/alloc_construct.hpp | 169 + lslboost/boost/core/allocator_access.hpp | 633 ++++ lslboost/boost/core/checked_delete.hpp | 10 +- lslboost/boost/core/default_allocator.hpp | 148 + lslboost/boost/core/first_scalar.hpp | 45 + lslboost/boost/core/no_exceptions_support.hpp | 16 +- lslboost/boost/core/noinit_adaptor.hpp | 87 + lslboost/boost/core/nvp.hpp | 57 + lslboost/boost/core/pointer_traits.hpp | 234 ++ lslboost/boost/core/ref.hpp | 2 +- lslboost/boost/core/swap.hpp | 9 +- lslboost/boost/core/typeinfo.hpp | 4 +- lslboost/boost/core/uncaught_exceptions.hpp | 155 + lslboost/boost/core/use_default.hpp | 17 + lslboost/boost/cstdint.hpp | 10 +- lslboost/boost/current_function.hpp | 6 +- lslboost/boost/date_time/c_time.hpp | 13 +- lslboost/boost/date_time/compiler_config.hpp | 21 +- .../boost/date_time/constrained_value.hpp | 30 +- lslboost/boost/date_time/date.hpp | 46 +- lslboost/boost/date_time/date_duration.hpp | 39 +- .../boost/date_time/date_duration_types.hpp | 93 +- .../boost/date_time/date_format_simple.hpp | 159 - lslboost/boost/date_time/date_formatting.hpp | 137 - .../date_time/date_formatting_limited.hpp | 121 - .../date_time/date_formatting_locales.hpp | 234 -- lslboost/boost/date_time/date_generators.hpp | 43 +- lslboost/boost/date_time/date_names_put.hpp | 321 -- lslboost/boost/date_time/date_parsing.hpp | 316 -- lslboost/boost/date_time/dst_rules.hpp | 112 +- .../boost/date_time/gregorian/formatters.hpp | 162 - .../gregorian/formatters_limited.hpp | 81 - .../boost/date_time/gregorian/greg_date.hpp | 36 +- .../boost/date_time/gregorian/greg_day.hpp | 8 +- .../date_time/gregorian/greg_duration.hpp | 76 +- .../gregorian/greg_duration_types.hpp | 4 +- .../boost/date_time/gregorian/greg_facet.hpp | 374 --- .../boost/date_time/gregorian/greg_month.hpp | 74 +- .../date_time/gregorian/greg_weekday.hpp | 52 +- .../boost/date_time/gregorian/greg_year.hpp | 6 +- .../boost/date_time/gregorian/parsers.hpp | 91 - .../boost/date_time/gregorian_calendar.hpp | 32 +- .../boost/date_time/gregorian_calendar.ipp | 49 +- lslboost/boost/date_time/int_adapter.hpp | 94 +- lslboost/boost/date_time/iso_format.hpp | 303 -- lslboost/boost/date_time/locale_config.hpp | 6 +- .../boost/date_time/parse_format_base.hpp | 29 - lslboost/boost/date_time/period.hpp | 91 +- .../posix_time/date_duration_operators.hpp | 16 +- .../posix_time/posix_time_config.hpp | 39 +- .../posix_time/posix_time_duration.hpp | 8 +- lslboost/boost/date_time/posix_time/ptime.hpp | 26 +- lslboost/boost/date_time/time.hpp | 27 +- lslboost/boost/date_time/time_duration.hpp | 100 +- .../date_time/time_resolution_traits.hpp | 36 +- .../boost/date_time/time_system_counted.hpp | 115 +- .../boost/date_time/time_system_split.hpp | 73 +- lslboost/boost/date_time/wrapping_int.hpp | 31 +- lslboost/boost/date_time/year_month_day.hpp | 12 +- lslboost/boost/detail/allocator_utilities.hpp | 193 -- lslboost/boost/detail/basic_pointerbuf.hpp | 7 +- lslboost/boost/detail/call_traits.hpp | 2 +- lslboost/boost/detail/endian.hpp | 11 - lslboost/boost/detail/interlocked.hpp | 235 +- lslboost/boost/detail/is_xxx.hpp | 27 - lslboost/boost/detail/iterator.hpp | 39 - lslboost/boost/detail/lightweight_mutex.hpp | 22 - .../boost/detail/no_exceptions_support.hpp | 4 + .../boost/detail/scoped_enum_emulation.hpp | 4 + lslboost/boost/detail/sp_typeinfo.hpp | 36 - .../winapi/detail/deprecated_namespace.hpp | 28 - .../detail/winapi/get_current_process.hpp | 20 - .../detail/winapi/get_current_thread.hpp | 20 - .../boost/detail/winapi/get_last_error.hpp | 20 - .../boost/detail/winapi/get_process_times.hpp | 20 - .../boost/detail/winapi/get_thread_times.hpp | 20 - lslboost/boost/detail/winapi/time.hpp | 20 - lslboost/boost/detail/winapi/timers.hpp | 20 - lslboost/boost/endian/conversion.hpp | 789 +++-- lslboost/boost/endian/detail/endian_load.hpp | 589 ++++ .../boost/endian/detail/endian_reverse.hpp | 178 + lslboost/boost/endian/detail/endian_store.hpp | 442 +++ .../boost/endian/detail/integral_by_size.hpp | 57 + lslboost/boost/endian/detail/intrinsic.hpp | 4 +- .../boost/endian/detail/is_scoped_enum.hpp | 35 + .../endian/detail/is_trivially_copyable.hpp | 40 + lslboost/boost/endian/detail/order.hpp | 59 + .../exception/current_exception_cast.hpp | 14 +- .../detail/clone_current_exception.hpp | 14 +- .../exception/detail/error_info_impl.hpp | 19 +- .../boost/exception/detail/exception_ptr.hpp | 94 +- .../exception/detail/is_output_streamable.hpp | 13 +- .../exception/detail/object_hex_dump.hpp | 13 +- .../boost/exception/detail/shared_ptr.hpp | 4 +- lslboost/boost/exception/detail/type_info.hpp | 13 +- .../exception/diagnostic_information.hpp | 21 +- lslboost/boost/exception/exception.hpp | 76 +- lslboost/boost/exception/get_error_info.hpp | 13 +- lslboost/boost/exception/info.hpp | 17 +- lslboost/boost/exception/to_string.hpp | 13 +- lslboost/boost/exception/to_string_stub.hpp | 13 +- lslboost/boost/exception_ptr.hpp | 4 +- lslboost/boost/foreach_fwd.hpp | 51 - lslboost/boost/function/function_base.hpp | 16 +- lslboost/boost/function/function_template.hpp | 26 +- lslboost/boost/function_types/components.hpp | 8 +- .../boost/function_types/config/compiler.hpp | 6 +- .../function_types/detail/classifier.hpp | 2 +- .../boost/function_types/detail/cv_traits.hpp | 4 +- .../boost/function_types/property_tags.hpp | 52 + lslboost/boost/functional/hash/hash.hpp | 6 - lslboost/boost/fusion/adapted/mpl.hpp | 23 + .../fusion/adapted/mpl/detail/at_impl.hpp | 42 + .../fusion/adapted/mpl/detail/begin_impl.hpp | 47 + .../adapted/mpl/detail/category_of_impl.hpp | 55 + .../fusion/adapted/mpl/detail/empty_impl.hpp | 32 + .../fusion/adapted/mpl/detail/end_impl.hpp | 47 + .../adapted/mpl/detail/has_key_impl.hpp | 32 + .../adapted/mpl/detail/is_sequence_impl.hpp | 32 + .../adapted/mpl/detail/is_view_impl.hpp | 33 + .../fusion/adapted/mpl/detail/size_impl.hpp | 32 + .../adapted/mpl/detail/value_at_impl.hpp | 32 + .../boost/fusion/adapted/mpl/mpl_iterator.hpp | 128 + .../fusion/algorithm/query/detail/find_if.hpp | 251 ++ .../algorithm/query/detail/segmented_find.hpp | 95 + .../boost/fusion/algorithm/query/find.hpp | 72 + .../boost/fusion/algorithm/query/find_fwd.hpp | 37 + .../fusion/algorithm/query/find_if_fwd.hpp | 38 + .../fusion/algorithm/transformation/erase.hpp | 140 + .../algorithm/transformation/erase_key.hpp | 36 + .../algorithm/transformation/insert.hpp | 69 + .../algorithm/transformation/insert_range.hpp | 56 + .../algorithm/transformation/pop_back.hpp | 172 + .../algorithm/transformation/pop_front.hpp | 45 + .../algorithm/transformation/push_back.hpp | 47 + .../algorithm/transformation/push_front.hpp | 47 + lslboost/boost/fusion/container/deque.hpp | 17 + .../container/deque/back_extended_deque.hpp | 53 + .../boost/fusion/container/deque/convert.hpp | 61 + .../boost/fusion/container/deque/deque.hpp | 189 ++ .../fusion/container/deque/deque_fwd.hpp | 49 + .../fusion/container/deque/deque_iterator.hpp | 129 + .../fusion/container/deque/detail/at_impl.hpp | 67 + .../container/deque/detail/begin_impl.hpp | 43 + .../container/deque/detail/build_deque.hpp | 78 + .../container/deque/detail/convert_impl.hpp | 56 + .../container/deque/detail/cpp03/as_deque.hpp | 146 + .../deque/detail/cpp03/build_deque.hpp | 55 + .../container/deque/detail/cpp03/deque.hpp | 207 ++ .../deque/detail/cpp03/deque_forward_ctor.hpp | 69 + .../deque/detail/cpp03/deque_fwd.hpp | 54 + .../deque/detail/cpp03/deque_initial_size.hpp | 64 + .../deque/detail/cpp03/deque_keyed_values.hpp | 112 + .../detail/cpp03/deque_keyed_values_call.hpp | 72 + .../container/deque/detail/cpp03/limits.hpp | 32 + .../detail/cpp03/preprocessed/as_deque.hpp | 22 + .../detail/cpp03/preprocessed/as_deque10.hpp | 223 ++ .../detail/cpp03/preprocessed/as_deque20.hpp | 433 +++ .../detail/cpp03/preprocessed/as_deque30.hpp | 643 ++++ .../detail/cpp03/preprocessed/as_deque40.hpp | 853 +++++ .../detail/cpp03/preprocessed/as_deque50.hpp | 1063 ++++++ .../deque/detail/cpp03/preprocessed/deque.hpp | 22 + .../detail/cpp03/preprocessed/deque10.hpp | 280 ++ .../detail/cpp03/preprocessed/deque10_fwd.hpp | 15 + .../detail/cpp03/preprocessed/deque20.hpp | 460 +++ .../detail/cpp03/preprocessed/deque20_fwd.hpp | 15 + .../detail/cpp03/preprocessed/deque30.hpp | 640 ++++ .../detail/cpp03/preprocessed/deque30_fwd.hpp | 15 + .../detail/cpp03/preprocessed/deque40.hpp | 820 +++++ .../detail/cpp03/preprocessed/deque40_fwd.hpp | 15 + .../detail/cpp03/preprocessed/deque50.hpp | 1000 ++++++ .../detail/cpp03/preprocessed/deque50_fwd.hpp | 15 + .../detail/cpp03/preprocessed/deque_fwd.hpp | 22 + .../cpp03/preprocessed/deque_initial_size.hpp | 22 + .../preprocessed/deque_initial_size10.hpp | 18 + .../preprocessed/deque_initial_size20.hpp | 18 + .../preprocessed/deque_initial_size30.hpp | 18 + .../preprocessed/deque_initial_size40.hpp | 18 + .../preprocessed/deque_initial_size50.hpp | 18 + .../cpp03/preprocessed/deque_keyed_values.hpp | 22 + .../preprocessed/deque_keyed_values10.hpp | 252 ++ .../preprocessed/deque_keyed_values20.hpp | 462 +++ .../preprocessed/deque_keyed_values30.hpp | 672 ++++ .../preprocessed/deque_keyed_values40.hpp | 882 +++++ .../preprocessed/deque_keyed_values50.hpp | 1092 +++++++ .../deque/detail/deque_keyed_values.hpp | 76 + .../container/deque/detail/end_impl.hpp | 43 + .../deque/detail/is_sequence_impl.hpp | 32 + .../container/deque/detail/keyed_element.hpp | 181 ++ .../container/deque/detail/value_at_impl.hpp | 46 + .../container/deque/front_extended_deque.hpp | 51 + lslboost/boost/fusion/container/list.hpp | 17 + lslboost/boost/fusion/container/list/cons.hpp | 148 + .../boost/fusion/container/list/cons_fwd.hpp | 23 + .../fusion/container/list/cons_iterator.hpp | 110 + .../boost/fusion/container/list/convert.hpp | 60 + .../fusion/container/list/detail/at_impl.hpp | 136 + .../container/list/detail/begin_impl.hpp | 51 + .../container/list/detail/build_cons.hpp | 61 + .../container/list/detail/convert_impl.hpp | 53 + .../container/list/detail/cpp03/limits.hpp | 23 + .../container/list/detail/cpp03/list.hpp | 104 + .../list/detail/cpp03/list_forward_ctor.hpp | 48 + .../container/list/detail/cpp03/list_fwd.hpp | 51 + .../list/detail/cpp03/list_to_cons.hpp | 76 + .../list/detail/cpp03/list_to_cons_call.hpp | 44 + .../list/detail/cpp03/preprocessed/list.hpp | 22 + .../list/detail/cpp03/preprocessed/list10.hpp | 100 + .../detail/cpp03/preprocessed/list10_fwd.hpp | 16 + .../list/detail/cpp03/preprocessed/list20.hpp | 140 + .../detail/cpp03/preprocessed/list20_fwd.hpp | 16 + .../list/detail/cpp03/preprocessed/list30.hpp | 180 + .../detail/cpp03/preprocessed/list30_fwd.hpp | 16 + .../list/detail/cpp03/preprocessed/list40.hpp | 220 ++ .../detail/cpp03/preprocessed/list40_fwd.hpp | 16 + .../list/detail/cpp03/preprocessed/list50.hpp | 260 ++ .../detail/cpp03/preprocessed/list50_fwd.hpp | 16 + .../detail/cpp03/preprocessed/list_fwd.hpp | 22 + .../cpp03/preprocessed/list_to_cons.hpp | 22 + .../cpp03/preprocessed/list_to_cons10.hpp | 96 + .../cpp03/preprocessed/list_to_cons20.hpp | 166 + .../cpp03/preprocessed/list_to_cons30.hpp | 236 ++ .../cpp03/preprocessed/list_to_cons40.hpp | 306 ++ .../cpp03/preprocessed/list_to_cons50.hpp | 376 +++ .../container/list/detail/deref_impl.hpp | 54 + .../container/list/detail/empty_impl.hpp | 39 + .../fusion/container/list/detail/end_impl.hpp | 53 + .../container/list/detail/equal_to_impl.hpp | 40 + .../container/list/detail/list_to_cons.hpp | 61 + .../container/list/detail/next_impl.hpp | 61 + .../container/list/detail/reverse_cons.hpp | 46 + .../container/list/detail/value_at_impl.hpp | 43 + .../container/list/detail/value_of_impl.hpp | 36 + lslboost/boost/fusion/container/list/list.hpp | 127 + .../boost/fusion/container/list/list_fwd.hpp | 43 + lslboost/boost/fusion/container/list/nil.hpp | 51 + .../container/map/detail/cpp03/limits.hpp | 28 + .../container/map/detail/cpp03/map_fwd.hpp | 53 + .../detail/cpp03/preprocessed/map10_fwd.hpp | 18 + .../detail/cpp03/preprocessed/map20_fwd.hpp | 18 + .../detail/cpp03/preprocessed/map30_fwd.hpp | 18 + .../detail/cpp03/preprocessed/map40_fwd.hpp | 18 + .../detail/cpp03/preprocessed/map50_fwd.hpp | 18 + .../map/detail/cpp03/preprocessed/map_fwd.hpp | 22 + .../boost/fusion/container/map/map_fwd.hpp | 49 + .../container/set/detail/cpp03/limits.hpp | 28 + .../detail/cpp03/preprocessed/set10_fwd.hpp | 18 + .../detail/cpp03/preprocessed/set20_fwd.hpp | 18 + .../detail/cpp03/preprocessed/set30_fwd.hpp | 18 + .../detail/cpp03/preprocessed/set40_fwd.hpp | 18 + .../detail/cpp03/preprocessed/set50_fwd.hpp | 18 + .../set/detail/cpp03/preprocessed/set_fwd.hpp | 22 + .../container/set/detail/cpp03/set_fwd.hpp | 53 + .../boost/fusion/container/set/set_fwd.hpp | 46 + .../container/vector/detail/advance_impl.hpp | 43 + .../container/vector/detail/at_impl.hpp | 60 + .../container/vector/detail/begin_impl.hpp | 41 + .../fusion/container/vector/detail/config.hpp | 37 + .../container/vector/detail/cpp03/limits.hpp | 25 + .../detail/cpp03/preprocessed/vector10.hpp | 1830 +++++++++++ .../cpp03/preprocessed/vector10_fwd.hpp | 33 + .../detail/cpp03/preprocessed/vector20.hpp | 1824 +++++++++++ .../cpp03/preprocessed/vector20_fwd.hpp | 33 + .../detail/cpp03/preprocessed/vector30.hpp | 1824 +++++++++++ .../cpp03/preprocessed/vector30_fwd.hpp | 33 + .../detail/cpp03/preprocessed/vector40.hpp | 1824 +++++++++++ .../cpp03/preprocessed/vector40_fwd.hpp | 33 + .../detail/cpp03/preprocessed/vector50.hpp | 1824 +++++++++++ .../cpp03/preprocessed/vector50_fwd.hpp | 33 + .../detail/cpp03/preprocessed/vector_fwd.hpp | 22 + .../cpp03/preprocessed/vvector10_fwd.hpp | 16 + .../cpp03/preprocessed/vvector20_fwd.hpp | 16 + .../cpp03/preprocessed/vvector30_fwd.hpp | 16 + .../cpp03/preprocessed/vvector40_fwd.hpp | 16 + .../cpp03/preprocessed/vvector50_fwd.hpp | 16 + .../vector/detail/cpp03/value_at_impl.hpp | 34 + .../vector/detail/cpp03/vector10.hpp | 105 + .../vector/detail/cpp03/vector10_fwd.hpp | 64 + .../vector/detail/cpp03/vector20.hpp | 81 + .../vector/detail/cpp03/vector20_fwd.hpp | 59 + .../vector/detail/cpp03/vector30.hpp | 80 + .../vector/detail/cpp03/vector30_fwd.hpp | 59 + .../vector/detail/cpp03/vector40.hpp | 81 + .../vector/detail/cpp03/vector40_fwd.hpp | 59 + .../vector/detail/cpp03/vector50.hpp | 80 + .../vector/detail/cpp03/vector50_fwd.hpp | 59 + .../vector/detail/cpp03/vector_fwd.hpp | 66 + .../vector/detail/cpp03/vector_n.hpp | 354 ++ .../container/vector/detail/deref_impl.hpp | 54 + .../container/vector/detail/distance_impl.hpp | 43 + .../container/vector/detail/end_impl.hpp | 42 + .../container/vector/detail/equal_to_impl.hpp | 40 + .../container/vector/detail/next_impl.hpp | 45 + .../container/vector/detail/prior_impl.hpp | 45 + .../container/vector/detail/value_at_impl.hpp | 60 + .../container/vector/detail/value_of_impl.hpp | 36 + .../fusion/container/vector/vector_fwd.hpp | 43 + .../container/vector/vector_iterator.hpp | 65 + lslboost/boost/fusion/iterator/advance.hpp | 95 + lslboost/boost/fusion/iterator/deref.hpp | 75 + lslboost/boost/fusion/iterator/deref_data.hpp | 51 + .../iterator/detail/adapt_deref_traits.hpp | 36 + .../iterator/detail/adapt_value_traits.hpp | 29 + .../boost/fusion/iterator/detail/advance.hpp | 107 + .../boost/fusion/iterator/detail/distance.hpp | 66 + .../iterator/detail/segment_sequence.hpp | 73 + .../iterator/detail/segmented_equal_to.hpp | 42 + .../iterator/detail/segmented_iterator.hpp | 148 + .../iterator/detail/segmented_next_impl.hpp | 265 ++ lslboost/boost/fusion/iterator/distance.hpp | 80 + lslboost/boost/fusion/iterator/equal_to.hpp | 106 + .../fusion/iterator/iterator_adapter.hpp | 147 + .../boost/fusion/iterator/iterator_facade.hpp | 68 + lslboost/boost/fusion/iterator/key_of.hpp | 43 + lslboost/boost/fusion/iterator/mpl.hpp | 14 + .../fusion/iterator/mpl/convert_iterator.hpp | 62 + .../fusion/iterator/mpl/fusion_iterator.hpp | 80 + lslboost/boost/fusion/iterator/next.hpp | 65 + lslboost/boost/fusion/iterator/prior.hpp | 65 + .../fusion/iterator/segmented_iterator.hpp | 16 + lslboost/boost/fusion/iterator/value_of.hpp | 58 + .../boost/fusion/iterator/value_of_data.hpp | 43 + lslboost/boost/fusion/mpl.hpp | 32 + lslboost/boost/fusion/mpl/at.hpp | 34 + lslboost/boost/fusion/mpl/back.hpp | 33 + lslboost/boost/fusion/mpl/begin.hpp | 32 + lslboost/boost/fusion/mpl/clear.hpp | 34 + lslboost/boost/fusion/mpl/detail/clear.hpp | 47 + lslboost/boost/fusion/mpl/empty.hpp | 27 + lslboost/boost/fusion/mpl/end.hpp | 32 + lslboost/boost/fusion/mpl/erase.hpp | 40 + lslboost/boost/fusion/mpl/erase_key.hpp | 40 + lslboost/boost/fusion/mpl/front.hpp | 29 + lslboost/boost/fusion/mpl/has_key.hpp | 28 + lslboost/boost/fusion/mpl/insert.hpp | 40 + lslboost/boost/fusion/mpl/insert_range.hpp | 40 + lslboost/boost/fusion/mpl/pop_back.hpp | 40 + lslboost/boost/fusion/mpl/pop_front.hpp | 40 + lslboost/boost/fusion/mpl/push_back.hpp | 40 + lslboost/boost/fusion/mpl/push_front.hpp | 40 + lslboost/boost/fusion/mpl/size.hpp | 27 + lslboost/boost/fusion/sequence/convert.hpp | 61 + .../boost/fusion/sequence/intrinsic/begin.hpp | 98 + .../intrinsic/detail/segmented_begin.hpp | 45 + .../intrinsic/detail/segmented_begin_impl.hpp | 96 + .../intrinsic/detail/segmented_end.hpp | 41 + .../intrinsic/detail/segmented_end_impl.hpp | 68 + .../intrinsic/detail/segmented_size.hpp | 55 + .../boost/fusion/sequence/intrinsic/empty.hpp | 63 + .../boost/fusion/sequence/intrinsic/end.hpp | 98 + .../fusion/sequence/intrinsic/has_key.hpp | 81 + .../fusion/sequence/intrinsic/segments.hpp | 79 + .../boost/fusion/sequence/intrinsic/size.hpp | 86 + .../fusion/sequence/intrinsic/value_at.hpp | 88 + .../boost/fusion/sequence/intrinsic_fwd.hpp | 223 ++ lslboost/boost/fusion/support/category_of.hpp | 124 + lslboost/boost/fusion/support/config.hpp | 130 + .../boost/fusion/support/detail/access.hpp | 65 + .../support/detail/as_fusion_element.hpp | 60 + .../boost/fusion/support/detail/enabler.hpp | 22 + .../fusion/support/detail/is_mpl_sequence.hpp | 27 + .../detail/is_native_fusion_sequence.hpp | 27 + .../support/detail/mpl_iterator_category.hpp | 66 + .../boost/fusion/support/detail/pp_round.hpp | 72 + .../detail/segmented_fold_until_impl.hpp | 401 +++ lslboost/boost/fusion/support/is_iterator.hpp | 21 + .../boost/fusion/support/is_segmented.hpp | 55 + lslboost/boost/fusion/support/is_sequence.hpp | 73 + lslboost/boost/fusion/support/is_view.hpp | 75 + .../boost/fusion/support/iterator_base.hpp | 36 + .../fusion/support/segmented_fold_until.hpp | 71 + .../boost/fusion/support/sequence_base.hpp | 59 + lslboost/boost/fusion/support/tag_of.hpp | 83 + lslboost/boost/fusion/support/tag_of_fwd.hpp | 20 + lslboost/boost/fusion/support/void.hpp | 15 + lslboost/boost/fusion/view/iterator_range.hpp | 13 + .../view/iterator_range/detail/at_impl.hpp | 46 + .../view/iterator_range/detail/begin_impl.hpp | 42 + .../view/iterator_range/detail/end_impl.hpp | 42 + .../detail/is_segmented_impl.hpp | 67 + .../detail/segmented_iterator_range.hpp | 556 ++++ .../iterator_range/detail/segments_impl.hpp | 54 + .../view/iterator_range/detail/size_impl.hpp | 38 + .../iterator_range/detail/value_at_impl.hpp | 39 + .../view/iterator_range/iterator_range.hpp | 63 + .../view/joint_view/detail/begin_impl.hpp | 71 + .../joint_view/detail/deref_data_impl.hpp | 39 + .../view/joint_view/detail/deref_impl.hpp | 30 + .../view/joint_view/detail/end_impl.hpp | 42 + .../view/joint_view/detail/key_of_impl.hpp | 29 + .../view/joint_view/detail/next_impl.hpp | 75 + .../joint_view/detail/value_of_data_impl.hpp | 29 + .../view/joint_view/detail/value_of_impl.hpp | 30 + .../fusion/view/joint_view/joint_view.hpp | 83 + .../fusion/view/joint_view/joint_view_fwd.hpp | 18 + .../view/joint_view/joint_view_iterator.hpp | 69 + .../view/single_view/detail/advance_impl.hpp | 49 + .../view/single_view/detail/at_impl.hpp | 46 + .../view/single_view/detail/begin_impl.hpp | 47 + .../view/single_view/detail/deref_impl.hpp | 47 + .../view/single_view/detail/distance_impl.hpp | 45 + .../view/single_view/detail/end_impl.hpp | 47 + .../view/single_view/detail/equal_to_impl.hpp | 40 + .../view/single_view/detail/next_impl.hpp | 55 + .../view/single_view/detail/prior_impl.hpp | 48 + .../view/single_view/detail/size_impl.hpp | 33 + .../view/single_view/detail/value_at_impl.hpp | 40 + .../view/single_view/detail/value_of_impl.hpp | 40 + .../fusion/view/single_view/single_view.hpp | 72 + .../view/single_view/single_view_iterator.hpp | 59 + lslboost/boost/integer.hpp | 4 +- lslboost/boost/integer/common_factor_rt.hpp | 58 +- lslboost/boost/integer/integer_log2.hpp | 12 +- lslboost/boost/integer/static_log2.hpp | 5 +- lslboost/boost/integer_traits.hpp | 2 +- lslboost/boost/intrusive/detail/iterator.hpp | 20 +- .../detail/minimal_less_equal_header.hpp | 30 - lslboost/boost/intrusive/detail/mpl.hpp | 1 + .../boost/intrusive/detail/workaround.hpp | 7 +- lslboost/boost/intrusive/pack_options.hpp | 6 + lslboost/boost/intrusive/pointer_traits.hpp | 28 +- lslboost/boost/io/ios_state.hpp | 676 ++-- lslboost/boost/io_fwd.hpp | 94 +- lslboost/boost/iterator/detail/config_def.hpp | 8 +- .../detail/facade_iterator_category.hpp | 5 +- lslboost/boost/iterator/iterator_adaptor.hpp | 6 +- lslboost/boost/iterator/iterator_facade.hpp | 2 +- lslboost/boost/iterator/minimum_category.hpp | 95 - lslboost/boost/lexical_cast.hpp | 2 +- .../boost/lexical_cast/bad_lexical_cast.hpp | 31 +- .../lexical_cast/detail/converter_lexical.hpp | 86 +- .../detail/converter_lexical_streams.hpp | 4 +- .../lexical_cast/detail/converter_numeric.hpp | 2 +- .../boost/lexical_cast/detail/inf_nan.hpp | 2 +- .../lexical_cast/detail/is_character.hpp | 10 +- .../detail/lcast_char_constants.hpp | 2 +- .../detail/lcast_unsigned_converters.hpp | 2 +- .../boost/lexical_cast/detail/widest_char.hpp | 2 +- .../lexical_cast/try_lexical_convert.hpp | 2 +- .../detail/allocator_rebind_helper.hpp | 32 - lslboost/boost/lockfree/detail/parameter.hpp | 4 +- lslboost/boost/lockfree/policies.hpp | 2 +- lslboost/boost/lockfree/spsc_queue.hpp | 43 +- lslboost/boost/math/policies/policy.hpp | 108 +- .../special_functions/detail/fp_traits.hpp | 5 +- .../math/special_functions/fpclassify.hpp | 4 +- .../boost/math/special_functions/math_fwd.hpp | 177 +- lslboost/boost/math/tools/config.hpp | 30 +- lslboost/boost/math/tools/promotion.hpp | 12 +- lslboost/boost/math/tools/user.hpp | 4 +- lslboost/boost/memory_order.hpp | 18 +- lslboost/boost/move/algo/adaptive_merge.hpp | 65 +- lslboost/boost/move/algo/adaptive_sort.hpp | 631 ---- .../move/algo/detail/adaptive_sort_merge.hpp | 464 +-- lslboost/boost/move/algo/detail/merge.hpp | 485 ++- .../boost/move/algo/detail/merge_sort.hpp | 68 + lslboost/boost/move/algo/detail/pdqsort.hpp | 334 -- .../boost/move/algo/detail/set_difference.hpp | 2 +- lslboost/boost/move/algo/predicate.hpp | 15 + lslboost/boost/move/default_delete.hpp | 33 +- lslboost/boost/move/detail/fwd_macros.hpp | 12 + .../move/detail/iterator_to_raw_pointer.hpp | 6 +- .../boost/move/detail/meta_utils_core.hpp | 17 +- lslboost/boost/move/detail/type_traits.hpp | 196 +- .../move/detail/unique_ptr_meta_utils.hpp | 28 +- lslboost/boost/move/iterator.hpp | 2 +- lslboost/boost/move/unique_ptr.hpp | 10 +- lslboost/boost/mp11/algorithm.hpp | 1246 +++++++ lslboost/boost/mp11/bind.hpp | 111 + lslboost/boost/mp11/detail/config.hpp | 136 + lslboost/boost/mp11/detail/mp_append.hpp | 185 ++ lslboost/boost/mp11/detail/mp_copy_if.hpp | 48 + lslboost/boost/mp11/detail/mp_count.hpp | 115 + lslboost/boost/mp11/detail/mp_fold.hpp | 62 + lslboost/boost/mp11/detail/mp_is_list.hpp | 39 + lslboost/boost/mp11/detail/mp_list.hpp | 24 + lslboost/boost/mp11/detail/mp_map_find.hpp | 87 + lslboost/boost/mp11/detail/mp_min_element.hpp | 51 + lslboost/boost/mp11/detail/mp_plus.hpp | 81 + lslboost/boost/mp11/detail/mp_remove_if.hpp | 48 + lslboost/boost/mp11/detail/mp_void.hpp | 32 + lslboost/boost/mp11/detail/mp_with_index.hpp | 385 +++ lslboost/boost/mp11/function.hpp | 226 ++ lslboost/boost/mp11/integer_sequence.hpp | 112 + lslboost/boost/mp11/integral.hpp | 41 + lslboost/boost/mp11/list.hpp | 335 ++ lslboost/boost/mp11/set.hpp | 188 ++ lslboost/boost/mp11/utility.hpp | 257 ++ lslboost/boost/mp11/version.hpp | 16 + lslboost/boost/mpl/assert.hpp | 6 +- lslboost/boost/mpl/aux_/back_impl.hpp | 43 + lslboost/boost/mpl/aux_/common_name_wknd.hpp | 4 +- lslboost/boost/mpl/aux_/config/adl.hpp | 2 +- lslboost/boost/mpl/aux_/config/arrays.hpp | 2 +- lslboost/boost/mpl/aux_/config/bcc.hpp | 4 +- lslboost/boost/mpl/aux_/config/bind.hpp | 2 +- lslboost/boost/mpl/aux_/config/compiler.hpp | 4 +- lslboost/boost/mpl/aux_/config/ctps.hpp | 2 +- lslboost/boost/mpl/aux_/config/dtp.hpp | 6 +- lslboost/boost/mpl/aux_/config/forwarding.hpp | 2 +- lslboost/boost/mpl/aux_/config/integral.hpp | 2 +- lslboost/boost/mpl/aux_/config/operators.hpp | 2 +- .../mpl/aux_/config/overload_resolution.hpp | 2 +- .../boost/mpl/aux_/config/preprocessor.hpp | 2 +- lslboost/boost/mpl/aux_/config/ttp.hpp | 4 +- lslboost/boost/mpl/aux_/erase_impl.hpp | 69 + lslboost/boost/mpl/aux_/erase_key_impl.hpp | 32 + lslboost/boost/mpl/aux_/fold_impl_body.hpp | 6 +- lslboost/boost/mpl/aux_/has_rebind.hpp | 8 +- lslboost/boost/mpl/aux_/insert_range_impl.hpp | 80 + lslboost/boost/mpl/aux_/integral_wrapper.hpp | 2 +- lslboost/boost/mpl/aux_/iter_push_front.hpp | 36 + lslboost/boost/mpl/aux_/lambda_support.hpp | 6 +- lslboost/boost/mpl/aux_/nested_type_wknd.hpp | 2 +- lslboost/boost/mpl/aux_/pop_back_impl.hpp | 34 + lslboost/boost/mpl/aux_/preprocessor/enum.hpp | 12 + .../boost/mpl/aux_/preprocessor/params.hpp | 12 + .../boost/mpl/aux_/reverse_iter_fold_impl.hpp | 43 - lslboost/boost/mpl/aux_/size_impl.hpp | 2 +- lslboost/boost/mpl/aux_/static_cast.hpp | 2 +- lslboost/boost/mpl/back.hpp | 39 + lslboost/boost/mpl/count_fwd.hpp | 24 + lslboost/boost/mpl/erase.hpp | 42 + lslboost/boost/mpl/erase_key.hpp | 41 + lslboost/boost/mpl/has_xxx.hpp | 8 +- lslboost/boost/mpl/if.hpp | 2 +- lslboost/boost/mpl/inherit_linearly.hpp | 39 - lslboost/boost/mpl/insert_range.hpp | 41 + lslboost/boost/mpl/integral_c.hpp | 2 +- lslboost/boost/mpl/iterator_category.hpp | 35 - lslboost/boost/mpl/min_max.hpp | 46 - lslboost/boost/mpl/numeric_cast.hpp | 2 +- lslboost/boost/mpl/order_fwd.hpp | 25 + lslboost/boost/mpl/pair_view.hpp | 169 - lslboost/boost/mpl/pop_back.hpp | 39 + lslboost/boost/mpl/reverse_iter_fold.hpp | 56 - lslboost/boost/mpl/transform.hpp | 145 - lslboost/boost/mpl/vector/aux_/at.hpp | 2 +- .../multi_index/detail/access_specifier.hpp | 54 - .../boost/multi_index/detail/adl_swap.hpp | 44 - .../detail/archive_constructed.hpp | 83 - .../boost/multi_index/detail/auto_space.hpp | 106 - .../boost/multi_index/detail/base_type.hpp | 74 - .../detail/bidir_node_iterator.hpp | 114 - .../boost/multi_index/detail/converter.hpp | 52 - .../boost/multi_index/detail/copy_map.hpp | 163 - .../detail/do_not_copy_elements_tag.hpp | 34 - .../detail/duplicates_iterator.hpp | 120 - lslboost/boost/multi_index/detail/has_tag.hpp | 42 - .../multi_index/detail/header_holder.hpp | 50 - .../detail/ignore_wstrict_aliasing.hpp | 18 - .../boost/multi_index/detail/index_base.hpp | 297 -- .../boost/multi_index/detail/index_loader.hpp | 139 - .../multi_index/detail/index_matcher.hpp | 249 -- .../multi_index/detail/index_node_base.hpp | 135 - .../boost/multi_index/detail/index_saver.hpp | 135 - .../multi_index/detail/invariant_assert.hpp | 21 - .../multi_index/detail/is_index_list.hpp | 40 - .../multi_index/detail/is_transparent.hpp | 135 - .../boost/multi_index/detail/iter_adaptor.hpp | 321 -- .../multi_index/detail/modify_key_adaptor.hpp | 49 - .../multi_index/detail/no_duplicate_tags.hpp | 97 - .../boost/multi_index/detail/node_type.hpp | 66 - .../multi_index/detail/ord_index_args.hpp | 83 - .../multi_index/detail/ord_index_impl.hpp | 1585 --------- .../multi_index/detail/ord_index_impl_fwd.hpp | 128 - .../multi_index/detail/ord_index_node.hpp | 669 ---- .../multi_index/detail/ord_index_ops.hpp | 266 -- .../boost/multi_index/detail/promotes_arg.hpp | 83 - lslboost/boost/multi_index/detail/raw_ptr.hpp | 52 - .../detail/restore_wstrict_aliasing.hpp | 11 - .../boost/multi_index/detail/safe_mode.hpp | 588 ---- .../boost/multi_index/detail/scope_guard.hpp | 453 --- .../multi_index/detail/seq_index_node.hpp | 221 -- .../multi_index/detail/seq_index_ops.hpp | 203 -- .../detail/serialization_version.hpp | 73 - .../boost/multi_index/detail/uintptr_type.hpp | 76 - .../boost/multi_index/detail/unbounded.hpp | 66 - .../multi_index/detail/value_compare.hpp | 56 - .../multi_index/detail/vartempl_support.hpp | 247 -- lslboost/boost/multi_index/identity.hpp | 145 - lslboost/boost/multi_index/identity_fwd.hpp | 26 - lslboost/boost/multi_index/indexed_by.hpp | 68 - lslboost/boost/multi_index/member.hpp | 262 -- lslboost/boost/multi_index/ordered_index.hpp | 114 - .../boost/multi_index/ordered_index_fwd.hpp | 35 - .../boost/multi_index/safe_mode_errors.hpp | 48 - .../boost/multi_index/sequenced_index.hpp | 1080 ------ .../boost/multi_index/sequenced_index_fwd.hpp | 91 - lslboost/boost/multi_index/tag.hpp | 88 - lslboost/boost/multi_index_container.hpp | 1407 -------- lslboost/boost/multi_index_container_fwd.hpp | 121 - lslboost/boost/none.hpp | 10 +- lslboost/boost/none_t.hpp | 4 +- lslboost/boost/numeric/conversion/cast.hpp | 2 +- .../numeric/conversion/converter_policies.hpp | 10 +- .../numeric/conversion/detail/converter.hpp | 2 +- .../boost/numeric/conversion/detail/meta.hpp | 2 +- .../conversion/detail/old_numeric_cast.hpp | 8 +- lslboost/boost/operators.hpp | 55 +- .../boost/optional/bad_optional_access.hpp | 9 + .../detail/old_optional_implementation.hpp | 4 +- .../boost/optional/detail/optional_config.hpp | 2 +- .../optional_trivially_copyable_base.hpp | 2 +- lslboost/boost/optional/optional.hpp | 13 +- lslboost/boost/optional/optional_io.hpp | 94 - .../parameter/aux_/always_true_predicate.hpp | 42 + lslboost/boost/parameter/aux_/arg_list.hpp | 1612 +++++++-- .../parameter/aux_/augment_predicate.hpp | 198 ++ lslboost/boost/parameter/aux_/default.hpp | 149 +- .../parameter/aux_/has_nested_template_fn.hpp | 111 + lslboost/boost/parameter/aux_/is_maybe.hpp | 58 +- .../boost/parameter/aux_/is_placeholder.hpp | 64 + .../parameter/aux_/is_tagged_argument.hpp | 95 + lslboost/boost/parameter/aux_/lambda_tag.hpp | 16 + lslboost/boost/parameter/aux_/overloads.hpp | 88 - .../aux_/pack/as_parameter_requirements.hpp | 32 + .../boost/parameter/aux_/pack/deduce_tag.hpp | 217 ++ .../parameter/aux_/pack/deduced_item.hpp | 34 + .../parameter/aux_/pack/insert_tagged.hpp | 23 + .../parameter/aux_/pack/is_named_argument.hpp | 43 + lslboost/boost/parameter/aux_/pack/item.hpp | 47 + .../parameter/aux_/pack/make_arg_list.hpp | 438 +++ .../aux_/pack/make_deduced_items.hpp | 53 + .../boost/parameter/aux_/pack/make_items.hpp | 45 + .../aux_/pack/make_parameter_spec_items.hpp | 244 ++ .../aux_/pack/parameter_requirements.hpp | 25 + .../boost/parameter/aux_/pack/predicate.hpp | 87 + .../boost/parameter/aux_/pack/satisfies.hpp | 142 + .../boost/parameter/aux_/pack/tag_deduced.hpp | 59 + .../parameter/aux_/pack/tag_keyword_arg.hpp | 30 + .../aux_/pack/tag_keyword_arg_ref.hpp | 67 + .../aux_/pack/tag_template_keyword_arg.hpp | 30 + .../boost/parameter/aux_/pack/tag_type.hpp | 89 + .../aux_/pack/unmatched_argument.hpp | 41 + .../parameter/aux_/parameter_requirements.hpp | 27 +- .../aux_/preprocessor/binary_seq_for_each.hpp | 1638 ++++++++++ .../preprocessor/binary_seq_for_each_inc.hpp | 1796 ++++++++++ .../aux_/preprocessor/binary_seq_to_args.hpp | 65 + .../aux_/preprocessor/convert_binary_seq.hpp | 57 + .../aux_/preprocessor/for_each_pred.hpp | 1029 ++++++ .../aux_/preprocessor/inc_binary_seq.hpp | 78 + .../no_perfect_forwarding_begin.hpp | 165 + .../no_perfect_forwarding_end.hpp | 24 + .../parameter/aux_/preprocessor/nullptr.hpp | 18 + .../parameter/aux_/preprocessor/overloads.hpp | 92 + .../parameter/aux_/preprocessor/seq_enum.hpp | 26 + .../parameter/aux_/preprocessor/seq_merge.hpp | 1807 +++++++++++ lslboost/boost/parameter/aux_/result_of0.hpp | 75 +- lslboost/boost/parameter/aux_/set.hpp | 136 +- lslboost/boost/parameter/aux_/tag.hpp | 182 +- .../boost/parameter/aux_/tagged_argument.hpp | 1033 +++++- .../parameter/aux_/tagged_argument_fwd.hpp | 38 + .../boost/parameter/aux_/template_keyword.hpp | 110 +- .../parameter/aux_/unwrap_cv_reference.hpp | 239 +- lslboost/boost/parameter/aux_/use_default.hpp | 17 + .../boost/parameter/aux_/use_default_tag.hpp | 29 + lslboost/boost/parameter/aux_/void.hpp | 41 +- lslboost/boost/parameter/aux_/yesno.hpp | 44 +- lslboost/boost/parameter/binding.hpp | 224 +- lslboost/boost/parameter/config.hpp | 81 +- lslboost/boost/parameter/deduced.hpp | 132 + lslboost/boost/parameter/keyword_fwd.hpp | 23 + lslboost/boost/parameter/optional.hpp | 67 + lslboost/boost/parameter/parameters.hpp | 1443 ++++---- lslboost/boost/parameter/required.hpp | 66 + lslboost/boost/parameter/template_keyword.hpp | 87 + lslboost/boost/parameter/value_type.hpp | 164 + lslboost/boost/pending/integer_log2.hpp | 9 - lslboost/boost/pointee.hpp | 2 +- lslboost/boost/predef/architecture.h | 1 + lslboost/boost/predef/architecture/alpha.h | 33 +- lslboost/boost/predef/architecture/arm.h | 118 +- lslboost/boost/predef/architecture/blackfin.h | 21 +- lslboost/boost/predef/architecture/convex.h | 27 +- lslboost/boost/predef/architecture/ia64.h | 33 +- lslboost/boost/predef/architecture/m68k.h | 55 +- lslboost/boost/predef/architecture/mips.h | 41 +- lslboost/boost/predef/architecture/parisc.h | 37 +- lslboost/boost/predef/architecture/ppc.h | 45 +- lslboost/boost/predef/architecture/ptx.h | 19 +- lslboost/boost/predef/architecture/pyramid.h | 15 +- lslboost/boost/predef/architecture/riscv.h | 43 + lslboost/boost/predef/architecture/rs6k.h | 31 +- lslboost/boost/predef/architecture/sparc.h | 23 +- lslboost/boost/predef/architecture/superh.h | 31 +- lslboost/boost/predef/architecture/sys370.h | 19 +- lslboost/boost/predef/architecture/sys390.h | 19 +- lslboost/boost/predef/architecture/x86.h | 8 +- lslboost/boost/predef/architecture/x86/32.h | 51 +- lslboost/boost/predef/architecture/x86/64.h | 31 +- lslboost/boost/predef/architecture/z.h | 17 +- lslboost/boost/predef/compiler/borland.h | 23 +- lslboost/boost/predef/compiler/clang.h | 19 +- lslboost/boost/predef/compiler/comeau.h | 19 +- lslboost/boost/predef/compiler/compaq.h | 23 +- lslboost/boost/predef/compiler/diab.h | 19 +- lslboost/boost/predef/compiler/digitalmars.h | 19 +- lslboost/boost/predef/compiler/dignus.h | 19 +- lslboost/boost/predef/compiler/edg.h | 19 +- lslboost/boost/predef/compiler/ekopath.h | 19 +- lslboost/boost/predef/compiler/gcc.h | 21 +- lslboost/boost/predef/compiler/gcc_xml.h | 17 +- lslboost/boost/predef/compiler/greenhills.h | 23 +- lslboost/boost/predef/compiler/hp_acc.h | 19 +- lslboost/boost/predef/compiler/iar.h | 19 +- lslboost/boost/predef/compiler/ibm.h | 29 +- lslboost/boost/predef/compiler/intel.h | 35 +- lslboost/boost/predef/compiler/kai.h | 19 +- lslboost/boost/predef/compiler/llvm.h | 17 +- lslboost/boost/predef/compiler/metaware.h | 17 +- lslboost/boost/predef/compiler/metrowerks.h | 27 +- lslboost/boost/predef/compiler/microtec.h | 17 +- lslboost/boost/predef/compiler/mpw.h | 23 +- lslboost/boost/predef/compiler/nvcc.h | 19 +- lslboost/boost/predef/compiler/palm.h | 19 +- lslboost/boost/predef/compiler/pgi.h | 19 +- lslboost/boost/predef/compiler/sgi_mipspro.h | 23 +- lslboost/boost/predef/compiler/sunpro.h | 27 +- lslboost/boost/predef/compiler/tendra.h | 17 +- lslboost/boost/predef/compiler/visualc.h | 25 +- lslboost/boost/predef/compiler/watcom.h | 19 +- lslboost/boost/predef/detail/endian_compat.h | 28 - lslboost/boost/predef/hardware/simd.h | 141 +- lslboost/boost/predef/hardware/simd/arm.h | 40 +- .../boost/predef/hardware/simd/arm/versions.h | 26 +- lslboost/boost/predef/hardware/simd/ppc.h | 40 +- .../boost/predef/hardware/simd/ppc/versions.h | 48 +- lslboost/boost/predef/hardware/simd/x86.h | 76 +- .../boost/predef/hardware/simd/x86/versions.h | 140 +- lslboost/boost/predef/hardware/simd/x86_amd.h | 48 +- .../predef/hardware/simd/x86_amd/versions.h | 43 +- lslboost/boost/predef/language/cuda.h | 21 +- lslboost/boost/predef/language/objc.h | 17 +- lslboost/boost/predef/language/stdc.h | 19 +- lslboost/boost/predef/language/stdcpp.h | 71 +- lslboost/boost/predef/library/c/cloudabi.h | 19 +- lslboost/boost/predef/library/c/gnu.h | 23 +- lslboost/boost/predef/library/c/uc.h | 19 +- lslboost/boost/predef/library/c/vms.h | 17 +- lslboost/boost/predef/library/c/zos.h | 19 +- lslboost/boost/predef/library/std/cxx.h | 19 +- .../boost/predef/library/std/dinkumware.h | 21 +- lslboost/boost/predef/library/std/libcomo.h | 19 +- lslboost/boost/predef/library/std/modena.h | 19 +- lslboost/boost/predef/library/std/msl.h | 23 +- lslboost/boost/predef/library/std/roguewave.h | 21 +- lslboost/boost/predef/library/std/sgi.h | 19 +- lslboost/boost/predef/library/std/stdcpp3.h | 23 +- lslboost/boost/predef/library/std/stlport.h | 25 +- lslboost/boost/predef/library/std/vacpp.h | 17 +- lslboost/boost/predef/make.h | 132 +- lslboost/boost/predef/os.h | 1 - lslboost/boost/predef/os/aix.h | 27 +- lslboost/boost/predef/os/amigaos.h | 19 +- lslboost/boost/predef/os/android.h | 45 - lslboost/boost/predef/os/beos.h | 17 +- lslboost/boost/predef/os/bsd.h | 45 +- lslboost/boost/predef/os/bsd/bsdi.h | 17 +- lslboost/boost/predef/os/bsd/dragonfly.h | 17 +- lslboost/boost/predef/os/bsd/free.h | 19 +- lslboost/boost/predef/os/bsd/net.h | 31 +- lslboost/boost/predef/os/bsd/open.h | 117 +- lslboost/boost/predef/os/cygwin.h | 19 +- lslboost/boost/predef/os/haiku.h | 17 +- lslboost/boost/predef/os/hpux.h | 21 +- lslboost/boost/predef/os/ios.h | 23 +- lslboost/boost/predef/os/irix.h | 19 +- lslboost/boost/predef/os/linux.h | 24 +- lslboost/boost/predef/os/macos.h | 27 +- lslboost/boost/predef/os/os400.h | 17 +- lslboost/boost/predef/os/qnxnto.h | 23 +- lslboost/boost/predef/os/solaris.h | 19 +- lslboost/boost/predef/os/unix.h | 46 +- lslboost/boost/predef/os/vms.h | 21 +- lslboost/boost/predef/os/windows.h | 31 +- lslboost/boost/predef/other/endian.h | 23 +- lslboost/boost/predef/platform.h | 1 + lslboost/boost/predef/platform/android.h | 44 + lslboost/boost/predef/platform/cloudabi.h | 17 +- lslboost/boost/predef/platform/ios.h | 23 +- lslboost/boost/predef/platform/mingw.h | 23 +- lslboost/boost/predef/platform/mingw32.h | 19 +- lslboost/boost/predef/platform/mingw64.h | 19 +- .../boost/predef/platform/windows_desktop.h | 19 +- .../boost/predef/platform/windows_phone.h | 17 +- .../boost/predef/platform/windows_runtime.h | 19 +- .../boost/predef/platform/windows_server.h | 17 +- .../boost/predef/platform/windows_store.h | 19 +- .../boost/predef/platform/windows_system.h | 17 +- lslboost/boost/predef/platform/windows_uwp.h | 23 +- lslboost/boost/predef/version.h | 2 +- lslboost/boost/predef/version_number.h | 30 +- .../boost/preprocessor/arithmetic/add.hpp | 55 +- .../boost/preprocessor/arithmetic/dec.hpp | 33 + .../arithmetic/detail/is_1_number.hpp | 21 + .../arithmetic/detail/is_maximum_number.hpp | 22 + .../arithmetic/detail/is_minimum_number.hpp | 21 + .../arithmetic/detail/maximum_number.hpp | 19 + .../boost/preprocessor/arithmetic/inc.hpp | 33 + .../arithmetic/limits/dec_1024.hpp | 531 +++ .../arithmetic/limits/dec_256.hpp | 276 ++ .../arithmetic/limits/dec_512.hpp | 275 ++ .../arithmetic/limits/inc_1024.hpp | 536 +++ .../arithmetic/limits/inc_256.hpp | 275 ++ .../arithmetic/limits/inc_512.hpp | 280 ++ .../boost/preprocessor/arithmetic/mod.hpp | 38 +- .../boost/preprocessor/arithmetic/sub.hpp | 52 +- .../boost/preprocessor/comparison/equal.hpp | 34 + .../comparison/limits/not_equal_1024.hpp | 1044 ++++++ .../comparison/limits/not_equal_256.hpp | 793 +++++ .../comparison/limits/not_equal_512.hpp | 532 +++ .../preprocessor/comparison/not_equal.hpp | 45 +- lslboost/boost/preprocessor/config/config.hpp | 49 +- lslboost/boost/preprocessor/config/limits.hpp | 163 + .../boost/preprocessor/control/deduce_d.hpp | 27 + .../control/detail/limits/while_1024.hpp | 1044 ++++++ .../control/detail/limits/while_256.hpp | 533 +++ .../control/detail/limits/while_512.hpp | 532 +++ .../preprocessor/control/detail/while.hpp | 27 + .../control/limits/while_1024.hpp | 531 +++ .../preprocessor/control/limits/while_256.hpp | 275 ++ .../preprocessor/control/limits/while_512.hpp | 275 ++ lslboost/boost/preprocessor/control/while.hpp | 75 + .../boost/preprocessor/detail/auto_rec.hpp | 41 + .../detail/limits/auto_rec_1024.hpp | 532 +++ .../detail/limits/auto_rec_256.hpp | 280 ++ .../detail/limits/auto_rec_512.hpp | 276 ++ lslboost/boost/preprocessor/detail/split.hpp | 35 - .../preprocessor/facilities/check_empty.hpp | 19 + .../facilities/detail/is_empty.hpp | 6 +- .../preprocessor/facilities/intercept.hpp | 29 + .../preprocessor/facilities/is_empty.hpp | 37 - .../facilities/is_empty_variadic.hpp | 33 +- .../facilities/limits/intercept_1024.hpp | 530 +++ .../facilities/limits/intercept_256.hpp | 273 ++ .../facilities/limits/intercept_512.hpp | 274 ++ .../preprocessor/facilities/overload.hpp | 4 +- .../iteration/detail/iter/forward1.hpp | 27 + .../iteration/detail/iter/forward2.hpp | 27 + .../iteration/detail/iter/forward3.hpp | 27 + .../iteration/detail/iter/forward4.hpp | 27 + .../iteration/detail/iter/forward5.hpp | 27 + .../detail/iter/limits/forward1_1024.hpp | 2573 +++++++++++++++ .../detail/iter/limits/forward1_256.hpp | 1296 ++++++++ .../detail/iter/limits/forward1_512.hpp | 1293 ++++++++ .../detail/iter/limits/forward2_1024.hpp | 2573 +++++++++++++++ .../detail/iter/limits/forward2_256.hpp | 1296 ++++++++ .../detail/iter/limits/forward2_512.hpp | 1293 ++++++++ .../detail/iter/limits/forward3_1024.hpp | 2573 +++++++++++++++ .../detail/iter/limits/forward3_256.hpp | 1296 ++++++++ .../detail/iter/limits/forward3_512.hpp | 1293 ++++++++ .../detail/iter/limits/forward4_1024.hpp | 2573 +++++++++++++++ .../detail/iter/limits/forward4_256.hpp | 1296 ++++++++ .../detail/iter/limits/forward4_512.hpp | 1293 ++++++++ .../detail/iter/limits/forward5_1024.hpp | 2573 +++++++++++++++ .../detail/iter/limits/forward5_256.hpp | 1296 ++++++++ .../detail/iter/limits/forward5_512.hpp | 1293 ++++++++ .../detail/iter/limits/reverse1_1024.hpp | 2571 +++++++++++++++ .../detail/iter/limits/reverse1_256.hpp | 1296 ++++++++ .../detail/iter/limits/reverse1_512.hpp | 1291 ++++++++ .../detail/iter/limits/reverse2_1024.hpp | 2571 +++++++++++++++ .../detail/iter/limits/reverse2_256.hpp | 1296 ++++++++ .../detail/iter/limits/reverse2_512.hpp | 1293 ++++++++ .../detail/iter/limits/reverse3_1024.hpp | 2571 +++++++++++++++ .../detail/iter/limits/reverse3_256.hpp | 1296 ++++++++ .../detail/iter/limits/reverse3_512.hpp | 1293 ++++++++ .../detail/iter/limits/reverse4_1024.hpp | 2571 +++++++++++++++ .../detail/iter/limits/reverse4_256.hpp | 1296 ++++++++ .../detail/iter/limits/reverse4_512.hpp | 1293 ++++++++ .../detail/iter/limits/reverse5_1024.hpp | 2571 +++++++++++++++ .../detail/iter/limits/reverse5_256.hpp | 1296 ++++++++ .../detail/iter/limits/reverse5_512.hpp | 1293 ++++++++ .../iteration/detail/iter/reverse1.hpp | 25 + .../iteration/detail/iter/reverse2.hpp | 25 + .../iteration/detail/iter/reverse3.hpp | 25 + .../iteration/detail/iter/reverse4.hpp | 25 + .../iteration/detail/iter/reverse5.hpp | 25 + .../iteration/detail/limits/local_1024.hpp | 1549 +++++++++ .../iteration/detail/limits/local_256.hpp | 782 +++++ .../iteration/detail/limits/local_512.hpp | 781 +++++ .../iteration/detail/limits/rlocal_1024.hpp | 1549 +++++++++ .../iteration/detail/limits/rlocal_256.hpp | 782 +++++ .../iteration/detail/limits/rlocal_512.hpp | 781 +++++ .../preprocessor/iteration/detail/local.hpp | 27 + .../preprocessor/iteration/detail/rlocal.hpp | 25 + .../preprocessor/list/detail/fold_left.hpp | 28 + .../preprocessor/list/detail/fold_right.hpp | 26 + .../list/detail/limits/fold_left_1024.hpp | 532 +++ .../list/detail/limits/fold_left_256.hpp | 275 ++ .../list/detail/limits/fold_left_512.hpp | 276 ++ .../list/detail/limits/fold_right_1024.hpp | 532 +++ .../list/detail/limits/fold_right_256.hpp | 275 ++ .../list/detail/limits/fold_right_512.hpp | 276 ++ .../boost/preprocessor/list/fold_left.hpp | 60 + .../boost/preprocessor/list/fold_right.hpp | 44 + .../list/limits/fold_left_1024.hpp | 531 +++ .../list/limits/fold_left_256.hpp | 275 ++ .../list/limits/fold_left_512.hpp | 275 ++ lslboost/boost/preprocessor/list/reverse.hpp | 35 + lslboost/boost/preprocessor/logical/bitor.hpp | 38 + lslboost/boost/preprocessor/logical/bool.hpp | 22 + .../preprocessor/logical/limits/bool_1024.hpp | 531 +++ .../preprocessor/logical/limits/bool_256.hpp | 275 ++ .../preprocessor/logical/limits/bool_512.hpp | 275 ++ .../punctuation/is_begin_parens.hpp | 6 +- .../preprocessor/repetition/detail/for.hpp | 28 + .../repetition/detail/limits/for_1024.hpp | 1044 ++++++ .../repetition/detail/limits/for_256.hpp | 533 +++ .../repetition/detail/limits/for_512.hpp | 532 +++ .../repetition/detail/msvc/for.hpp | 1 + .../boost/preprocessor/repetition/for.hpp | 128 +- .../repetition/limits/for_1024.hpp | 531 +++ .../repetition/limits/for_256.hpp | 275 ++ .../repetition/limits/for_512.hpp | 275 ++ .../repetition/limits/repeat_1024.hpp | 1557 +++++++++ .../repetition/limits/repeat_256.hpp | 791 +++++ .../repetition/limits/repeat_512.hpp | 789 +++++ .../boost/preprocessor/repetition/repeat.hpp | 22 + .../repetition/repeat_from_to.hpp | 27 + lslboost/boost/preprocessor/selection/min.hpp | 39 + .../preprocessor/seq/detail/is_empty.hpp | 22 +- .../seq/detail/limits/split_1024.hpp | 530 +++ .../seq/detail/limits/split_256.hpp | 272 ++ .../seq/detail/limits/split_512.hpp | 274 ++ .../boost/preprocessor/seq/detail/split.hpp | 23 + lslboost/boost/preprocessor/seq/elem.hpp | 23 + lslboost/boost/preprocessor/seq/enum.hpp | 23 + lslboost/boost/preprocessor/seq/fold_left.hpp | 52 + .../boost/preprocessor/seq/for_each_i.hpp | 56 +- .../preprocessor/seq/limits/elem_1024.hpp | 530 +++ .../preprocessor/seq/limits/elem_256.hpp | 272 ++ .../preprocessor/seq/limits/elem_512.hpp | 274 ++ .../preprocessor/seq/limits/enum_1024.hpp | 530 +++ .../preprocessor/seq/limits/enum_256.hpp | 272 ++ .../preprocessor/seq/limits/enum_512.hpp | 274 ++ .../seq/limits/fold_left_1024.hpp | 1556 +++++++++ .../preprocessor/seq/limits/fold_left_256.hpp | 1053 ++++++ .../preprocessor/seq/limits/fold_left_512.hpp | 788 +++++ .../preprocessor/seq/limits/size_1024.hpp | 1043 ++++++ .../preprocessor/seq/limits/size_256.hpp | 532 +++ .../preprocessor/seq/limits/size_512.hpp | 531 +++ lslboost/boost/preprocessor/seq/push_back.hpp | 19 + .../boost/preprocessor/seq/push_front.hpp | 19 + lslboost/boost/preprocessor/seq/rest_n.hpp | 26 +- lslboost/boost/preprocessor/seq/size.hpp | 23 + lslboost/boost/preprocessor/stringize.hpp | 4 - .../tuple/detail/is_single_return.hpp | 10 +- lslboost/boost/preprocessor/tuple/eat.hpp | 22 +- lslboost/boost/preprocessor/tuple/elem.hpp | 168 +- .../preprocessor/tuple/limits/to_list_128.hpp | 595 ++++ .../preprocessor/tuple/limits/to_list_256.hpp | 1747 ++++++++++ .../preprocessor/tuple/limits/to_list_64.hpp | 83 + lslboost/boost/preprocessor/tuple/rem.hpp | 64 +- lslboost/boost/preprocessor/tuple/size.hpp | 19 +- lslboost/boost/preprocessor/tuple/to_list.hpp | 62 +- .../preprocessor/variadic/detail/has_opt.hpp | 39 + lslboost/boost/preprocessor/variadic/elem.hpp | 164 +- .../boost/preprocessor/variadic/has_opt.hpp | 28 + .../preprocessor/variadic/limits/elem_128.hpp | 275 ++ .../preprocessor/variadic/limits/elem_256.hpp | 723 +++++ .../preprocessor/variadic/limits/elem_64.hpp | 81 + .../preprocessor/variadic/limits/size_128.hpp | 47 + .../preprocessor/variadic/limits/size_256.hpp | 53 + .../preprocessor/variadic/limits/size_64.hpp | 23 + lslboost/boost/preprocessor/variadic/size.hpp | 43 +- .../detail/exception_implementation.hpp | 83 - .../detail/file_parser_error.hpp | 88 - .../detail/ptree_implementation.hpp | 933 ------ .../property_tree/detail/ptree_utils.hpp | 105 - lslboost/boost/property_tree/exceptions.hpp | 86 - .../boost/property_tree/id_translator.hpp | 51 - lslboost/boost/property_tree/ini_parser.hpp | 334 -- lslboost/boost/property_tree/ptree.hpp | 518 --- lslboost/boost/property_tree/ptree_fwd.hpp | 143 - .../boost/property_tree/stream_translator.hpp | 229 -- lslboost/boost/property_tree/string_path.hpp | 278 -- lslboost/boost/random.hpp | 91 - lslboost/boost/random/additive_combine.hpp | 283 -- .../boost/random/bernoulli_distribution.hpp | 197 -- lslboost/boost/random/beta_distribution.hpp | 184 -- .../boost/random/binomial_distribution.hpp | 434 --- lslboost/boost/random/cauchy_distribution.hpp | 214 -- .../boost/random/chi_squared_distribution.hpp | 209 -- .../boost/random/detail/int_float_pair.hpp | 121 - lslboost/boost/random/detail/integer_log2.hpp | 2 +- lslboost/boost/random/detail/vector_io.hpp | 78 - lslboost/boost/random/discard_block.hpp | 241 -- .../boost/random/discrete_distribution.hpp | 636 ---- .../boost/random/exponential_distribution.hpp | 386 --- .../random/extreme_value_distribution.hpp | 177 - .../boost/random/fisher_f_distribution.hpp | 183 -- lslboost/boost/random/gamma_distribution.hpp | 292 -- lslboost/boost/random/generate_canonical.hpp | 96 - .../boost/random/geometric_distribution.hpp | 267 -- .../random/hyperexponential_distribution.hpp | 872 ----- lslboost/boost/random/independent_bits.hpp | 283 -- .../boost/random/inversive_congruential.hpp | 267 -- lslboost/boost/random/lagged_fibonacci.hpp | 537 --- .../boost/random/laplace_distribution.hpp | 175 - lslboost/boost/random/linear_congruential.hpp | 470 --- .../boost/random/linear_feedback_shift.hpp | 217 -- .../boost/random/lognormal_distribution.hpp | 254 -- .../random/negative_binomial_distribution.hpp | 220 -- .../non_central_chi_squared_distribution.hpp | 221 -- lslboost/boost/random/normal_distribution.hpp | 374 --- .../piecewise_constant_distribution.hpp | 466 --- .../random/piecewise_linear_distribution.hpp | 531 --- .../boost/random/poisson_distribution.hpp | 360 -- .../boost/random/random_number_generator.hpp | 73 - lslboost/boost/random/ranlux.hpp | 99 - lslboost/boost/random/seed_seq.hpp | 118 - lslboost/boost/random/shuffle_order.hpp | 269 -- lslboost/boost/random/shuffle_output.hpp | 51 - .../boost/random/student_t_distribution.hpp | 180 - lslboost/boost/random/subtract_with_carry.hpp | 613 ---- lslboost/boost/random/taus88.hpp | 45 - .../boost/random/triangle_distribution.hpp | 232 -- lslboost/boost/random/uniform_01.hpp | 257 -- lslboost/boost/random/uniform_on_sphere.hpp | 288 -- lslboost/boost/random/uniform_real.hpp | 82 - .../random/uniform_real_distribution.hpp | 241 -- lslboost/boost/random/uniform_smallint.hpp | 307 -- .../boost/random/weibull_distribution.hpp | 177 - lslboost/boost/random/xor_combine.hpp | 208 -- lslboost/boost/range/as_literal.hpp | 6 - lslboost/boost/range/begin.hpp | 14 +- lslboost/boost/range/concepts.hpp | 2 +- lslboost/boost/range/config.hpp | 2 +- lslboost/boost/range/detail/as_literal.hpp | 33 - lslboost/boost/range/detail/begin.hpp | 83 - lslboost/boost/range/detail/detail_str.hpp | 376 --- lslboost/boost/range/detail/end.hpp | 86 - lslboost/boost/range/detail/remove_extent.hpp | 157 - lslboost/boost/range/detail/size_type.hpp | 55 - lslboost/boost/range/detail/value_type.hpp | 72 - lslboost/boost/range/end.hpp | 14 +- lslboost/boost/range/iterator_range_core.hpp | 32 - lslboost/boost/range/rbegin.hpp | 13 - lslboost/boost/range/rend.hpp | 13 - lslboost/boost/range/size.hpp | 2 +- lslboost/boost/rational.hpp | 40 +- lslboost/boost/regex/config.hpp | 13 +- lslboost/boost/regex/config/borland.hpp | 2 +- lslboost/boost/regex/pattern_except.hpp | 5 +- lslboost/boost/regex/pending/object_cache.hpp | 7 + lslboost/boost/regex/v4/basic_regex.hpp | 23 +- .../boost/regex/v4/basic_regex_creator.hpp | 32 +- .../boost/regex/v4/basic_regex_parser.hpp | 51 +- lslboost/boost/regex/v4/cpp_regex_traits.hpp | 8 +- lslboost/boost/regex/v4/cregex.hpp | 2 +- lslboost/boost/regex/v4/fileiter.hpp | 105 + lslboost/boost/regex/v4/indexed_bit_flag.hpp | 54 + lslboost/boost/regex/v4/instances.hpp | 2 +- lslboost/boost/regex/v4/match_flags.hpp | 14 +- lslboost/boost/regex/v4/match_results.hpp | 2 +- lslboost/boost/regex/v4/perl_matcher.hpp | 42 +- .../boost/regex/v4/perl_matcher_common.hpp | 22 +- .../regex/v4/perl_matcher_non_recursive.hpp | 22 +- .../boost/regex/v4/perl_matcher_recursive.hpp | 12 +- lslboost/boost/regex/v4/regex_format.hpp | 7 + lslboost/boost/regex/v4/regex_iterator.hpp | 2 + .../boost/regex/v4/regex_token_iterator.hpp | 14 +- lslboost/boost/regex/v4/regex_traits.hpp | 2 +- .../boost/regex/v4/regex_traits_defaults.hpp | 6 +- lslboost/boost/regex/v4/sub_match.hpp | 2 +- .../regex/v4/u32regex_token_iterator.hpp | 2 +- lslboost/boost/regex/v4/w32_regex_traits.hpp | 6 +- lslboost/boost/serialization/access.hpp | 30 +- .../serialization/array_optimization.hpp | 4 +- .../boost/serialization/array_wrapper.hpp | 14 +- lslboost/boost/serialization/base_object.hpp | 6 +- .../serialization/collection_size_type.hpp | 20 +- lslboost/boost/serialization/config.hpp | 8 +- .../serialization/extended_type_info.hpp | 8 +- .../extended_type_info_no_rtti.hpp | 34 +- .../extended_type_info_typeid.hpp | 28 +- lslboost/boost/serialization/factory.hpp | 4 +- .../boost/serialization/force_include.hpp | 2 +- .../boost/serialization/item_version_type.hpp | 12 +- lslboost/boost/serialization/level.hpp | 4 +- lslboost/boost/serialization/level_enum.hpp | 6 +- .../serialization/library_version_type.hpp | 71 + lslboost/boost/serialization/nvp.hpp | 156 +- .../boost/serialization/serialization.hpp | 46 +- lslboost/boost/serialization/singleton.hpp | 2 +- lslboost/boost/serialization/smart_cast.hpp | 10 +- lslboost/boost/serialization/split_free.hpp | 16 +- lslboost/boost/serialization/split_member.hpp | 8 +- lslboost/boost/serialization/state_saver.hpp | 10 +- .../boost/serialization/static_warning.hpp | 10 +- lslboost/boost/serialization/string.hpp | 2 +- .../boost/serialization/strong_typedef.hpp | 2 +- .../boost/serialization/throw_exception.hpp | 4 +- lslboost/boost/serialization/tracking.hpp | 14 +- .../boost/serialization/tracking_enum.hpp | 4 +- lslboost/boost/serialization/traits.hpp | 8 +- .../type_info_implementation.hpp | 6 +- lslboost/boost/serialization/version.hpp | 6 +- lslboost/boost/serialization/void_cast.hpp | 97 +- .../boost/serialization/void_cast_fwd.hpp | 6 +- lslboost/boost/serialization/wrapper.hpp | 10 +- lslboost/boost/shared_array.hpp | 19 - lslboost/boost/smart_ptr.hpp | 26 - .../boost/smart_ptr/allocate_shared_array.hpp | 480 +-- lslboost/boost/smart_ptr/bad_weak_ptr.hpp | 10 +- .../boost/smart_ptr/detail/atomic_count.hpp | 12 +- .../smart_ptr/detail/atomic_count_gcc.hpp | 7 + .../detail/atomic_count_gcc_atomic.hpp | 63 + .../smart_ptr/detail/atomic_count_gcc_x86.hpp | 11 + .../smart_ptr/detail/atomic_count_nt.hpp | 7 + .../smart_ptr/detail/atomic_count_pt.hpp | 7 + .../smart_ptr/detail/atomic_count_spin.hpp | 7 + .../detail/atomic_count_std_atomic.hpp | 9 +- .../smart_ptr/detail/atomic_count_sync.hpp | 15 +- .../smart_ptr/detail/atomic_count_win32.hpp | 7 + .../smart_ptr/detail/lightweight_mutex.hpp | 11 +- .../smart_ptr/detail/local_counted_base.hpp | 12 +- .../smart_ptr/detail/local_sp_deleter.hpp | 6 +- lslboost/boost/smart_ptr/detail/lwm_nop.hpp | 37 - .../boost/smart_ptr/detail/lwm_std_mutex.hpp | 62 + .../boost/smart_ptr/detail/lwm_win32_cs.hpp | 15 - .../boost/smart_ptr/detail/shared_count.hpp | 134 +- .../boost/smart_ptr/detail/sp_convertible.hpp | 2 +- .../smart_ptr/detail/sp_counted_base.hpp | 28 +- .../detail/sp_counted_base_acc_ia64.hpp | 16 +- .../smart_ptr/detail/sp_counted_base_aix.hpp | 13 +- .../detail/sp_counted_base_clang.hpp | 151 - .../detail/sp_counted_base_cw_ppc.hpp | 16 +- .../detail/sp_counted_base_gcc_atomic.hpp | 148 + .../detail/sp_counted_base_gcc_ia64.hpp | 16 +- .../detail/sp_counted_base_gcc_mips.hpp | 16 +- .../detail/sp_counted_base_gcc_ppc.hpp | 16 +- .../detail/sp_counted_base_gcc_sparc.hpp | 16 +- .../detail/sp_counted_base_gcc_x86.hpp | 16 +- .../smart_ptr/detail/sp_counted_base_nt.hpp | 41 +- .../smart_ptr/detail/sp_counted_base_pt.hpp | 24 +- .../detail/sp_counted_base_snc_ps3.hpp | 18 +- .../smart_ptr/detail/sp_counted_base_spin.hpp | 13 +- .../detail/sp_counted_base_std_atomic.hpp | 42 +- .../smart_ptr/detail/sp_counted_base_sync.hpp | 13 +- .../detail/sp_counted_base_vacpp_ppc.hpp | 16 +- .../smart_ptr/detail/sp_counted_base_w32.hpp | 15 +- .../smart_ptr/detail/sp_counted_impl.hpp | 49 +- .../detail/sp_has_gcc_intrinsics.hpp | 27 + .../boost/smart_ptr/detail/sp_has_sync.hpp | 69 - .../detail/sp_has_sync_intrinsics.hpp | 69 + .../boost/smart_ptr/detail/sp_obsolete.hpp | 32 + .../smart_ptr/detail/sp_thread_pause.hpp | 51 + .../smart_ptr/detail/sp_thread_sleep.hpp | 104 + .../smart_ptr/detail/sp_thread_yield.hpp | 100 + .../boost/smart_ptr/detail/sp_typeinfo_.hpp | 58 + .../boost/smart_ptr/detail/sp_win32_sleep.hpp | 49 + lslboost/boost/smart_ptr/detail/spinlock.hpp | 16 +- .../smart_ptr/detail/spinlock_gcc_arm.hpp | 7 + .../smart_ptr/detail/spinlock_gcc_atomic.hpp | 85 + .../boost/smart_ptr/detail/spinlock_nt.hpp | 7 + .../boost/smart_ptr/detail/spinlock_pt.hpp | 7 + .../smart_ptr/detail/spinlock_std_atomic.hpp | 18 +- .../boost/smart_ptr/detail/spinlock_sync.hpp | 9 +- .../boost/smart_ptr/detail/spinlock_w32.hpp | 7 + lslboost/boost/smart_ptr/detail/yield_k.hpp | 160 +- lslboost/boost/smart_ptr/intrusive_ptr.hpp | 48 +- .../boost/smart_ptr/make_shared_array.hpp | 44 +- .../boost/smart_ptr/make_shared_object.hpp | 2 +- lslboost/boost/smart_ptr/scoped_array.hpp | 2 +- lslboost/boost/smart_ptr/scoped_ptr.hpp | 2 +- lslboost/boost/smart_ptr/shared_array.hpp | 293 -- lslboost/boost/smart_ptr/shared_ptr.hpp | 81 +- lslboost/boost/smart_ptr/weak_ptr.hpp | 87 +- .../boost/spirit/home/classic/core/assert.hpp | 8 +- .../boost/spirit/home/classic/core/config.hpp | 2 +- .../boost/spirit/home/classic/core/match.hpp | 2 +- .../classic/core/non_terminal/impl/rule.ipp | 13 +- .../home/classic/core/scanner/scanner.hpp | 5 +- .../spirit/home/classic/meta/as_parser.hpp | 4 +- .../boost/spirit/home/classic/namespace.hpp | 8 +- .../boost/spirit/home/classic/version.hpp | 19 +- lslboost/boost/static_assert.hpp | 6 +- lslboost/boost/system/detail/cerrno.hpp | 329 ++ lslboost/boost/system/detail/config.hpp | 24 +- lslboost/boost/system/detail/enable_if.hpp | 32 + lslboost/boost/system/detail/errc.hpp | 126 + .../boost/system/detail/error_category.hpp | 189 ++ .../system/detail/error_category_impl.hpp | 108 + lslboost/boost/system/detail/error_code.hpp | 215 ++ .../boost/system/detail/error_condition.hpp | 163 + .../boost/system/detail/generic_category.hpp | 138 +- .../detail/generic_category_message.hpp | 108 + ...ategory_posix.hpp => is_generic_value.hpp} | 21 +- .../boost/system/detail/system_category.hpp | 110 + .../system_category_condition_win32.hpp | 146 + .../system/detail/system_category_impl.hpp | 83 + .../detail/system_category_message_win32.hpp | 233 ++ .../system/detail/system_category_win32.hpp | 324 -- lslboost/boost/system/detail/throws.hpp | 59 + ...teroperability.hpp => to_std_category.hpp} | 82 +- lslboost/boost/system/errc.hpp | 50 + lslboost/boost/system/error_category.hpp | 13 + lslboost/boost/system/error_code.hpp | 916 +----- lslboost/boost/system/error_condition.hpp | 13 + lslboost/boost/system/generic_category.hpp | 13 + lslboost/boost/system/is_error_code_enum.hpp | 30 + .../boost/system/is_error_condition_enum.hpp | 30 + lslboost/boost/system/system_category.hpp | 14 + lslboost/boost/system/system_error.hpp | 2 +- lslboost/boost/thread/detail/config.hpp | 15 +- lslboost/boost/thread/detail/invoke.hpp | 33 +- .../boost/thread/detail/platform_time.hpp | 16 +- lslboost/boost/thread/detail/thread.hpp | 41 +- lslboost/boost/thread/executors/executor.hpp | 2 + .../thread/executors/executor_adaptor.hpp | 2 + .../thread/executors/generic_executor_ref.hpp | 2 + lslboost/boost/thread/executors/work.hpp | 4 +- lslboost/boost/thread/future.hpp | 3 +- .../boost/thread/futures/wait_for_any.hpp | 1 + lslboost/boost/thread/interruption.hpp | 22 + .../thread/pthread/condition_variable.hpp | 42 +- .../thread/pthread/condition_variable_fwd.hpp | 19 +- lslboost/boost/thread/pthread/mutex.hpp | 48 +- lslboost/boost/thread/pthread/once.hpp | 57 +- lslboost/boost/thread/pthread/once_atomic.hpp | 2 +- .../boost/thread/pthread/pthread_helpers.hpp | 181 +- .../pthread/pthread_mutex_scoped_lock.hpp | 70 +- .../boost/thread/pthread/recursive_mutex.hpp | 436 --- .../boost/thread/pthread/shared_mutex.hpp | 2 +- lslboost/boost/thread/pthread/thread_data.hpp | 15 +- lslboost/boost/thread/recursive_mutex.hpp | 64 - lslboost/boost/thread/tss.hpp | 64 +- lslboost/boost/thread/v2/shared_mutex.hpp | 2 +- .../thread/win32/basic_recursive_mutex.hpp | 176 - .../boost/thread/win32/interlocked_read.hpp | 2 + lslboost/boost/thread/win32/once.hpp | 2 +- .../boost/thread/win32/recursive_mutex.hpp | 70 - lslboost/boost/thread/win32/shared_mutex.hpp | 17 +- lslboost/boost/thread/win32/thread_data.hpp | 38 +- .../boost/thread/win32/thread_primitives.hpp | 2 +- lslboost/boost/throw_exception.hpp | 197 +- lslboost/boost/token_functions.hpp | 653 ---- lslboost/boost/token_iterator.hpp | 131 - lslboost/boost/tokenizer.hpp | 98 - lslboost/boost/tti/detail/dcomp_mem_fun.hpp | 37 +- lslboost/boost/tti/detail/denclosing_type.hpp | 36 + lslboost/boost/tti/detail/dmacro_sunfix.hpp | 20 + lslboost/boost/tti/detail/dmem_fun.hpp | 67 +- lslboost/boost/tti/detail/dptmf.hpp | 1 - lslboost/boost/tti/has_member_function.hpp | 37 +- lslboost/boost/tuple/detail/tuple_basic.hpp | 26 +- lslboost/boost/tuple/tuple.hpp | 51 + lslboost/boost/type_index.hpp | 2 +- lslboost/boost/type_index/ctti_type_index.hpp | 2 +- .../detail/compile_time_type_info.hpp | 56 +- .../type_index/detail/ctti_register_class.hpp | 2 +- .../type_index/detail/stl_register_class.hpp | 2 +- lslboost/boost/type_index/stl_type_index.hpp | 2 +- .../boost/type_index/type_index_facade.hpp | 2 +- lslboost/boost/type_traits/add_pointer.hpp | 2 +- .../boost/type_traits/aligned_storage.hpp | 2 +- lslboost/boost/type_traits/alignment_of.hpp | 6 +- lslboost/boost/type_traits/detail/config.hpp | 29 +- .../detail/has_binary_operator.hpp | 12 +- .../detail/has_prefix_operator.hpp | 280 -- .../type_traits/detail/is_function_cxx_03.hpp | 6 +- .../type_traits/detail/is_function_cxx_11.hpp | 108 +- .../detail/is_function_ptr_tester.hpp | 670 ++-- .../type_traits/detail/is_likely_lambda.hpp | 3 +- .../detail/is_mem_fun_pointer_tester.hpp | 2887 ++++++++--------- .../is_member_function_pointer_cxx_03.hpp | 8 +- .../is_member_function_pointer_cxx_11.hpp | 171 +- lslboost/boost/type_traits/extent.hpp | 139 + lslboost/boost/type_traits/has_minus.hpp | 12 +- .../boost/type_traits/has_minus_assign.hpp | 12 +- .../boost/type_traits/has_nothrow_copy.hpp | 2 +- .../type_traits/has_nothrow_destructor.hpp | 56 + .../boost/type_traits/has_plus_assign.hpp | 12 +- .../boost/type_traits/has_pre_increment.hpp | 66 - .../boost/type_traits/integral_constant.hpp | 2 +- lslboost/boost/type_traits/intrinsics.hpp | 2 +- lslboost/boost/type_traits/is_array.hpp | 4 +- .../boost/type_traits/is_base_and_derived.hpp | 4 +- .../boost/type_traits/is_bounded_array.hpp | 42 + lslboost/boost/type_traits/is_complete.hpp | 2 +- lslboost/boost/type_traits/is_const.hpp | 2 +- .../boost/type_traits/is_constructible.hpp | 2 +- lslboost/boost/type_traits/is_convertible.hpp | 6 +- .../type_traits/is_default_constructible.hpp | 2 +- .../boost/type_traits/is_destructible.hpp | 2 +- lslboost/boost/type_traits/is_empty.hpp | 6 +- lslboost/boost/type_traits/is_enum.hpp | 8 +- lslboost/boost/type_traits/is_fundamental.hpp | 2 +- lslboost/boost/type_traits/is_integral.hpp | 6 +- .../boost/type_traits/is_lvalue_reference.hpp | 2 +- .../boost/type_traits/is_member_pointer.hpp | 2 +- lslboost/boost/type_traits/is_object.hpp | 28 + lslboost/boost/type_traits/is_pointer.hpp | 2 +- lslboost/boost/type_traits/is_same.hpp | 2 +- lslboost/boost/type_traits/is_signed.hpp | 4 +- .../boost/type_traits/is_unbounded_array.hpp | 41 + lslboost/boost/type_traits/is_unsigned.hpp | 4 +- .../boost/type_traits/is_virtual_base_of.hpp | 4 +- lslboost/boost/type_traits/is_volatile.hpp | 2 +- .../boost/type_traits/remove_all_extents.hpp | 2 +- lslboost/boost/type_traits/remove_const.hpp | 2 +- lslboost/boost/type_traits/remove_cv.hpp | 2 +- lslboost/boost/type_traits/remove_extent.hpp | 2 +- .../boost/type_traits/remove_volatile.hpp | 2 +- lslboost/boost/type_traits/same_traits.hpp | 15 + .../boost/type_traits/type_with_alignment.hpp | 4 +- .../utility/detail/result_of_iterate.hpp | 6 +- lslboost/boost/uuid/basic_name_generator.hpp | 166 - lslboost/boost/uuid/detail/config.hpp | 2 +- .../boost/uuid/detail/random_provider.hpp | 91 +- .../detail/random_provider_arc4random.ipp | 2 +- .../uuid/detail/random_provider_bcrypt.ipp | 12 +- .../random_provider_detect_platform.hpp | 10 +- .../detail/random_provider_getentropy.ipp | 2 +- .../uuid/detail/random_provider_getrandom.ipp | 2 +- .../random_provider_include_platform.hpp | 2 +- .../uuid/detail/random_provider_posix.ipp | 2 +- .../uuid/detail/random_provider_wincrypt.ipp | 12 +- lslboost/boost/uuid/detail/sha1.hpp | 237 -- lslboost/boost/uuid/detail/uuid_generic.ipp | 2 +- lslboost/boost/uuid/detail/uuid_x86.ipp | 2 +- lslboost/boost/uuid/entropy_error.hpp | 2 +- lslboost/boost/uuid/name_generator.hpp | 38 - lslboost/boost/uuid/name_generator_sha1.hpp | 26 - lslboost/boost/uuid/nil_generator.hpp | 34 - lslboost/boost/uuid/random_generator.hpp | 2 +- lslboost/boost/uuid/string_generator.hpp | 198 -- lslboost/boost/uuid/uuid.hpp | 2 +- lslboost/boost/uuid/uuid_generators.hpp | 19 - lslboost/boost/uuid/uuid_io.hpp | 2 +- lslboost/boost/version.hpp | 4 +- lslboost/boost/winapi/access_rights.hpp | 3 + lslboost/boost/winapi/basic_types.hpp | 30 +- lslboost/boost/winapi/bcrypt.hpp | 8 +- .../winapi/character_code_conversion.hpp | 7 +- lslboost/boost/winapi/condition_variable.hpp | 123 + lslboost/boost/winapi/config.hpp | 11 + lslboost/boost/winapi/critical_section.hpp | 240 ++ lslboost/boost/winapi/crypt.hpp | 17 +- lslboost/boost/winapi/detail/cast_ptr.hpp | 40 + lslboost/boost/winapi/detail/footer.hpp | 21 + lslboost/boost/winapi/detail/header.hpp | 27 + lslboost/boost/winapi/dll.hpp | 73 +- lslboost/boost/winapi/error_codes.hpp | 3 + lslboost/boost/winapi/error_handling.hpp | 9 +- lslboost/boost/winapi/event.hpp | 19 +- lslboost/boost/winapi/get_current_process.hpp | 5 +- .../boost/winapi/get_current_process_id.hpp | 5 +- lslboost/boost/winapi/get_current_thread.hpp | 5 +- .../boost/winapi/get_current_thread_id.hpp | 5 +- lslboost/boost/winapi/get_last_error.hpp | 5 +- lslboost/boost/winapi/get_proc_address.hpp | 81 + lslboost/boost/winapi/get_process_times.hpp | 5 +- lslboost/boost/winapi/get_thread_times.hpp | 6 +- lslboost/boost/winapi/handles.hpp | 13 +- lslboost/boost/winapi/heap_memory.hpp | 17 +- lslboost/boost/winapi/local_memory.hpp | 24 +- lslboost/boost/winapi/semaphore.hpp | 17 +- lslboost/boost/winapi/srw_lock.hpp | 116 + lslboost/boost/winapi/system.hpp | 15 +- lslboost/boost/winapi/thread.hpp | 10 +- lslboost/boost/winapi/thread_pool.hpp | 9 +- lslboost/boost/winapi/time.hpp | 19 +- lslboost/boost/winapi/timers.hpp | 7 +- lslboost/boost/winapi/wait.hpp | 40 +- lslboost/boost/winapi/wait_constants.hpp | 52 + lslboost/boost/winapi/wait_on_address.hpp | 56 + lslboost/libs/atomic/config/Jamfile.v2 | 20 + lslboost/libs/atomic/config/has_sse2.cpp | 17 + lslboost/libs/atomic/config/has_sse41.cpp | 17 + .../atomic/config/has_synchronization.cpp | 33 + .../libs/atomic/src/bit_operation_tools.hpp | 82 + lslboost/libs/atomic/src/cpuid.hpp | 86 + lslboost/libs/atomic/src/find_address.hpp | 45 + .../libs/atomic/src/find_address_sse2.cpp | 284 ++ .../libs/atomic/src/find_address_sse41.cpp | 154 + lslboost/libs/atomic/src/lock_pool.cpp | 1414 ++++++++ lslboost/libs/atomic/src/lock_pool_init1.ipp | 13 + .../libs/atomic/src/lock_pool_init256.ipp | 79 + lslboost/libs/atomic/src/lockpool.cpp | 167 - lslboost/libs/atomic/src/wait_ops_windows.cpp | 116 + lslboost/libs/atomic/src/x86_vector_tools.hpp | 52 + lslboost/libs/date_time/src/date_time.doc | 72 - .../src/gregorian/date_generators.cpp | 38 - .../date_time/src/gregorian/greg_month.cpp | 173 - .../date_time/src/gregorian/greg_names.hpp | 43 - .../date_time/src/gregorian/greg_weekday.cpp | 50 - .../src/gregorian/gregorian_types.cpp | 62 - .../src/posix_time/posix_time_types.cpp | 35 - .../clone_current_exception_non_intrusive.cpp | 2 +- lslboost/libs/regex/src/c_regex_traits.cpp | 4 +- lslboost/libs/regex/src/cregex.cpp | 13 +- lslboost/libs/regex/src/fileiter.cpp | 23 +- lslboost/libs/regex/src/icu.cpp | 4 +- lslboost/libs/regex/src/instances.cpp | 2 +- lslboost/libs/regex/src/posix_api.cpp | 7 + lslboost/libs/regex/src/regex.cpp | 6 +- .../libs/regex/src/regex_traits_defaults.cpp | 4 +- lslboost/libs/regex/src/static_mutex.cpp | 4 +- lslboost/libs/regex/src/w32_regex_traits.cpp | 4 +- lslboost/libs/regex/src/wc_regex_traits.cpp | 10 +- lslboost/libs/regex/src/wide_posix_api.cpp | 7 + lslboost/libs/regex/src/winstances.cpp | 2 +- .../libs/serialization/src/basic_archive.cpp | 7 +- .../libs/serialization/src/basic_iarchive.cpp | 10 +- .../libs/serialization/src/basic_oarchive.cpp | 15 +- .../libs/serialization/src/codecvt_null.cpp | 11 +- .../serialization/src/extended_type_info.cpp | 21 +- .../src/extended_type_info_typeid.cpp | 16 +- lslboost/libs/serialization/src/void_cast.cpp | 26 +- lslboost/libs/thread/src/pthread/once.cpp | 1 - .../libs/thread/src/pthread/once_atomic.cpp | 7 +- lslboost/libs/thread/src/pthread/thread.cpp | 19 +- lslboost/libs/thread/src/win32/thread.cpp | 23 +- lslboost/libs/thread/src/win32/tss_dll.cpp | 4 +- lslboost/libs/thread/src/win32/tss_pe.cpp | 31 +- update_lslboost.sh | 6 +- 2376 files changed, 234651 insertions(+), 89053 deletions(-) delete mode 100644 lslboost/boost/algorithm/string.hpp delete mode 100644 lslboost/boost/algorithm/string/case_conv.hpp delete mode 100644 lslboost/boost/algorithm/string/detail/case_conv.hpp delete mode 100644 lslboost/boost/algorithm/string/detail/find_format.hpp delete mode 100644 lslboost/boost/algorithm/string/detail/find_format_all.hpp delete mode 100644 lslboost/boost/algorithm/string/detail/find_format_store.hpp delete mode 100644 lslboost/boost/algorithm/string/detail/formatter.hpp delete mode 100644 lslboost/boost/algorithm/string/detail/predicate.hpp delete mode 100644 lslboost/boost/algorithm/string/detail/replace_storage.hpp delete mode 100644 lslboost/boost/algorithm/string/detail/sequence.hpp delete mode 100644 lslboost/boost/algorithm/string/erase.hpp delete mode 100644 lslboost/boost/algorithm/string/find.hpp delete mode 100644 lslboost/boost/algorithm/string/find_format.hpp delete mode 100644 lslboost/boost/algorithm/string/formatter.hpp delete mode 100644 lslboost/boost/algorithm/string/join.hpp delete mode 100644 lslboost/boost/algorithm/string/predicate.hpp delete mode 100644 lslboost/boost/algorithm/string/replace.hpp delete mode 100644 lslboost/boost/algorithm/string/sequence_traits.hpp delete mode 100644 lslboost/boost/algorithm/string/std/list_traits.hpp delete mode 100644 lslboost/boost/algorithm/string/std/slist_traits.hpp delete mode 100644 lslboost/boost/algorithm/string/std/string_traits.hpp delete mode 100644 lslboost/boost/algorithm/string/std_containers_traits.hpp delete mode 100644 lslboost/boost/algorithm/string/yes_no_type.hpp create mode 100644 lslboost/boost/align/align.hpp create mode 100644 lslboost/boost/align/aligned_alloc.hpp create mode 100644 lslboost/boost/align/alignment_of.hpp create mode 100644 lslboost/boost/align/alignment_of_forward.hpp create mode 100644 lslboost/boost/align/detail/align.hpp create mode 100644 lslboost/boost/align/detail/align_cxx11.hpp create mode 100644 lslboost/boost/align/detail/aligned_alloc.hpp create mode 100644 lslboost/boost/align/detail/aligned_alloc_android.hpp create mode 100644 lslboost/boost/align/detail/aligned_alloc_macos.hpp create mode 100644 lslboost/boost/align/detail/aligned_alloc_mingw.hpp create mode 100644 lslboost/boost/align/detail/aligned_alloc_msvc.hpp create mode 100644 lslboost/boost/align/detail/aligned_alloc_new.hpp create mode 100644 lslboost/boost/align/detail/aligned_alloc_posix.hpp create mode 100644 lslboost/boost/align/detail/aligned_alloc_sunos.hpp create mode 100644 lslboost/boost/align/detail/alignment_of.hpp create mode 100644 lslboost/boost/align/detail/alignment_of_clang.hpp create mode 100644 lslboost/boost/align/detail/alignment_of_codegear.hpp create mode 100644 lslboost/boost/align/detail/alignment_of_cxx11.hpp create mode 100644 lslboost/boost/align/detail/alignment_of_gcc.hpp create mode 100644 lslboost/boost/align/detail/alignment_of_msvc.hpp create mode 100644 lslboost/boost/align/detail/element_type.hpp create mode 100644 lslboost/boost/align/detail/integral_constant.hpp create mode 100644 lslboost/boost/align/detail/is_alignment.hpp create mode 100644 lslboost/boost/align/detail/min_size.hpp delete mode 100644 lslboost/boost/any.hpp create mode 100644 lslboost/boost/asio/any_io_executor.hpp create mode 100644 lslboost/boost/asio/awaitable.hpp create mode 100644 lslboost/boost/asio/co_spawn.hpp create mode 100644 lslboost/boost/asio/compose.hpp delete mode 100644 lslboost/boost/asio/datagram_socket_service.hpp delete mode 100644 lslboost/boost/asio/deadline_timer_service.hpp create mode 100644 lslboost/boost/asio/detached.hpp create mode 100644 lslboost/boost/asio/detail/blocking_executor_op.hpp create mode 100644 lslboost/boost/asio/detail/bulk_executor_op.hpp create mode 100644 lslboost/boost/asio/detail/executor_function.hpp create mode 100644 lslboost/boost/asio/detail/io_object_impl.hpp create mode 100644 lslboost/boost/asio/detail/non_const_lvalue.hpp create mode 100644 lslboost/boost/asio/detail/source_location.hpp delete mode 100644 lslboost/boost/asio/detail/winrt_socket_connect_op.hpp delete mode 100644 lslboost/boost/asio/detail/winrt_ssocket_service.hpp create mode 100644 lslboost/boost/asio/execution.hpp create mode 100644 lslboost/boost/asio/execution/allocator.hpp create mode 100644 lslboost/boost/asio/execution/any_executor.hpp create mode 100644 lslboost/boost/asio/execution/bad_executor.hpp create mode 100644 lslboost/boost/asio/execution/blocking.hpp create mode 100644 lslboost/boost/asio/execution/blocking_adaptation.hpp create mode 100644 lslboost/boost/asio/execution/bulk_execute.hpp create mode 100644 lslboost/boost/asio/execution/bulk_guarantee.hpp create mode 100644 lslboost/boost/asio/execution/connect.hpp create mode 100644 lslboost/boost/asio/execution/context.hpp create mode 100644 lslboost/boost/asio/execution/context_as.hpp create mode 100644 lslboost/boost/asio/execution/detail/as_invocable.hpp create mode 100644 lslboost/boost/asio/execution/detail/as_operation.hpp create mode 100644 lslboost/boost/asio/execution/detail/as_receiver.hpp create mode 100644 lslboost/boost/asio/execution/detail/bulk_sender.hpp create mode 100644 lslboost/boost/asio/execution/detail/submit_receiver.hpp create mode 100644 lslboost/boost/asio/execution/detail/void_receiver.hpp create mode 100644 lslboost/boost/asio/execution/execute.hpp create mode 100644 lslboost/boost/asio/execution/executor.hpp create mode 100644 lslboost/boost/asio/execution/impl/bad_executor.ipp create mode 100644 lslboost/boost/asio/execution/impl/receiver_invocation_error.ipp create mode 100644 lslboost/boost/asio/execution/invocable_archetype.hpp create mode 100644 lslboost/boost/asio/execution/mapping.hpp create mode 100644 lslboost/boost/asio/execution/occupancy.hpp create mode 100644 lslboost/boost/asio/execution/operation_state.hpp create mode 100644 lslboost/boost/asio/execution/outstanding_work.hpp create mode 100644 lslboost/boost/asio/execution/prefer_only.hpp create mode 100644 lslboost/boost/asio/execution/receiver.hpp create mode 100644 lslboost/boost/asio/execution/receiver_invocation_error.hpp create mode 100644 lslboost/boost/asio/execution/relationship.hpp create mode 100644 lslboost/boost/asio/execution/schedule.hpp create mode 100644 lslboost/boost/asio/execution/scheduler.hpp create mode 100644 lslboost/boost/asio/execution/sender.hpp create mode 100644 lslboost/boost/asio/execution/set_done.hpp create mode 100644 lslboost/boost/asio/execution/set_error.hpp create mode 100644 lslboost/boost/asio/execution/set_value.hpp create mode 100644 lslboost/boost/asio/execution/start.hpp create mode 100644 lslboost/boost/asio/execution/submit.hpp delete mode 100644 lslboost/boost/asio/handler_type.hpp create mode 100644 lslboost/boost/asio/impl/awaitable.hpp create mode 100644 lslboost/boost/asio/impl/co_spawn.hpp create mode 100644 lslboost/boost/asio/impl/compose.hpp create mode 100644 lslboost/boost/asio/impl/detached.hpp create mode 100644 lslboost/boost/asio/impl/multiple_exceptions.ipp create mode 100644 lslboost/boost/asio/impl/redirect_error.hpp create mode 100644 lslboost/boost/asio/impl/use_awaitable.hpp delete mode 100644 lslboost/boost/asio/ip/resolver_service.hpp create mode 100644 lslboost/boost/asio/is_applicable_property.hpp create mode 100644 lslboost/boost/asio/multiple_exceptions.hpp delete mode 100644 lslboost/boost/asio/posix/stream_descriptor_service.hpp create mode 100644 lslboost/boost/asio/prefer.hpp create mode 100644 lslboost/boost/asio/query.hpp delete mode 100644 lslboost/boost/asio/raw_socket_service.hpp create mode 100644 lslboost/boost/asio/redirect_error.hpp create mode 100644 lslboost/boost/asio/require.hpp create mode 100644 lslboost/boost/asio/require_concept.hpp delete mode 100644 lslboost/boost/asio/seq_packet_socket_service.hpp delete mode 100644 lslboost/boost/asio/serial_port_service.hpp delete mode 100644 lslboost/boost/asio/signal_set_service.hpp delete mode 100644 lslboost/boost/asio/socket_acceptor_service.hpp create mode 100644 lslboost/boost/asio/static_thread_pool.hpp delete mode 100644 lslboost/boost/asio/stream_socket_service.hpp create mode 100644 lslboost/boost/asio/this_coro.hpp create mode 100644 lslboost/boost/asio/traits/bulk_execute_free.hpp create mode 100644 lslboost/boost/asio/traits/bulk_execute_member.hpp create mode 100644 lslboost/boost/asio/traits/connect_free.hpp create mode 100644 lslboost/boost/asio/traits/connect_member.hpp create mode 100644 lslboost/boost/asio/traits/equality_comparable.hpp create mode 100644 lslboost/boost/asio/traits/execute_free.hpp create mode 100644 lslboost/boost/asio/traits/execute_member.hpp create mode 100644 lslboost/boost/asio/traits/prefer_free.hpp create mode 100644 lslboost/boost/asio/traits/prefer_member.hpp create mode 100644 lslboost/boost/asio/traits/query_free.hpp create mode 100644 lslboost/boost/asio/traits/query_member.hpp create mode 100644 lslboost/boost/asio/traits/query_static_constexpr_member.hpp create mode 100644 lslboost/boost/asio/traits/require_concept_free.hpp create mode 100644 lslboost/boost/asio/traits/require_concept_member.hpp create mode 100644 lslboost/boost/asio/traits/require_free.hpp create mode 100644 lslboost/boost/asio/traits/require_member.hpp create mode 100644 lslboost/boost/asio/traits/schedule_free.hpp create mode 100644 lslboost/boost/asio/traits/schedule_member.hpp create mode 100644 lslboost/boost/asio/traits/set_done_free.hpp create mode 100644 lslboost/boost/asio/traits/set_done_member.hpp create mode 100644 lslboost/boost/asio/traits/set_error_free.hpp create mode 100644 lslboost/boost/asio/traits/set_error_member.hpp create mode 100644 lslboost/boost/asio/traits/set_value_free.hpp create mode 100644 lslboost/boost/asio/traits/set_value_member.hpp create mode 100644 lslboost/boost/asio/traits/start_free.hpp create mode 100644 lslboost/boost/asio/traits/start_member.hpp create mode 100644 lslboost/boost/asio/traits/static_query.hpp create mode 100644 lslboost/boost/asio/traits/static_require.hpp create mode 100644 lslboost/boost/asio/traits/static_require_concept.hpp create mode 100644 lslboost/boost/asio/traits/submit_free.hpp create mode 100644 lslboost/boost/asio/traits/submit_member.hpp create mode 100644 lslboost/boost/asio/use_awaitable.hpp delete mode 100644 lslboost/boost/asio/waitable_timer_service.hpp delete mode 100644 lslboost/boost/asio/windows/basic_handle.hpp create mode 100644 lslboost/boost/asio/windows/basic_overlapped_handle.hpp delete mode 100644 lslboost/boost/asio/windows/object_handle_service.hpp delete mode 100644 lslboost/boost/asio/windows/random_access_handle_service.hpp delete mode 100644 lslboost/boost/asio/windows/stream_handle_service.hpp create mode 100644 lslboost/boost/assert/source_location.hpp create mode 100644 lslboost/boost/atomic/atomic_ref.hpp create mode 100644 lslboost/boost/atomic/detail/aligned_variable.hpp delete mode 100644 lslboost/boost/atomic/detail/atomic_flag.hpp create mode 100644 lslboost/boost/atomic/detail/atomic_flag_impl.hpp rename lslboost/boost/atomic/detail/{atomic_template.hpp => atomic_impl.hpp} (59%) create mode 100644 lslboost/boost/atomic/detail/atomic_ref_impl.hpp create mode 100644 lslboost/boost/atomic/detail/capabilities.hpp create mode 100644 lslboost/boost/atomic/detail/caps_arch_gcc_aarch32.hpp create mode 100644 lslboost/boost/atomic/detail/caps_arch_gcc_aarch64.hpp rename lslboost/boost/atomic/detail/{caps_gcc_alpha.hpp => caps_arch_gcc_alpha.hpp} (74%) rename lslboost/boost/atomic/detail/{hwcaps_gcc_arm.hpp => caps_arch_gcc_arm.hpp} (55%) rename lslboost/boost/atomic/detail/{hwcaps_gcc_ppc.hpp => caps_arch_gcc_ppc.hpp} (54%) rename lslboost/boost/atomic/detail/{caps_gcc_sparc.hpp => caps_arch_gcc_sparc.hpp} (74%) rename lslboost/boost/atomic/detail/{hwcaps_gcc_x86.hpp => caps_arch_gcc_x86.hpp} (57%) rename lslboost/boost/atomic/detail/{caps_msvc_arm.hpp => caps_arch_msvc_arm.hpp} (75%) rename lslboost/boost/atomic/detail/{caps_msvc_x86.hpp => caps_arch_msvc_x86.hpp} (70%) delete mode 100644 lslboost/boost/atomic/detail/caps_gcc_arm.hpp delete mode 100644 lslboost/boost/atomic/detail/caps_gcc_ppc.hpp delete mode 100644 lslboost/boost/atomic/detail/caps_gcc_x86.hpp create mode 100644 lslboost/boost/atomic/detail/cas_based_exchange.hpp create mode 100644 lslboost/boost/atomic/detail/classify.hpp create mode 100644 lslboost/boost/atomic/detail/core_arch_operations.hpp create mode 100644 lslboost/boost/atomic/detail/core_arch_operations_fwd.hpp create mode 100644 lslboost/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp create mode 100644 lslboost/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp rename lslboost/boost/atomic/detail/{ops_gcc_alpha.hpp => core_arch_ops_gcc_alpha.hpp} (61%) rename lslboost/boost/atomic/detail/{ops_gcc_arm.hpp => core_arch_ops_gcc_arm.hpp} (53%) rename lslboost/boost/atomic/detail/{ops_gcc_ppc.hpp => core_arch_ops_gcc_ppc.hpp} (90%) rename lslboost/boost/atomic/detail/{ops_gcc_sparc.hpp => core_arch_ops_gcc_sparc.hpp} (70%) rename lslboost/boost/atomic/detail/{ops_gcc_x86_dcas.hpp => core_arch_ops_gcc_x86.hpp} (53%) rename lslboost/boost/atomic/detail/{ops_msvc_arm.hpp => core_arch_ops_msvc_arm.hpp} (90%) rename lslboost/boost/atomic/detail/{ops_msvc_x86.hpp => core_arch_ops_msvc_x86.hpp} (84%) create mode 100644 lslboost/boost/atomic/detail/core_operations.hpp create mode 100644 lslboost/boost/atomic/detail/core_operations_emulated.hpp create mode 100644 lslboost/boost/atomic/detail/core_operations_emulated_fwd.hpp create mode 100644 lslboost/boost/atomic/detail/core_operations_fwd.hpp rename lslboost/boost/atomic/detail/{ops_cas_based.hpp => core_ops_cas_based.hpp} (76%) create mode 100644 lslboost/boost/atomic/detail/core_ops_gcc_atomic.hpp rename lslboost/boost/atomic/detail/{ops_gcc_sync.hpp => core_ops_gcc_sync.hpp} (54%) rename lslboost/boost/atomic/detail/{ops_linux_arm.hpp => core_ops_linux_arm.hpp} (70%) rename lslboost/boost/atomic/detail/{ops_windows.hpp => core_ops_windows.hpp} (76%) rename lslboost/boost/atomic/detail/{ops_extending_cas_based.hpp => extending_cas_based_arithmetic.hpp} (71%) create mode 100644 lslboost/boost/atomic/detail/extra_ops_gcc_aarch32.hpp create mode 100644 lslboost/boost/atomic/detail/extra_ops_gcc_aarch64.hpp create mode 100644 lslboost/boost/atomic/detail/fence_arch_operations.hpp create mode 100644 lslboost/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp create mode 100644 lslboost/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp create mode 100644 lslboost/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp create mode 100644 lslboost/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp create mode 100644 lslboost/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp create mode 100644 lslboost/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp create mode 100644 lslboost/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp create mode 100644 lslboost/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp create mode 100644 lslboost/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp create mode 100644 lslboost/boost/atomic/detail/fence_operations.hpp create mode 100644 lslboost/boost/atomic/detail/fence_operations_emulated.hpp create mode 100644 lslboost/boost/atomic/detail/fence_ops_gcc_atomic.hpp create mode 100644 lslboost/boost/atomic/detail/fence_ops_gcc_sync.hpp create mode 100644 lslboost/boost/atomic/detail/fence_ops_linux_arm.hpp create mode 100644 lslboost/boost/atomic/detail/fence_ops_windows.hpp create mode 100644 lslboost/boost/atomic/detail/footer.hpp create mode 100644 lslboost/boost/atomic/detail/futex.hpp create mode 100644 lslboost/boost/atomic/detail/gcc_arm_asm_common.hpp create mode 100644 lslboost/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp create mode 100644 lslboost/boost/atomic/detail/header.hpp rename lslboost/boost/atomic/detail/{integral_extend.hpp => integral_conversions.hpp} (88%) create mode 100644 lslboost/boost/atomic/detail/intptr.hpp create mode 100644 lslboost/boost/atomic/detail/lock_pool.hpp delete mode 100644 lslboost/boost/atomic/detail/lockpool.hpp create mode 100644 lslboost/boost/atomic/detail/memory_order_utils.hpp create mode 100644 lslboost/boost/atomic/detail/once_flag.hpp delete mode 100644 lslboost/boost/atomic/detail/operations.hpp delete mode 100644 lslboost/boost/atomic/detail/operations_fwd.hpp delete mode 100644 lslboost/boost/atomic/detail/operations_lockfree.hpp delete mode 100644 lslboost/boost/atomic/detail/ops_emulated.hpp create mode 100644 lslboost/boost/atomic/detail/ops_gcc_aarch32_common.hpp create mode 100644 lslboost/boost/atomic/detail/ops_gcc_aarch64_common.hpp delete mode 100644 lslboost/boost/atomic/detail/ops_gcc_atomic.hpp delete mode 100644 lslboost/boost/atomic/detail/ops_gcc_x86.hpp create mode 100644 lslboost/boost/atomic/detail/storage_traits.hpp delete mode 100644 lslboost/boost/atomic/detail/storage_type.hpp create mode 100644 lslboost/boost/atomic/detail/type_traits/alignment_of.hpp create mode 100644 lslboost/boost/atomic/detail/type_traits/is_trivially_copyable.hpp create mode 100644 lslboost/boost/atomic/detail/wait_capabilities.hpp create mode 100644 lslboost/boost/atomic/detail/wait_caps_dragonfly_umtx.hpp create mode 100644 lslboost/boost/atomic/detail/wait_caps_freebsd_umtx.hpp create mode 100644 lslboost/boost/atomic/detail/wait_caps_futex.hpp create mode 100644 lslboost/boost/atomic/detail/wait_caps_windows.hpp create mode 100644 lslboost/boost/atomic/detail/wait_operations.hpp create mode 100644 lslboost/boost/atomic/detail/wait_operations_fwd.hpp create mode 100644 lslboost/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp create mode 100644 lslboost/boost/atomic/detail/wait_ops_emulated.hpp create mode 100644 lslboost/boost/atomic/detail/wait_ops_freebsd_umtx.hpp create mode 100644 lslboost/boost/atomic/detail/wait_ops_futex.hpp create mode 100644 lslboost/boost/atomic/detail/wait_ops_generic.hpp create mode 100644 lslboost/boost/atomic/detail/wait_ops_windows.hpp create mode 100644 lslboost/boost/atomic/ipc_atomic.hpp create mode 100644 lslboost/boost/atomic/ipc_atomic_flag.hpp create mode 100644 lslboost/boost/atomic/ipc_atomic_ref.hpp delete mode 100644 lslboost/boost/bimap.hpp delete mode 100644 lslboost/boost/bimap/bimap.hpp delete mode 100644 lslboost/boost/bimap/container_adaptor/associative_container_adaptor.hpp delete mode 100644 lslboost/boost/bimap/container_adaptor/container_adaptor.hpp delete mode 100644 lslboost/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp delete mode 100644 lslboost/boost/bimap/container_adaptor/detail/functor_bag.hpp delete mode 100644 lslboost/boost/bimap/container_adaptor/detail/identity_converters.hpp delete mode 100644 lslboost/boost/bimap/container_adaptor/map_adaptor.hpp delete mode 100644 lslboost/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp delete mode 100644 lslboost/boost/bimap/container_adaptor/set_adaptor.hpp delete mode 100644 lslboost/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp delete mode 100644 lslboost/boost/bimap/detail/bimap_core.hpp delete mode 100644 lslboost/boost/bimap/detail/concept_tags.hpp delete mode 100644 lslboost/boost/bimap/detail/debug/static_error.hpp delete mode 100644 lslboost/boost/bimap/detail/generate_index_binder.hpp delete mode 100644 lslboost/boost/bimap/detail/generate_relation_binder.hpp delete mode 100644 lslboost/boost/bimap/detail/generate_view_binder.hpp delete mode 100644 lslboost/boost/bimap/detail/is_set_type_of.hpp delete mode 100644 lslboost/boost/bimap/detail/manage_additional_parameters.hpp delete mode 100644 lslboost/boost/bimap/detail/manage_bimap_key.hpp delete mode 100644 lslboost/boost/bimap/detail/map_view_base.hpp delete mode 100644 lslboost/boost/bimap/detail/map_view_iterator.hpp delete mode 100644 lslboost/boost/bimap/detail/modifier_adaptor.hpp delete mode 100644 lslboost/boost/bimap/detail/set_view_base.hpp delete mode 100644 lslboost/boost/bimap/detail/set_view_iterator.hpp delete mode 100644 lslboost/boost/bimap/detail/user_interface_config.hpp delete mode 100644 lslboost/boost/bimap/relation/detail/access_builder.hpp delete mode 100644 lslboost/boost/bimap/relation/detail/metadata_access_builder.hpp delete mode 100644 lslboost/boost/bimap/relation/detail/mutant.hpp delete mode 100644 lslboost/boost/bimap/relation/detail/static_access_builder.hpp delete mode 100644 lslboost/boost/bimap/relation/detail/to_mutable_relation_functor.hpp delete mode 100644 lslboost/boost/bimap/relation/member_at.hpp delete mode 100644 lslboost/boost/bimap/relation/mutant_relation.hpp delete mode 100644 lslboost/boost/bimap/relation/pair_layout.hpp delete mode 100644 lslboost/boost/bimap/relation/structured_pair.hpp delete mode 100644 lslboost/boost/bimap/relation/support/data_extractor.hpp delete mode 100644 lslboost/boost/bimap/relation/support/get.hpp delete mode 100644 lslboost/boost/bimap/relation/support/get_pair_functor.hpp delete mode 100644 lslboost/boost/bimap/relation/support/is_tag_of_member_at.hpp delete mode 100644 lslboost/boost/bimap/relation/support/member_with_tag.hpp delete mode 100644 lslboost/boost/bimap/relation/support/opposite_tag.hpp delete mode 100644 lslboost/boost/bimap/relation/support/pair_by.hpp delete mode 100644 lslboost/boost/bimap/relation/support/pair_type_by.hpp delete mode 100644 lslboost/boost/bimap/relation/support/value_type_of.hpp delete mode 100644 lslboost/boost/bimap/relation/symmetrical_base.hpp delete mode 100644 lslboost/boost/bimap/set_of.hpp delete mode 100644 lslboost/boost/bimap/support/data_type_by.hpp delete mode 100644 lslboost/boost/bimap/support/iterator_type_by.hpp delete mode 100644 lslboost/boost/bimap/support/key_type_by.hpp delete mode 100644 lslboost/boost/bimap/support/map_by.hpp delete mode 100644 lslboost/boost/bimap/support/map_type_by.hpp delete mode 100644 lslboost/boost/bimap/support/value_type_by.hpp delete mode 100644 lslboost/boost/bimap/tags/support/default_tagged.hpp delete mode 100644 lslboost/boost/bimap/tags/support/tag_of.hpp delete mode 100644 lslboost/boost/bimap/tags/support/value_type_of.hpp delete mode 100644 lslboost/boost/bimap/tags/tagged.hpp delete mode 100644 lslboost/boost/bimap/unconstrained_set_of.hpp delete mode 100644 lslboost/boost/bimap/views/map_view.hpp delete mode 100644 lslboost/boost/bimap/views/set_view.hpp delete mode 100644 lslboost/boost/bimap/views/unconstrained_map_view.hpp delete mode 100644 lslboost/boost/bimap/views/unconstrained_set_view.hpp delete mode 100644 lslboost/boost/bind.hpp create mode 100644 lslboost/boost/bind/detail/result_traits.hpp delete mode 100644 lslboost/boost/container/detail/flat_tree.hpp delete mode 100644 lslboost/boost/container/detail/is_container.hpp delete mode 100644 lslboost/boost/container/detail/is_contiguous_container.hpp delete mode 100644 lslboost/boost/container/detail/is_sorted.hpp delete mode 100644 lslboost/boost/container/flat_set.hpp create mode 100644 lslboost/boost/core/alloc_construct.hpp create mode 100644 lslboost/boost/core/allocator_access.hpp create mode 100644 lslboost/boost/core/default_allocator.hpp create mode 100644 lslboost/boost/core/first_scalar.hpp create mode 100644 lslboost/boost/core/noinit_adaptor.hpp create mode 100644 lslboost/boost/core/nvp.hpp create mode 100644 lslboost/boost/core/pointer_traits.hpp create mode 100644 lslboost/boost/core/uncaught_exceptions.hpp create mode 100644 lslboost/boost/core/use_default.hpp delete mode 100644 lslboost/boost/date_time/date_format_simple.hpp delete mode 100644 lslboost/boost/date_time/date_formatting.hpp delete mode 100644 lslboost/boost/date_time/date_formatting_limited.hpp delete mode 100644 lslboost/boost/date_time/date_formatting_locales.hpp delete mode 100644 lslboost/boost/date_time/date_names_put.hpp delete mode 100644 lslboost/boost/date_time/date_parsing.hpp delete mode 100644 lslboost/boost/date_time/gregorian/formatters.hpp delete mode 100644 lslboost/boost/date_time/gregorian/formatters_limited.hpp delete mode 100644 lslboost/boost/date_time/gregorian/greg_facet.hpp delete mode 100644 lslboost/boost/date_time/gregorian/parsers.hpp delete mode 100644 lslboost/boost/date_time/iso_format.hpp delete mode 100644 lslboost/boost/date_time/parse_format_base.hpp delete mode 100644 lslboost/boost/detail/allocator_utilities.hpp delete mode 100644 lslboost/boost/detail/endian.hpp delete mode 100644 lslboost/boost/detail/is_xxx.hpp delete mode 100644 lslboost/boost/detail/iterator.hpp delete mode 100644 lslboost/boost/detail/lightweight_mutex.hpp delete mode 100644 lslboost/boost/detail/sp_typeinfo.hpp delete mode 100644 lslboost/boost/detail/winapi/detail/deprecated_namespace.hpp delete mode 100644 lslboost/boost/detail/winapi/get_current_process.hpp delete mode 100644 lslboost/boost/detail/winapi/get_current_thread.hpp delete mode 100644 lslboost/boost/detail/winapi/get_last_error.hpp delete mode 100644 lslboost/boost/detail/winapi/get_process_times.hpp delete mode 100644 lslboost/boost/detail/winapi/get_thread_times.hpp delete mode 100644 lslboost/boost/detail/winapi/time.hpp delete mode 100644 lslboost/boost/detail/winapi/timers.hpp create mode 100644 lslboost/boost/endian/detail/endian_load.hpp create mode 100644 lslboost/boost/endian/detail/endian_reverse.hpp create mode 100644 lslboost/boost/endian/detail/endian_store.hpp create mode 100644 lslboost/boost/endian/detail/integral_by_size.hpp create mode 100644 lslboost/boost/endian/detail/is_scoped_enum.hpp create mode 100644 lslboost/boost/endian/detail/is_trivially_copyable.hpp create mode 100644 lslboost/boost/endian/detail/order.hpp delete mode 100644 lslboost/boost/foreach_fwd.hpp delete mode 100644 lslboost/boost/functional/hash/hash.hpp create mode 100644 lslboost/boost/fusion/adapted/mpl.hpp create mode 100644 lslboost/boost/fusion/adapted/mpl/detail/at_impl.hpp create mode 100644 lslboost/boost/fusion/adapted/mpl/detail/begin_impl.hpp create mode 100644 lslboost/boost/fusion/adapted/mpl/detail/category_of_impl.hpp create mode 100644 lslboost/boost/fusion/adapted/mpl/detail/empty_impl.hpp create mode 100644 lslboost/boost/fusion/adapted/mpl/detail/end_impl.hpp create mode 100644 lslboost/boost/fusion/adapted/mpl/detail/has_key_impl.hpp create mode 100644 lslboost/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp create mode 100644 lslboost/boost/fusion/adapted/mpl/detail/is_view_impl.hpp create mode 100644 lslboost/boost/fusion/adapted/mpl/detail/size_impl.hpp create mode 100644 lslboost/boost/fusion/adapted/mpl/detail/value_at_impl.hpp create mode 100644 lslboost/boost/fusion/adapted/mpl/mpl_iterator.hpp create mode 100644 lslboost/boost/fusion/algorithm/query/detail/find_if.hpp create mode 100644 lslboost/boost/fusion/algorithm/query/detail/segmented_find.hpp create mode 100644 lslboost/boost/fusion/algorithm/query/find.hpp create mode 100644 lslboost/boost/fusion/algorithm/query/find_fwd.hpp create mode 100644 lslboost/boost/fusion/algorithm/query/find_if_fwd.hpp create mode 100644 lslboost/boost/fusion/algorithm/transformation/erase.hpp create mode 100644 lslboost/boost/fusion/algorithm/transformation/erase_key.hpp create mode 100644 lslboost/boost/fusion/algorithm/transformation/insert.hpp create mode 100644 lslboost/boost/fusion/algorithm/transformation/insert_range.hpp create mode 100644 lslboost/boost/fusion/algorithm/transformation/pop_back.hpp create mode 100644 lslboost/boost/fusion/algorithm/transformation/pop_front.hpp create mode 100644 lslboost/boost/fusion/algorithm/transformation/push_back.hpp create mode 100644 lslboost/boost/fusion/algorithm/transformation/push_front.hpp create mode 100644 lslboost/boost/fusion/container/deque.hpp create mode 100644 lslboost/boost/fusion/container/deque/back_extended_deque.hpp create mode 100644 lslboost/boost/fusion/container/deque/convert.hpp create mode 100644 lslboost/boost/fusion/container/deque/deque.hpp create mode 100644 lslboost/boost/fusion/container/deque/deque_fwd.hpp create mode 100644 lslboost/boost/fusion/container/deque/deque_iterator.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/at_impl.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/begin_impl.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/build_deque.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/convert_impl.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/as_deque.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/build_deque.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/deque.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/deque_fwd.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/deque_initial_size.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/limits.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10_fwd.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20_fwd.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30_fwd.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40_fwd.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50_fwd.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_fwd.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size10.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size20.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size30.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size40.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size50.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/deque_keyed_values.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/end_impl.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/is_sequence_impl.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/keyed_element.hpp create mode 100644 lslboost/boost/fusion/container/deque/detail/value_at_impl.hpp create mode 100644 lslboost/boost/fusion/container/deque/front_extended_deque.hpp create mode 100644 lslboost/boost/fusion/container/list.hpp create mode 100644 lslboost/boost/fusion/container/list/cons.hpp create mode 100644 lslboost/boost/fusion/container/list/cons_fwd.hpp create mode 100644 lslboost/boost/fusion/container/list/cons_iterator.hpp create mode 100644 lslboost/boost/fusion/container/list/convert.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/at_impl.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/begin_impl.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/build_cons.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/convert_impl.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/limits.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/list.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/list_fwd.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list10_fwd.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list20_fwd.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list30_fwd.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list40_fwd.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list50_fwd.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/deref_impl.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/empty_impl.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/end_impl.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/equal_to_impl.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/list_to_cons.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/next_impl.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/reverse_cons.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/value_at_impl.hpp create mode 100644 lslboost/boost/fusion/container/list/detail/value_of_impl.hpp create mode 100644 lslboost/boost/fusion/container/list/list.hpp create mode 100644 lslboost/boost/fusion/container/list/list_fwd.hpp create mode 100644 lslboost/boost/fusion/container/list/nil.hpp create mode 100644 lslboost/boost/fusion/container/map/detail/cpp03/limits.hpp create mode 100644 lslboost/boost/fusion/container/map/detail/cpp03/map_fwd.hpp create mode 100644 lslboost/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp create mode 100644 lslboost/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp create mode 100644 lslboost/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp create mode 100644 lslboost/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp create mode 100644 lslboost/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp create mode 100644 lslboost/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp create mode 100644 lslboost/boost/fusion/container/map/map_fwd.hpp create mode 100644 lslboost/boost/fusion/container/set/detail/cpp03/limits.hpp create mode 100644 lslboost/boost/fusion/container/set/detail/cpp03/preprocessed/set10_fwd.hpp create mode 100644 lslboost/boost/fusion/container/set/detail/cpp03/preprocessed/set20_fwd.hpp create mode 100644 lslboost/boost/fusion/container/set/detail/cpp03/preprocessed/set30_fwd.hpp create mode 100644 lslboost/boost/fusion/container/set/detail/cpp03/preprocessed/set40_fwd.hpp create mode 100644 lslboost/boost/fusion/container/set/detail/cpp03/preprocessed/set50_fwd.hpp create mode 100644 lslboost/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp create mode 100644 lslboost/boost/fusion/container/set/detail/cpp03/set_fwd.hpp create mode 100644 lslboost/boost/fusion/container/set/set_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/advance_impl.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/at_impl.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/begin_impl.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/config.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/limits.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/vector10.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/vector20.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/vector30.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/vector40.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/vector50.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/cpp03/vector_n.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/deref_impl.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/distance_impl.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/end_impl.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/equal_to_impl.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/next_impl.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/prior_impl.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/value_at_impl.hpp create mode 100644 lslboost/boost/fusion/container/vector/detail/value_of_impl.hpp create mode 100644 lslboost/boost/fusion/container/vector/vector_fwd.hpp create mode 100644 lslboost/boost/fusion/container/vector/vector_iterator.hpp create mode 100644 lslboost/boost/fusion/iterator/advance.hpp create mode 100644 lslboost/boost/fusion/iterator/deref.hpp create mode 100644 lslboost/boost/fusion/iterator/deref_data.hpp create mode 100644 lslboost/boost/fusion/iterator/detail/adapt_deref_traits.hpp create mode 100644 lslboost/boost/fusion/iterator/detail/adapt_value_traits.hpp create mode 100644 lslboost/boost/fusion/iterator/detail/advance.hpp create mode 100644 lslboost/boost/fusion/iterator/detail/distance.hpp create mode 100644 lslboost/boost/fusion/iterator/detail/segment_sequence.hpp create mode 100644 lslboost/boost/fusion/iterator/detail/segmented_equal_to.hpp create mode 100644 lslboost/boost/fusion/iterator/detail/segmented_iterator.hpp create mode 100644 lslboost/boost/fusion/iterator/detail/segmented_next_impl.hpp create mode 100644 lslboost/boost/fusion/iterator/distance.hpp create mode 100644 lslboost/boost/fusion/iterator/equal_to.hpp create mode 100644 lslboost/boost/fusion/iterator/iterator_adapter.hpp create mode 100644 lslboost/boost/fusion/iterator/iterator_facade.hpp create mode 100644 lslboost/boost/fusion/iterator/key_of.hpp create mode 100644 lslboost/boost/fusion/iterator/mpl.hpp create mode 100644 lslboost/boost/fusion/iterator/mpl/convert_iterator.hpp create mode 100644 lslboost/boost/fusion/iterator/mpl/fusion_iterator.hpp create mode 100644 lslboost/boost/fusion/iterator/next.hpp create mode 100644 lslboost/boost/fusion/iterator/prior.hpp create mode 100644 lslboost/boost/fusion/iterator/segmented_iterator.hpp create mode 100644 lslboost/boost/fusion/iterator/value_of.hpp create mode 100644 lslboost/boost/fusion/iterator/value_of_data.hpp create mode 100644 lslboost/boost/fusion/mpl.hpp create mode 100644 lslboost/boost/fusion/mpl/at.hpp create mode 100644 lslboost/boost/fusion/mpl/back.hpp create mode 100644 lslboost/boost/fusion/mpl/begin.hpp create mode 100644 lslboost/boost/fusion/mpl/clear.hpp create mode 100644 lslboost/boost/fusion/mpl/detail/clear.hpp create mode 100644 lslboost/boost/fusion/mpl/empty.hpp create mode 100644 lslboost/boost/fusion/mpl/end.hpp create mode 100644 lslboost/boost/fusion/mpl/erase.hpp create mode 100644 lslboost/boost/fusion/mpl/erase_key.hpp create mode 100644 lslboost/boost/fusion/mpl/front.hpp create mode 100644 lslboost/boost/fusion/mpl/has_key.hpp create mode 100644 lslboost/boost/fusion/mpl/insert.hpp create mode 100644 lslboost/boost/fusion/mpl/insert_range.hpp create mode 100644 lslboost/boost/fusion/mpl/pop_back.hpp create mode 100644 lslboost/boost/fusion/mpl/pop_front.hpp create mode 100644 lslboost/boost/fusion/mpl/push_back.hpp create mode 100644 lslboost/boost/fusion/mpl/push_front.hpp create mode 100644 lslboost/boost/fusion/mpl/size.hpp create mode 100644 lslboost/boost/fusion/sequence/convert.hpp create mode 100644 lslboost/boost/fusion/sequence/intrinsic/begin.hpp create mode 100644 lslboost/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp create mode 100644 lslboost/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp create mode 100644 lslboost/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp create mode 100644 lslboost/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp create mode 100644 lslboost/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp create mode 100644 lslboost/boost/fusion/sequence/intrinsic/empty.hpp create mode 100644 lslboost/boost/fusion/sequence/intrinsic/end.hpp create mode 100644 lslboost/boost/fusion/sequence/intrinsic/has_key.hpp create mode 100644 lslboost/boost/fusion/sequence/intrinsic/segments.hpp create mode 100644 lslboost/boost/fusion/sequence/intrinsic/size.hpp create mode 100644 lslboost/boost/fusion/sequence/intrinsic/value_at.hpp create mode 100644 lslboost/boost/fusion/sequence/intrinsic_fwd.hpp create mode 100644 lslboost/boost/fusion/support/category_of.hpp create mode 100644 lslboost/boost/fusion/support/config.hpp create mode 100644 lslboost/boost/fusion/support/detail/access.hpp create mode 100644 lslboost/boost/fusion/support/detail/as_fusion_element.hpp create mode 100644 lslboost/boost/fusion/support/detail/enabler.hpp create mode 100644 lslboost/boost/fusion/support/detail/is_mpl_sequence.hpp create mode 100644 lslboost/boost/fusion/support/detail/is_native_fusion_sequence.hpp create mode 100644 lslboost/boost/fusion/support/detail/mpl_iterator_category.hpp create mode 100644 lslboost/boost/fusion/support/detail/pp_round.hpp create mode 100644 lslboost/boost/fusion/support/detail/segmented_fold_until_impl.hpp create mode 100644 lslboost/boost/fusion/support/is_iterator.hpp create mode 100644 lslboost/boost/fusion/support/is_segmented.hpp create mode 100644 lslboost/boost/fusion/support/is_sequence.hpp create mode 100644 lslboost/boost/fusion/support/is_view.hpp create mode 100644 lslboost/boost/fusion/support/iterator_base.hpp create mode 100644 lslboost/boost/fusion/support/segmented_fold_until.hpp create mode 100644 lslboost/boost/fusion/support/sequence_base.hpp create mode 100644 lslboost/boost/fusion/support/tag_of.hpp create mode 100644 lslboost/boost/fusion/support/tag_of_fwd.hpp create mode 100644 lslboost/boost/fusion/support/void.hpp create mode 100644 lslboost/boost/fusion/view/iterator_range.hpp create mode 100644 lslboost/boost/fusion/view/iterator_range/detail/at_impl.hpp create mode 100644 lslboost/boost/fusion/view/iterator_range/detail/begin_impl.hpp create mode 100644 lslboost/boost/fusion/view/iterator_range/detail/end_impl.hpp create mode 100644 lslboost/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp create mode 100644 lslboost/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp create mode 100644 lslboost/boost/fusion/view/iterator_range/detail/segments_impl.hpp create mode 100644 lslboost/boost/fusion/view/iterator_range/detail/size_impl.hpp create mode 100644 lslboost/boost/fusion/view/iterator_range/detail/value_at_impl.hpp create mode 100644 lslboost/boost/fusion/view/iterator_range/iterator_range.hpp create mode 100644 lslboost/boost/fusion/view/joint_view/detail/begin_impl.hpp create mode 100644 lslboost/boost/fusion/view/joint_view/detail/deref_data_impl.hpp create mode 100644 lslboost/boost/fusion/view/joint_view/detail/deref_impl.hpp create mode 100644 lslboost/boost/fusion/view/joint_view/detail/end_impl.hpp create mode 100644 lslboost/boost/fusion/view/joint_view/detail/key_of_impl.hpp create mode 100644 lslboost/boost/fusion/view/joint_view/detail/next_impl.hpp create mode 100644 lslboost/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp create mode 100644 lslboost/boost/fusion/view/joint_view/detail/value_of_impl.hpp create mode 100644 lslboost/boost/fusion/view/joint_view/joint_view.hpp create mode 100644 lslboost/boost/fusion/view/joint_view/joint_view_fwd.hpp create mode 100644 lslboost/boost/fusion/view/joint_view/joint_view_iterator.hpp create mode 100644 lslboost/boost/fusion/view/single_view/detail/advance_impl.hpp create mode 100644 lslboost/boost/fusion/view/single_view/detail/at_impl.hpp create mode 100644 lslboost/boost/fusion/view/single_view/detail/begin_impl.hpp create mode 100644 lslboost/boost/fusion/view/single_view/detail/deref_impl.hpp create mode 100644 lslboost/boost/fusion/view/single_view/detail/distance_impl.hpp create mode 100644 lslboost/boost/fusion/view/single_view/detail/end_impl.hpp create mode 100644 lslboost/boost/fusion/view/single_view/detail/equal_to_impl.hpp create mode 100644 lslboost/boost/fusion/view/single_view/detail/next_impl.hpp create mode 100644 lslboost/boost/fusion/view/single_view/detail/prior_impl.hpp create mode 100644 lslboost/boost/fusion/view/single_view/detail/size_impl.hpp create mode 100644 lslboost/boost/fusion/view/single_view/detail/value_at_impl.hpp create mode 100644 lslboost/boost/fusion/view/single_view/detail/value_of_impl.hpp create mode 100644 lslboost/boost/fusion/view/single_view/single_view.hpp create mode 100644 lslboost/boost/fusion/view/single_view/single_view_iterator.hpp delete mode 100644 lslboost/boost/intrusive/detail/minimal_less_equal_header.hpp delete mode 100644 lslboost/boost/iterator/minimum_category.hpp delete mode 100644 lslboost/boost/lockfree/detail/allocator_rebind_helper.hpp delete mode 100644 lslboost/boost/move/algo/adaptive_sort.hpp delete mode 100644 lslboost/boost/move/algo/detail/pdqsort.hpp create mode 100644 lslboost/boost/mp11/algorithm.hpp create mode 100644 lslboost/boost/mp11/bind.hpp create mode 100644 lslboost/boost/mp11/detail/config.hpp create mode 100644 lslboost/boost/mp11/detail/mp_append.hpp create mode 100644 lslboost/boost/mp11/detail/mp_copy_if.hpp create mode 100644 lslboost/boost/mp11/detail/mp_count.hpp create mode 100644 lslboost/boost/mp11/detail/mp_fold.hpp create mode 100644 lslboost/boost/mp11/detail/mp_is_list.hpp create mode 100644 lslboost/boost/mp11/detail/mp_list.hpp create mode 100644 lslboost/boost/mp11/detail/mp_map_find.hpp create mode 100644 lslboost/boost/mp11/detail/mp_min_element.hpp create mode 100644 lslboost/boost/mp11/detail/mp_plus.hpp create mode 100644 lslboost/boost/mp11/detail/mp_remove_if.hpp create mode 100644 lslboost/boost/mp11/detail/mp_void.hpp create mode 100644 lslboost/boost/mp11/detail/mp_with_index.hpp create mode 100644 lslboost/boost/mp11/function.hpp create mode 100644 lslboost/boost/mp11/integer_sequence.hpp create mode 100644 lslboost/boost/mp11/integral.hpp create mode 100644 lslboost/boost/mp11/list.hpp create mode 100644 lslboost/boost/mp11/set.hpp create mode 100644 lslboost/boost/mp11/utility.hpp create mode 100644 lslboost/boost/mp11/version.hpp create mode 100644 lslboost/boost/mpl/aux_/back_impl.hpp create mode 100644 lslboost/boost/mpl/aux_/erase_impl.hpp create mode 100644 lslboost/boost/mpl/aux_/erase_key_impl.hpp create mode 100644 lslboost/boost/mpl/aux_/insert_range_impl.hpp create mode 100644 lslboost/boost/mpl/aux_/iter_push_front.hpp create mode 100644 lslboost/boost/mpl/aux_/pop_back_impl.hpp delete mode 100644 lslboost/boost/mpl/aux_/reverse_iter_fold_impl.hpp create mode 100644 lslboost/boost/mpl/back.hpp create mode 100644 lslboost/boost/mpl/count_fwd.hpp create mode 100644 lslboost/boost/mpl/erase.hpp create mode 100644 lslboost/boost/mpl/erase_key.hpp delete mode 100644 lslboost/boost/mpl/inherit_linearly.hpp create mode 100644 lslboost/boost/mpl/insert_range.hpp delete mode 100644 lslboost/boost/mpl/iterator_category.hpp delete mode 100644 lslboost/boost/mpl/min_max.hpp create mode 100644 lslboost/boost/mpl/order_fwd.hpp delete mode 100644 lslboost/boost/mpl/pair_view.hpp create mode 100644 lslboost/boost/mpl/pop_back.hpp delete mode 100644 lslboost/boost/mpl/reverse_iter_fold.hpp delete mode 100644 lslboost/boost/mpl/transform.hpp delete mode 100644 lslboost/boost/multi_index/detail/access_specifier.hpp delete mode 100644 lslboost/boost/multi_index/detail/adl_swap.hpp delete mode 100644 lslboost/boost/multi_index/detail/archive_constructed.hpp delete mode 100644 lslboost/boost/multi_index/detail/auto_space.hpp delete mode 100644 lslboost/boost/multi_index/detail/base_type.hpp delete mode 100644 lslboost/boost/multi_index/detail/bidir_node_iterator.hpp delete mode 100644 lslboost/boost/multi_index/detail/converter.hpp delete mode 100644 lslboost/boost/multi_index/detail/copy_map.hpp delete mode 100644 lslboost/boost/multi_index/detail/do_not_copy_elements_tag.hpp delete mode 100644 lslboost/boost/multi_index/detail/duplicates_iterator.hpp delete mode 100644 lslboost/boost/multi_index/detail/has_tag.hpp delete mode 100644 lslboost/boost/multi_index/detail/header_holder.hpp delete mode 100644 lslboost/boost/multi_index/detail/ignore_wstrict_aliasing.hpp delete mode 100644 lslboost/boost/multi_index/detail/index_base.hpp delete mode 100644 lslboost/boost/multi_index/detail/index_loader.hpp delete mode 100644 lslboost/boost/multi_index/detail/index_matcher.hpp delete mode 100644 lslboost/boost/multi_index/detail/index_node_base.hpp delete mode 100644 lslboost/boost/multi_index/detail/index_saver.hpp delete mode 100644 lslboost/boost/multi_index/detail/invariant_assert.hpp delete mode 100644 lslboost/boost/multi_index/detail/is_index_list.hpp delete mode 100644 lslboost/boost/multi_index/detail/is_transparent.hpp delete mode 100644 lslboost/boost/multi_index/detail/iter_adaptor.hpp delete mode 100644 lslboost/boost/multi_index/detail/modify_key_adaptor.hpp delete mode 100644 lslboost/boost/multi_index/detail/no_duplicate_tags.hpp delete mode 100644 lslboost/boost/multi_index/detail/node_type.hpp delete mode 100644 lslboost/boost/multi_index/detail/ord_index_args.hpp delete mode 100644 lslboost/boost/multi_index/detail/ord_index_impl.hpp delete mode 100644 lslboost/boost/multi_index/detail/ord_index_impl_fwd.hpp delete mode 100644 lslboost/boost/multi_index/detail/ord_index_node.hpp delete mode 100644 lslboost/boost/multi_index/detail/ord_index_ops.hpp delete mode 100644 lslboost/boost/multi_index/detail/promotes_arg.hpp delete mode 100644 lslboost/boost/multi_index/detail/raw_ptr.hpp delete mode 100644 lslboost/boost/multi_index/detail/restore_wstrict_aliasing.hpp delete mode 100644 lslboost/boost/multi_index/detail/safe_mode.hpp delete mode 100644 lslboost/boost/multi_index/detail/scope_guard.hpp delete mode 100644 lslboost/boost/multi_index/detail/seq_index_node.hpp delete mode 100644 lslboost/boost/multi_index/detail/seq_index_ops.hpp delete mode 100644 lslboost/boost/multi_index/detail/serialization_version.hpp delete mode 100644 lslboost/boost/multi_index/detail/uintptr_type.hpp delete mode 100644 lslboost/boost/multi_index/detail/unbounded.hpp delete mode 100644 lslboost/boost/multi_index/detail/value_compare.hpp delete mode 100644 lslboost/boost/multi_index/detail/vartempl_support.hpp delete mode 100644 lslboost/boost/multi_index/identity.hpp delete mode 100644 lslboost/boost/multi_index/identity_fwd.hpp delete mode 100644 lslboost/boost/multi_index/indexed_by.hpp delete mode 100644 lslboost/boost/multi_index/member.hpp delete mode 100644 lslboost/boost/multi_index/ordered_index.hpp delete mode 100644 lslboost/boost/multi_index/ordered_index_fwd.hpp delete mode 100644 lslboost/boost/multi_index/safe_mode_errors.hpp delete mode 100644 lslboost/boost/multi_index/sequenced_index.hpp delete mode 100644 lslboost/boost/multi_index/sequenced_index_fwd.hpp delete mode 100644 lslboost/boost/multi_index/tag.hpp delete mode 100644 lslboost/boost/multi_index_container.hpp delete mode 100644 lslboost/boost/multi_index_container_fwd.hpp delete mode 100644 lslboost/boost/optional/optional_io.hpp create mode 100644 lslboost/boost/parameter/aux_/always_true_predicate.hpp create mode 100644 lslboost/boost/parameter/aux_/augment_predicate.hpp create mode 100644 lslboost/boost/parameter/aux_/has_nested_template_fn.hpp create mode 100644 lslboost/boost/parameter/aux_/is_placeholder.hpp create mode 100644 lslboost/boost/parameter/aux_/is_tagged_argument.hpp create mode 100644 lslboost/boost/parameter/aux_/lambda_tag.hpp delete mode 100644 lslboost/boost/parameter/aux_/overloads.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/as_parameter_requirements.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/deduce_tag.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/deduced_item.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/insert_tagged.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/is_named_argument.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/item.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/make_arg_list.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/make_deduced_items.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/make_items.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/make_parameter_spec_items.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/parameter_requirements.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/predicate.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/satisfies.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/tag_deduced.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/tag_keyword_arg.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/tag_keyword_arg_ref.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/tag_template_keyword_arg.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/tag_type.hpp create mode 100644 lslboost/boost/parameter/aux_/pack/unmatched_argument.hpp create mode 100644 lslboost/boost/parameter/aux_/preprocessor/binary_seq_for_each.hpp create mode 100644 lslboost/boost/parameter/aux_/preprocessor/binary_seq_for_each_inc.hpp create mode 100644 lslboost/boost/parameter/aux_/preprocessor/binary_seq_to_args.hpp create mode 100644 lslboost/boost/parameter/aux_/preprocessor/convert_binary_seq.hpp create mode 100644 lslboost/boost/parameter/aux_/preprocessor/for_each_pred.hpp create mode 100644 lslboost/boost/parameter/aux_/preprocessor/inc_binary_seq.hpp create mode 100644 lslboost/boost/parameter/aux_/preprocessor/no_perfect_forwarding_begin.hpp create mode 100644 lslboost/boost/parameter/aux_/preprocessor/no_perfect_forwarding_end.hpp create mode 100644 lslboost/boost/parameter/aux_/preprocessor/nullptr.hpp create mode 100644 lslboost/boost/parameter/aux_/preprocessor/overloads.hpp create mode 100644 lslboost/boost/parameter/aux_/preprocessor/seq_enum.hpp create mode 100644 lslboost/boost/parameter/aux_/preprocessor/seq_merge.hpp create mode 100644 lslboost/boost/parameter/aux_/tagged_argument_fwd.hpp create mode 100644 lslboost/boost/parameter/aux_/use_default.hpp create mode 100644 lslboost/boost/parameter/aux_/use_default_tag.hpp create mode 100644 lslboost/boost/parameter/deduced.hpp create mode 100644 lslboost/boost/parameter/keyword_fwd.hpp create mode 100644 lslboost/boost/parameter/optional.hpp create mode 100644 lslboost/boost/parameter/required.hpp create mode 100644 lslboost/boost/parameter/template_keyword.hpp create mode 100644 lslboost/boost/parameter/value_type.hpp delete mode 100644 lslboost/boost/pending/integer_log2.hpp create mode 100644 lslboost/boost/predef/architecture/riscv.h delete mode 100644 lslboost/boost/predef/detail/endian_compat.h delete mode 100644 lslboost/boost/predef/os/android.h create mode 100644 lslboost/boost/predef/platform/android.h create mode 100644 lslboost/boost/preprocessor/arithmetic/detail/is_1_number.hpp create mode 100644 lslboost/boost/preprocessor/arithmetic/detail/is_maximum_number.hpp create mode 100644 lslboost/boost/preprocessor/arithmetic/detail/is_minimum_number.hpp create mode 100644 lslboost/boost/preprocessor/arithmetic/detail/maximum_number.hpp create mode 100644 lslboost/boost/preprocessor/arithmetic/limits/dec_1024.hpp create mode 100644 lslboost/boost/preprocessor/arithmetic/limits/dec_256.hpp create mode 100644 lslboost/boost/preprocessor/arithmetic/limits/dec_512.hpp create mode 100644 lslboost/boost/preprocessor/arithmetic/limits/inc_1024.hpp create mode 100644 lslboost/boost/preprocessor/arithmetic/limits/inc_256.hpp create mode 100644 lslboost/boost/preprocessor/arithmetic/limits/inc_512.hpp create mode 100644 lslboost/boost/preprocessor/comparison/equal.hpp create mode 100644 lslboost/boost/preprocessor/comparison/limits/not_equal_1024.hpp create mode 100644 lslboost/boost/preprocessor/comparison/limits/not_equal_256.hpp create mode 100644 lslboost/boost/preprocessor/comparison/limits/not_equal_512.hpp create mode 100644 lslboost/boost/preprocessor/config/limits.hpp create mode 100644 lslboost/boost/preprocessor/control/detail/limits/while_1024.hpp create mode 100644 lslboost/boost/preprocessor/control/detail/limits/while_256.hpp create mode 100644 lslboost/boost/preprocessor/control/detail/limits/while_512.hpp create mode 100644 lslboost/boost/preprocessor/control/limits/while_1024.hpp create mode 100644 lslboost/boost/preprocessor/control/limits/while_256.hpp create mode 100644 lslboost/boost/preprocessor/control/limits/while_512.hpp create mode 100644 lslboost/boost/preprocessor/detail/limits/auto_rec_1024.hpp create mode 100644 lslboost/boost/preprocessor/detail/limits/auto_rec_256.hpp create mode 100644 lslboost/boost/preprocessor/detail/limits/auto_rec_512.hpp delete mode 100644 lslboost/boost/preprocessor/detail/split.hpp create mode 100644 lslboost/boost/preprocessor/facilities/check_empty.hpp create mode 100644 lslboost/boost/preprocessor/facilities/limits/intercept_1024.hpp create mode 100644 lslboost/boost/preprocessor/facilities/limits/intercept_256.hpp create mode 100644 lslboost/boost/preprocessor/facilities/limits/intercept_512.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward1_1024.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward1_256.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward1_512.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward2_1024.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward2_256.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward2_512.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward3_1024.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward3_256.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward3_512.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward4_1024.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward4_256.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward4_512.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward5_1024.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward5_256.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/forward5_512.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse1_1024.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse1_256.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse1_512.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse2_1024.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse2_256.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse2_512.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse3_1024.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse3_256.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse3_512.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse4_1024.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse4_256.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse4_512.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse5_1024.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse5_256.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/iter/limits/reverse5_512.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/limits/local_1024.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/limits/local_256.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/limits/local_512.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/limits/rlocal_1024.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/limits/rlocal_256.hpp create mode 100644 lslboost/boost/preprocessor/iteration/detail/limits/rlocal_512.hpp create mode 100644 lslboost/boost/preprocessor/list/detail/limits/fold_left_1024.hpp create mode 100644 lslboost/boost/preprocessor/list/detail/limits/fold_left_256.hpp create mode 100644 lslboost/boost/preprocessor/list/detail/limits/fold_left_512.hpp create mode 100644 lslboost/boost/preprocessor/list/detail/limits/fold_right_1024.hpp create mode 100644 lslboost/boost/preprocessor/list/detail/limits/fold_right_256.hpp create mode 100644 lslboost/boost/preprocessor/list/detail/limits/fold_right_512.hpp create mode 100644 lslboost/boost/preprocessor/list/limits/fold_left_1024.hpp create mode 100644 lslboost/boost/preprocessor/list/limits/fold_left_256.hpp create mode 100644 lslboost/boost/preprocessor/list/limits/fold_left_512.hpp create mode 100644 lslboost/boost/preprocessor/logical/bitor.hpp create mode 100644 lslboost/boost/preprocessor/logical/limits/bool_1024.hpp create mode 100644 lslboost/boost/preprocessor/logical/limits/bool_256.hpp create mode 100644 lslboost/boost/preprocessor/logical/limits/bool_512.hpp create mode 100644 lslboost/boost/preprocessor/repetition/detail/limits/for_1024.hpp create mode 100644 lslboost/boost/preprocessor/repetition/detail/limits/for_256.hpp create mode 100644 lslboost/boost/preprocessor/repetition/detail/limits/for_512.hpp create mode 100644 lslboost/boost/preprocessor/repetition/limits/for_1024.hpp create mode 100644 lslboost/boost/preprocessor/repetition/limits/for_256.hpp create mode 100644 lslboost/boost/preprocessor/repetition/limits/for_512.hpp create mode 100644 lslboost/boost/preprocessor/repetition/limits/repeat_1024.hpp create mode 100644 lslboost/boost/preprocessor/repetition/limits/repeat_256.hpp create mode 100644 lslboost/boost/preprocessor/repetition/limits/repeat_512.hpp create mode 100644 lslboost/boost/preprocessor/selection/min.hpp create mode 100644 lslboost/boost/preprocessor/seq/detail/limits/split_1024.hpp create mode 100644 lslboost/boost/preprocessor/seq/detail/limits/split_256.hpp create mode 100644 lslboost/boost/preprocessor/seq/detail/limits/split_512.hpp create mode 100644 lslboost/boost/preprocessor/seq/limits/elem_1024.hpp create mode 100644 lslboost/boost/preprocessor/seq/limits/elem_256.hpp create mode 100644 lslboost/boost/preprocessor/seq/limits/elem_512.hpp create mode 100644 lslboost/boost/preprocessor/seq/limits/enum_1024.hpp create mode 100644 lslboost/boost/preprocessor/seq/limits/enum_256.hpp create mode 100644 lslboost/boost/preprocessor/seq/limits/enum_512.hpp create mode 100644 lslboost/boost/preprocessor/seq/limits/fold_left_1024.hpp create mode 100644 lslboost/boost/preprocessor/seq/limits/fold_left_256.hpp create mode 100644 lslboost/boost/preprocessor/seq/limits/fold_left_512.hpp create mode 100644 lslboost/boost/preprocessor/seq/limits/size_1024.hpp create mode 100644 lslboost/boost/preprocessor/seq/limits/size_256.hpp create mode 100644 lslboost/boost/preprocessor/seq/limits/size_512.hpp create mode 100644 lslboost/boost/preprocessor/seq/push_back.hpp create mode 100644 lslboost/boost/preprocessor/seq/push_front.hpp create mode 100644 lslboost/boost/preprocessor/tuple/limits/to_list_128.hpp create mode 100644 lslboost/boost/preprocessor/tuple/limits/to_list_256.hpp create mode 100644 lslboost/boost/preprocessor/tuple/limits/to_list_64.hpp create mode 100644 lslboost/boost/preprocessor/variadic/detail/has_opt.hpp create mode 100644 lslboost/boost/preprocessor/variadic/has_opt.hpp create mode 100644 lslboost/boost/preprocessor/variadic/limits/elem_128.hpp create mode 100644 lslboost/boost/preprocessor/variadic/limits/elem_256.hpp create mode 100644 lslboost/boost/preprocessor/variadic/limits/elem_64.hpp create mode 100644 lslboost/boost/preprocessor/variadic/limits/size_128.hpp create mode 100644 lslboost/boost/preprocessor/variadic/limits/size_256.hpp create mode 100644 lslboost/boost/preprocessor/variadic/limits/size_64.hpp delete mode 100644 lslboost/boost/property_tree/detail/exception_implementation.hpp delete mode 100644 lslboost/boost/property_tree/detail/file_parser_error.hpp delete mode 100644 lslboost/boost/property_tree/detail/ptree_implementation.hpp delete mode 100644 lslboost/boost/property_tree/detail/ptree_utils.hpp delete mode 100644 lslboost/boost/property_tree/exceptions.hpp delete mode 100644 lslboost/boost/property_tree/id_translator.hpp delete mode 100644 lslboost/boost/property_tree/ini_parser.hpp delete mode 100644 lslboost/boost/property_tree/ptree.hpp delete mode 100644 lslboost/boost/property_tree/ptree_fwd.hpp delete mode 100644 lslboost/boost/property_tree/stream_translator.hpp delete mode 100644 lslboost/boost/property_tree/string_path.hpp delete mode 100644 lslboost/boost/random.hpp delete mode 100644 lslboost/boost/random/additive_combine.hpp delete mode 100644 lslboost/boost/random/bernoulli_distribution.hpp delete mode 100644 lslboost/boost/random/beta_distribution.hpp delete mode 100644 lslboost/boost/random/binomial_distribution.hpp delete mode 100644 lslboost/boost/random/cauchy_distribution.hpp delete mode 100644 lslboost/boost/random/chi_squared_distribution.hpp delete mode 100644 lslboost/boost/random/detail/int_float_pair.hpp delete mode 100644 lslboost/boost/random/detail/vector_io.hpp delete mode 100644 lslboost/boost/random/discard_block.hpp delete mode 100644 lslboost/boost/random/discrete_distribution.hpp delete mode 100644 lslboost/boost/random/exponential_distribution.hpp delete mode 100644 lslboost/boost/random/extreme_value_distribution.hpp delete mode 100644 lslboost/boost/random/fisher_f_distribution.hpp delete mode 100644 lslboost/boost/random/gamma_distribution.hpp delete mode 100644 lslboost/boost/random/generate_canonical.hpp delete mode 100644 lslboost/boost/random/geometric_distribution.hpp delete mode 100644 lslboost/boost/random/hyperexponential_distribution.hpp delete mode 100644 lslboost/boost/random/independent_bits.hpp delete mode 100644 lslboost/boost/random/inversive_congruential.hpp delete mode 100644 lslboost/boost/random/lagged_fibonacci.hpp delete mode 100644 lslboost/boost/random/laplace_distribution.hpp delete mode 100644 lslboost/boost/random/linear_congruential.hpp delete mode 100644 lslboost/boost/random/linear_feedback_shift.hpp delete mode 100644 lslboost/boost/random/lognormal_distribution.hpp delete mode 100644 lslboost/boost/random/negative_binomial_distribution.hpp delete mode 100644 lslboost/boost/random/non_central_chi_squared_distribution.hpp delete mode 100644 lslboost/boost/random/normal_distribution.hpp delete mode 100644 lslboost/boost/random/piecewise_constant_distribution.hpp delete mode 100644 lslboost/boost/random/piecewise_linear_distribution.hpp delete mode 100644 lslboost/boost/random/poisson_distribution.hpp delete mode 100644 lslboost/boost/random/random_number_generator.hpp delete mode 100644 lslboost/boost/random/ranlux.hpp delete mode 100644 lslboost/boost/random/seed_seq.hpp delete mode 100644 lslboost/boost/random/shuffle_order.hpp delete mode 100644 lslboost/boost/random/shuffle_output.hpp delete mode 100644 lslboost/boost/random/student_t_distribution.hpp delete mode 100644 lslboost/boost/random/subtract_with_carry.hpp delete mode 100644 lslboost/boost/random/taus88.hpp delete mode 100644 lslboost/boost/random/triangle_distribution.hpp delete mode 100644 lslboost/boost/random/uniform_01.hpp delete mode 100644 lslboost/boost/random/uniform_on_sphere.hpp delete mode 100644 lslboost/boost/random/uniform_real.hpp delete mode 100644 lslboost/boost/random/uniform_real_distribution.hpp delete mode 100644 lslboost/boost/random/uniform_smallint.hpp delete mode 100644 lslboost/boost/random/weibull_distribution.hpp delete mode 100644 lslboost/boost/random/xor_combine.hpp delete mode 100644 lslboost/boost/range/detail/as_literal.hpp delete mode 100644 lslboost/boost/range/detail/begin.hpp delete mode 100644 lslboost/boost/range/detail/detail_str.hpp delete mode 100644 lslboost/boost/range/detail/end.hpp delete mode 100644 lslboost/boost/range/detail/remove_extent.hpp delete mode 100644 lslboost/boost/range/detail/size_type.hpp delete mode 100644 lslboost/boost/range/detail/value_type.hpp create mode 100644 lslboost/boost/regex/v4/indexed_bit_flag.hpp create mode 100644 lslboost/boost/serialization/library_version_type.hpp delete mode 100644 lslboost/boost/shared_array.hpp delete mode 100644 lslboost/boost/smart_ptr.hpp create mode 100644 lslboost/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp delete mode 100644 lslboost/boost/smart_ptr/detail/lwm_nop.hpp create mode 100644 lslboost/boost/smart_ptr/detail/lwm_std_mutex.hpp delete mode 100644 lslboost/boost/smart_ptr/detail/sp_counted_base_clang.hpp create mode 100644 lslboost/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp create mode 100644 lslboost/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp delete mode 100644 lslboost/boost/smart_ptr/detail/sp_has_sync.hpp create mode 100644 lslboost/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp create mode 100644 lslboost/boost/smart_ptr/detail/sp_obsolete.hpp create mode 100644 lslboost/boost/smart_ptr/detail/sp_thread_pause.hpp create mode 100644 lslboost/boost/smart_ptr/detail/sp_thread_sleep.hpp create mode 100644 lslboost/boost/smart_ptr/detail/sp_thread_yield.hpp create mode 100644 lslboost/boost/smart_ptr/detail/sp_typeinfo_.hpp create mode 100644 lslboost/boost/smart_ptr/detail/sp_win32_sleep.hpp create mode 100644 lslboost/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp delete mode 100644 lslboost/boost/smart_ptr/shared_array.hpp create mode 100644 lslboost/boost/system/detail/cerrno.hpp create mode 100644 lslboost/boost/system/detail/enable_if.hpp create mode 100644 lslboost/boost/system/detail/errc.hpp create mode 100644 lslboost/boost/system/detail/error_category.hpp create mode 100644 lslboost/boost/system/detail/error_category_impl.hpp create mode 100644 lslboost/boost/system/detail/error_code.hpp create mode 100644 lslboost/boost/system/detail/error_condition.hpp create mode 100644 lslboost/boost/system/detail/generic_category_message.hpp rename lslboost/boost/system/detail/{system_category_posix.hpp => is_generic_value.hpp} (89%) create mode 100644 lslboost/boost/system/detail/system_category.hpp create mode 100644 lslboost/boost/system/detail/system_category_condition_win32.hpp create mode 100644 lslboost/boost/system/detail/system_category_impl.hpp create mode 100644 lslboost/boost/system/detail/system_category_message_win32.hpp delete mode 100644 lslboost/boost/system/detail/system_category_win32.hpp create mode 100644 lslboost/boost/system/detail/throws.hpp rename lslboost/boost/system/detail/{std_interoperability.hpp => to_std_category.hpp} (53%) create mode 100644 lslboost/boost/system/errc.hpp create mode 100644 lslboost/boost/system/error_category.hpp create mode 100644 lslboost/boost/system/error_condition.hpp create mode 100644 lslboost/boost/system/generic_category.hpp create mode 100644 lslboost/boost/system/is_error_code_enum.hpp create mode 100644 lslboost/boost/system/is_error_condition_enum.hpp create mode 100644 lslboost/boost/system/system_category.hpp create mode 100644 lslboost/boost/thread/interruption.hpp delete mode 100644 lslboost/boost/thread/pthread/recursive_mutex.hpp delete mode 100644 lslboost/boost/thread/recursive_mutex.hpp delete mode 100644 lslboost/boost/thread/win32/basic_recursive_mutex.hpp delete mode 100644 lslboost/boost/thread/win32/recursive_mutex.hpp delete mode 100644 lslboost/boost/token_functions.hpp delete mode 100644 lslboost/boost/token_iterator.hpp delete mode 100644 lslboost/boost/tokenizer.hpp create mode 100644 lslboost/boost/tti/detail/denclosing_type.hpp create mode 100644 lslboost/boost/tti/detail/dmacro_sunfix.hpp delete mode 100644 lslboost/boost/type_traits/detail/has_prefix_operator.hpp create mode 100644 lslboost/boost/type_traits/extent.hpp create mode 100644 lslboost/boost/type_traits/has_nothrow_destructor.hpp delete mode 100644 lslboost/boost/type_traits/has_pre_increment.hpp create mode 100644 lslboost/boost/type_traits/is_bounded_array.hpp create mode 100644 lslboost/boost/type_traits/is_object.hpp create mode 100644 lslboost/boost/type_traits/is_unbounded_array.hpp create mode 100644 lslboost/boost/type_traits/same_traits.hpp delete mode 100644 lslboost/boost/uuid/basic_name_generator.hpp delete mode 100644 lslboost/boost/uuid/detail/sha1.hpp delete mode 100644 lslboost/boost/uuid/name_generator.hpp delete mode 100644 lslboost/boost/uuid/name_generator_sha1.hpp delete mode 100644 lslboost/boost/uuid/nil_generator.hpp delete mode 100644 lslboost/boost/uuid/string_generator.hpp delete mode 100644 lslboost/boost/uuid/uuid_generators.hpp create mode 100644 lslboost/boost/winapi/condition_variable.hpp create mode 100644 lslboost/boost/winapi/critical_section.hpp create mode 100644 lslboost/boost/winapi/detail/cast_ptr.hpp create mode 100644 lslboost/boost/winapi/detail/footer.hpp create mode 100644 lslboost/boost/winapi/detail/header.hpp create mode 100644 lslboost/boost/winapi/get_proc_address.hpp create mode 100644 lslboost/boost/winapi/srw_lock.hpp create mode 100644 lslboost/boost/winapi/wait_constants.hpp create mode 100644 lslboost/boost/winapi/wait_on_address.hpp create mode 100644 lslboost/libs/atomic/config/Jamfile.v2 create mode 100644 lslboost/libs/atomic/config/has_sse2.cpp create mode 100644 lslboost/libs/atomic/config/has_sse41.cpp create mode 100644 lslboost/libs/atomic/config/has_synchronization.cpp create mode 100644 lslboost/libs/atomic/src/bit_operation_tools.hpp create mode 100644 lslboost/libs/atomic/src/cpuid.hpp create mode 100644 lslboost/libs/atomic/src/find_address.hpp create mode 100644 lslboost/libs/atomic/src/find_address_sse2.cpp create mode 100644 lslboost/libs/atomic/src/find_address_sse41.cpp create mode 100644 lslboost/libs/atomic/src/lock_pool.cpp create mode 100644 lslboost/libs/atomic/src/lock_pool_init1.ipp create mode 100644 lslboost/libs/atomic/src/lock_pool_init256.ipp delete mode 100644 lslboost/libs/atomic/src/lockpool.cpp create mode 100644 lslboost/libs/atomic/src/wait_ops_windows.cpp create mode 100644 lslboost/libs/atomic/src/x86_vector_tools.hpp delete mode 100644 lslboost/libs/date_time/src/date_time.doc delete mode 100644 lslboost/libs/date_time/src/gregorian/date_generators.cpp delete mode 100644 lslboost/libs/date_time/src/gregorian/greg_month.cpp delete mode 100644 lslboost/libs/date_time/src/gregorian/greg_names.hpp delete mode 100644 lslboost/libs/date_time/src/gregorian/greg_weekday.cpp delete mode 100644 lslboost/libs/date_time/src/gregorian/gregorian_types.cpp delete mode 100644 lslboost/libs/date_time/src/posix_time/posix_time_types.cpp diff --git a/lslboost/boost/algorithm/string.hpp b/lslboost/boost/algorithm/string.hpp deleted file mode 100644 index 077151739..000000000 --- a/lslboost/boost/algorithm/string.hpp +++ /dev/null @@ -1,31 +0,0 @@ -// Boost string_algo library string_algo.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2004. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_ALGO_HPP -#define BOOST_STRING_ALGO_HPP - -/*! \file - Cumulative include for string_algo library -*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#endif // BOOST_STRING_ALGO_HPP diff --git a/lslboost/boost/algorithm/string/case_conv.hpp b/lslboost/boost/algorithm/string/case_conv.hpp deleted file mode 100644 index a0de292a7..000000000 --- a/lslboost/boost/algorithm/string/case_conv.hpp +++ /dev/null @@ -1,176 +0,0 @@ -// Boost string_algo library case_conv.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_CASE_CONV_HPP -#define BOOST_STRING_CASE_CONV_HPP - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include - -/*! \file - Defines sequence case-conversion algorithms. - Algorithms convert each element in the input sequence to the - desired case using provided locales. -*/ - -namespace lslboost { - namespace algorithm { - -// to_lower -----------------------------------------------// - - //! Convert to lower case - /*! - Each element of the input sequence is converted to lower - case. The result is a copy of the input converted to lower case. - It is returned as a sequence or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input range - \param Loc A locale used for conversion - \return - An output iterator pointing just after the last inserted character or - a copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - - */ - template - inline OutputIteratorT - to_lower_copy( - OutputIteratorT Output, - const RangeT& Input, - const std::locale& Loc=std::locale()) - { - return ::lslboost::algorithm::detail::transform_range_copy( - Output, - ::lslboost::as_literal(Input), - ::lslboost::algorithm::detail::to_lowerF< - typename range_value::type >(Loc)); - } - - //! Convert to lower case - /*! - \overload - */ - template - inline SequenceT to_lower_copy( - const SequenceT& Input, - const std::locale& Loc=std::locale()) - { - return ::lslboost::algorithm::detail::transform_range_copy( - Input, - ::lslboost::algorithm::detail::to_lowerF< - typename range_value::type >(Loc)); - } - - //! Convert to lower case - /*! - Each element of the input sequence is converted to lower - case. The input sequence is modified in-place. - - \param Input A range - \param Loc a locale used for conversion - */ - template - inline void to_lower( - WritableRangeT& Input, - const std::locale& Loc=std::locale()) - { - ::lslboost::algorithm::detail::transform_range( - ::lslboost::as_literal(Input), - ::lslboost::algorithm::detail::to_lowerF< - typename range_value::type >(Loc)); - } - -// to_upper -----------------------------------------------// - - //! Convert to upper case - /*! - Each element of the input sequence is converted to upper - case. The result is a copy of the input converted to upper case. - It is returned as a sequence or copied to the output iterator - - \param Output An output iterator to which the result will be copied - \param Input An input range - \param Loc A locale used for conversion - \return - An output iterator pointing just after the last inserted character or - a copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template - inline OutputIteratorT - to_upper_copy( - OutputIteratorT Output, - const RangeT& Input, - const std::locale& Loc=std::locale()) - { - return ::lslboost::algorithm::detail::transform_range_copy( - Output, - ::lslboost::as_literal(Input), - ::lslboost::algorithm::detail::to_upperF< - typename range_value::type >(Loc)); - } - - //! Convert to upper case - /*! - \overload - */ - template - inline SequenceT to_upper_copy( - const SequenceT& Input, - const std::locale& Loc=std::locale()) - { - return ::lslboost::algorithm::detail::transform_range_copy( - Input, - ::lslboost::algorithm::detail::to_upperF< - typename range_value::type >(Loc)); - } - - //! Convert to upper case - /*! - Each element of the input sequence is converted to upper - case. The input sequence is modified in-place. - - \param Input An input range - \param Loc a locale used for conversion - */ - template - inline void to_upper( - WritableRangeT& Input, - const std::locale& Loc=std::locale()) - { - ::lslboost::algorithm::detail::transform_range( - ::lslboost::as_literal(Input), - ::lslboost::algorithm::detail::to_upperF< - typename range_value::type >(Loc)); - } - - } // namespace algorithm - - // pull names to the boost namespace - using algorithm::to_lower; - using algorithm::to_lower_copy; - using algorithm::to_upper; - using algorithm::to_upper_copy; - -} // namespace lslboost - -#endif // BOOST_STRING_CASE_CONV_HPP diff --git a/lslboost/boost/algorithm/string/compare.hpp b/lslboost/boost/algorithm/string/compare.hpp index e37c17b5d..91cdd6ce5 100644 --- a/lslboost/boost/algorithm/string/compare.hpp +++ b/lslboost/boost/algorithm/string/compare.hpp @@ -65,7 +65,7 @@ namespace lslboost { template< typename T1, typename T2 > bool operator()( const T1& Arg1, const T2& Arg2 ) const { - #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL) + #if defined(BOOST_BORLANDC) && (BOOST_BORLANDC >= 0x560) && (BOOST_BORLANDC <= 0x564) && !defined(_USE_OLD_RW_STL) return std::toupper(Arg1)==std::toupper(Arg2); #else return std::toupper(Arg1,m_Loc)==std::toupper(Arg2,m_Loc); @@ -118,7 +118,7 @@ namespace lslboost { template< typename T1, typename T2 > bool operator()( const T1& Arg1, const T2& Arg2 ) const { - #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL) + #if defined(BOOST_BORLANDC) && (BOOST_BORLANDC >= 0x560) && (BOOST_BORLANDC <= 0x564) && !defined(_USE_OLD_RW_STL) return std::toupper(Arg1)(Arg1,m_Loc)(Arg2,m_Loc); @@ -171,7 +171,7 @@ namespace lslboost { template< typename T1, typename T2 > bool operator()( const T1& Arg1, const T2& Arg2 ) const { - #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL) + #if defined(BOOST_BORLANDC) && (BOOST_BORLANDC >= 0x560) && (BOOST_BORLANDC <= 0x564) && !defined(_USE_OLD_RW_STL) return std::toupper(Arg1)<=std::toupper(Arg2); #else return std::toupper(Arg1,m_Loc)<=std::toupper(Arg2,m_Loc); diff --git a/lslboost/boost/algorithm/string/detail/case_conv.hpp b/lslboost/boost/algorithm/string/detail/case_conv.hpp deleted file mode 100644 index 9f029ceed..000000000 --- a/lslboost/boost/algorithm/string/detail/case_conv.hpp +++ /dev/null @@ -1,127 +0,0 @@ -// Boost string_algo library string_funct.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_CASE_CONV_DETAIL_HPP -#define BOOST_STRING_CASE_CONV_DETAIL_HPP - -#include -#include -#include - -#include - -namespace lslboost { - namespace algorithm { - namespace detail { - -// case conversion functors -----------------------------------------------// - -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) -#pragma warning(push) -#pragma warning(disable:4512) //assignment operator could not be generated -#endif - - // a tolower functor - template - struct to_lowerF - { - typedef CharT argument_type; - typedef CharT result_type; - // Constructor - to_lowerF( const std::locale& Loc ) : m_Loc( &Loc ) {} - - // Operation - CharT operator ()( CharT Ch ) const - { - #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL) - return std::tolower( static_cast::type> ( Ch )); - #else - return std::tolower( Ch, *m_Loc ); - #endif - } - private: - const std::locale* m_Loc; - }; - - // a toupper functor - template - struct to_upperF - { - typedef CharT argument_type; - typedef CharT result_type; - // Constructor - to_upperF( const std::locale& Loc ) : m_Loc( &Loc ) {} - - // Operation - CharT operator ()( CharT Ch ) const - { - #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL) - return std::toupper( static_cast::type> ( Ch )); - #else - return std::toupper( Ch, *m_Loc ); - #endif - } - private: - const std::locale* m_Loc; - }; - -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) -#pragma warning(pop) -#endif - -// algorithm implementation ------------------------------------------------------------------------- - - // Transform a range - template - OutputIteratorT transform_range_copy( - OutputIteratorT Output, - const RangeT& Input, - FunctorT Functor) - { - return std::transform( - ::lslboost::begin(Input), - ::lslboost::end(Input), - Output, - Functor); - } - - // Transform a range (in-place) - template - void transform_range( - const RangeT& Input, - FunctorT Functor) - { - std::transform( - ::lslboost::begin(Input), - ::lslboost::end(Input), - ::lslboost::begin(Input), - Functor); - } - - template - inline SequenceT transform_range_copy( - const RangeT& Input, - FunctorT Functor) - { - return SequenceT( - ::lslboost::make_transform_iterator( - ::lslboost::begin(Input), - Functor), - ::lslboost::make_transform_iterator( - ::lslboost::end(Input), - Functor)); - } - - } // namespace detail - } // namespace algorithm -} // namespace lslboost - - -#endif // BOOST_STRING_CASE_CONV_DETAIL_HPP diff --git a/lslboost/boost/algorithm/string/detail/classification.hpp b/lslboost/boost/algorithm/string/detail/classification.hpp index e1ded11f0..079d47087 100644 --- a/lslboost/boost/algorithm/string/detail/classification.hpp +++ b/lslboost/boost/algorithm/string/detail/classification.hpp @@ -45,7 +45,7 @@ namespace lslboost { return std::use_facet< std::ctype >(m_Locale).is( m_Type, Ch ); } - #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x582) && !defined(_USE_OLD_RW_STL) + #if defined(BOOST_BORLANDC) && (BOOST_BORLANDC >= 0x560) && (BOOST_BORLANDC <= 0x582) && !defined(_USE_OLD_RW_STL) template<> bool operator()( char const Ch ) const { diff --git a/lslboost/boost/algorithm/string/detail/find_format.hpp b/lslboost/boost/algorithm/string/detail/find_format.hpp deleted file mode 100644 index 734a1781f..000000000 --- a/lslboost/boost/algorithm/string/detail/find_format.hpp +++ /dev/null @@ -1,204 +0,0 @@ -// Boost string_algo library find_format.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FIND_FORMAT_DETAIL_HPP -#define BOOST_STRING_FIND_FORMAT_DETAIL_HPP - -#include -#include -#include -#include -#include -#include - -namespace lslboost { - namespace algorithm { - namespace detail { - -// find_format_copy (iterator variant) implementation -------------------------------// - - template< - typename OutputIteratorT, - typename InputT, - typename FormatterT, - typename FindResultT, - typename FormatResultT > - inline OutputIteratorT find_format_copy_impl2( - OutputIteratorT Output, - const InputT& Input, - FormatterT Formatter, - const FindResultT& FindResult, - const FormatResultT& FormatResult ) - { - typedef find_format_store< - BOOST_STRING_TYPENAME - range_const_iterator::type, - FormatterT, - FormatResultT > store_type; - - // Create store for the find result - store_type M( FindResult, FormatResult, Formatter ); - - if ( !M ) - { - // Match not found - return original sequence - Output = std::copy( ::lslboost::begin(Input), ::lslboost::end(Input), Output ); - return Output; - } - - // Copy the beginning of the sequence - Output = std::copy( ::lslboost::begin(Input), ::lslboost::begin(M), Output ); - // Format find result - // Copy formatted result - Output = std::copy( ::lslboost::begin(M.format_result()), ::lslboost::end(M.format_result()), Output ); - // Copy the rest of the sequence - Output = std::copy( M.end(), ::lslboost::end(Input), Output ); - - return Output; - } - - template< - typename OutputIteratorT, - typename InputT, - typename FormatterT, - typename FindResultT > - inline OutputIteratorT find_format_copy_impl( - OutputIteratorT Output, - const InputT& Input, - FormatterT Formatter, - const FindResultT& FindResult ) - { - if( ::lslboost::algorithm::detail::check_find_result(Input, FindResult) ) { - return ::lslboost::algorithm::detail::find_format_copy_impl2( - Output, - Input, - Formatter, - FindResult, - Formatter(FindResult) ); - } else { - return std::copy( ::lslboost::begin(Input), ::lslboost::end(Input), Output ); - } - } - - -// find_format_copy implementation --------------------------------------------------// - - template< - typename InputT, - typename FormatterT, - typename FindResultT, - typename FormatResultT > - inline InputT find_format_copy_impl2( - const InputT& Input, - FormatterT Formatter, - const FindResultT& FindResult, - const FormatResultT& FormatResult) - { - typedef find_format_store< - BOOST_STRING_TYPENAME - range_const_iterator::type, - FormatterT, - FormatResultT > store_type; - - // Create store for the find result - store_type M( FindResult, FormatResult, Formatter ); - - if ( !M ) - { - // Match not found - return original sequence - return InputT( Input ); - } - - InputT Output; - // Copy the beginning of the sequence - lslboost::algorithm::detail::insert( Output, ::lslboost::end(Output), ::lslboost::begin(Input), M.begin() ); - // Copy formatted result - lslboost::algorithm::detail::insert( Output, ::lslboost::end(Output), M.format_result() ); - // Copy the rest of the sequence - lslboost::algorithm::detail::insert( Output, ::lslboost::end(Output), M.end(), ::lslboost::end(Input) ); - - return Output; - } - - template< - typename InputT, - typename FormatterT, - typename FindResultT > - inline InputT find_format_copy_impl( - const InputT& Input, - FormatterT Formatter, - const FindResultT& FindResult) - { - if( ::lslboost::algorithm::detail::check_find_result(Input, FindResult) ) { - return ::lslboost::algorithm::detail::find_format_copy_impl2( - Input, - Formatter, - FindResult, - Formatter(FindResult) ); - } else { - return Input; - } - } - - // replace implementation ----------------------------------------------------// - - template< - typename InputT, - typename FormatterT, - typename FindResultT, - typename FormatResultT > - inline void find_format_impl2( - InputT& Input, - FormatterT Formatter, - const FindResultT& FindResult, - const FormatResultT& FormatResult) - { - typedef find_format_store< - BOOST_STRING_TYPENAME - range_iterator::type, - FormatterT, - FormatResultT > store_type; - - // Create store for the find result - store_type M( FindResult, FormatResult, Formatter ); - - if ( !M ) - { - // Search not found - return original sequence - return; - } - - // Replace match - ::lslboost::algorithm::detail::replace( Input, M.begin(), M.end(), M.format_result() ); - } - - template< - typename InputT, - typename FormatterT, - typename FindResultT > - inline void find_format_impl( - InputT& Input, - FormatterT Formatter, - const FindResultT& FindResult) - { - if( ::lslboost::algorithm::detail::check_find_result(Input, FindResult) ) { - ::lslboost::algorithm::detail::find_format_impl2( - Input, - Formatter, - FindResult, - Formatter(FindResult) ); - } - } - - } // namespace detail - } // namespace algorithm -} // namespace lslboost - -#endif // BOOST_STRING_FIND_FORMAT_DETAIL_HPP diff --git a/lslboost/boost/algorithm/string/detail/find_format_all.hpp b/lslboost/boost/algorithm/string/detail/find_format_all.hpp deleted file mode 100644 index bd81f6aca..000000000 --- a/lslboost/boost/algorithm/string/detail/find_format_all.hpp +++ /dev/null @@ -1,273 +0,0 @@ -// Boost string_algo library find_format_all.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP -#define BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP - -#include -#include -#include -#include -#include -#include - -namespace lslboost { - namespace algorithm { - namespace detail { - -// find_format_all_copy (iterator variant) implementation ---------------------------// - - template< - typename OutputIteratorT, - typename InputT, - typename FinderT, - typename FormatterT, - typename FindResultT, - typename FormatResultT > - inline OutputIteratorT find_format_all_copy_impl2( - OutputIteratorT Output, - const InputT& Input, - FinderT Finder, - FormatterT Formatter, - const FindResultT& FindResult, - const FormatResultT& FormatResult ) - { - typedef BOOST_STRING_TYPENAME - range_const_iterator::type input_iterator_type; - - typedef find_format_store< - input_iterator_type, - FormatterT, - FormatResultT > store_type; - - // Create store for the find result - store_type M( FindResult, FormatResult, Formatter ); - - // Initialize last match - input_iterator_type LastMatch=::lslboost::begin(Input); - - // Iterate through all matches - while( M ) - { - // Copy the beginning of the sequence - Output = std::copy( LastMatch, M.begin(), Output ); - // Copy formatted result - Output = std::copy( ::lslboost::begin(M.format_result()), ::lslboost::end(M.format_result()), Output ); - - // Proceed to the next match - LastMatch=M.end(); - M=Finder( LastMatch, ::lslboost::end(Input) ); - } - - // Copy the rest of the sequence - Output = std::copy( LastMatch, ::lslboost::end(Input), Output ); - - return Output; - } - - template< - typename OutputIteratorT, - typename InputT, - typename FinderT, - typename FormatterT, - typename FindResultT > - inline OutputIteratorT find_format_all_copy_impl( - OutputIteratorT Output, - const InputT& Input, - FinderT Finder, - FormatterT Formatter, - const FindResultT& FindResult ) - { - if( ::lslboost::algorithm::detail::check_find_result(Input, FindResult) ) { - return ::lslboost::algorithm::detail::find_format_all_copy_impl2( - Output, - Input, - Finder, - Formatter, - FindResult, - Formatter(FindResult) ); - } else { - return std::copy( ::lslboost::begin(Input), ::lslboost::end(Input), Output ); - } - } - - // find_format_all_copy implementation ----------------------------------------------// - - template< - typename InputT, - typename FinderT, - typename FormatterT, - typename FindResultT, - typename FormatResultT > - inline InputT find_format_all_copy_impl2( - const InputT& Input, - FinderT Finder, - FormatterT Formatter, - const FindResultT& FindResult, - const FormatResultT& FormatResult) - { - typedef BOOST_STRING_TYPENAME - range_const_iterator::type input_iterator_type; - - typedef find_format_store< - input_iterator_type, - FormatterT, - FormatResultT > store_type; - - // Create store for the find result - store_type M( FindResult, FormatResult, Formatter ); - - // Initialize last match - input_iterator_type LastMatch=::lslboost::begin(Input); - - // Output temporary - InputT Output; - - // Iterate through all matches - while( M ) - { - // Copy the beginning of the sequence - lslboost::algorithm::detail::insert( Output, ::lslboost::end(Output), LastMatch, M.begin() ); - // Copy formatted result - lslboost::algorithm::detail::insert( Output, ::lslboost::end(Output), M.format_result() ); - - // Proceed to the next match - LastMatch=M.end(); - M=Finder( LastMatch, ::lslboost::end(Input) ); - } - - // Copy the rest of the sequence - ::lslboost::algorithm::detail::insert( Output, ::lslboost::end(Output), LastMatch, ::lslboost::end(Input) ); - - return Output; - } - - template< - typename InputT, - typename FinderT, - typename FormatterT, - typename FindResultT > - inline InputT find_format_all_copy_impl( - const InputT& Input, - FinderT Finder, - FormatterT Formatter, - const FindResultT& FindResult) - { - if( ::lslboost::algorithm::detail::check_find_result(Input, FindResult) ) { - return ::lslboost::algorithm::detail::find_format_all_copy_impl2( - Input, - Finder, - Formatter, - FindResult, - Formatter(FindResult) ); - } else { - return Input; - } - } - - // find_format_all implementation ------------------------------------------------// - - template< - typename InputT, - typename FinderT, - typename FormatterT, - typename FindResultT, - typename FormatResultT > - inline void find_format_all_impl2( - InputT& Input, - FinderT Finder, - FormatterT Formatter, - FindResultT FindResult, - FormatResultT FormatResult) - { - typedef BOOST_STRING_TYPENAME - range_iterator::type input_iterator_type; - typedef find_format_store< - input_iterator_type, - FormatterT, - FormatResultT > store_type; - - // Create store for the find result - store_type M( FindResult, FormatResult, Formatter ); - - // Instantiate replacement storage - std::deque< - BOOST_STRING_TYPENAME range_value::type> Storage; - - // Initialize replacement iterators - input_iterator_type InsertIt=::lslboost::begin(Input); - input_iterator_type SearchIt=::lslboost::begin(Input); - - while( M ) - { - // process the segment - InsertIt=process_segment( - Storage, - Input, - InsertIt, - SearchIt, - M.begin() ); - - // Adjust search iterator - SearchIt=M.end(); - - // Copy formatted replace to the storage - ::lslboost::algorithm::detail::copy_to_storage( Storage, M.format_result() ); - - // Find range for a next match - M=Finder( SearchIt, ::lslboost::end(Input) ); - } - - // process the last segment - InsertIt=::lslboost::algorithm::detail::process_segment( - Storage, - Input, - InsertIt, - SearchIt, - ::lslboost::end(Input) ); - - if ( Storage.empty() ) - { - // Truncate input - ::lslboost::algorithm::detail::erase( Input, InsertIt, ::lslboost::end(Input) ); - } - else - { - // Copy remaining data to the end of input - ::lslboost::algorithm::detail::insert( Input, ::lslboost::end(Input), Storage.begin(), Storage.end() ); - } - } - - template< - typename InputT, - typename FinderT, - typename FormatterT, - typename FindResultT > - inline void find_format_all_impl( - InputT& Input, - FinderT Finder, - FormatterT Formatter, - FindResultT FindResult) - { - if( ::lslboost::algorithm::detail::check_find_result(Input, FindResult) ) { - ::lslboost::algorithm::detail::find_format_all_impl2( - Input, - Finder, - Formatter, - FindResult, - Formatter(FindResult) ); - } - } - - } // namespace detail - } // namespace algorithm -} // namespace lslboost - -#endif // BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP diff --git a/lslboost/boost/algorithm/string/detail/find_format_store.hpp b/lslboost/boost/algorithm/string/detail/find_format_store.hpp deleted file mode 100644 index 2f332d1a6..000000000 --- a/lslboost/boost/algorithm/string/detail/find_format_store.hpp +++ /dev/null @@ -1,89 +0,0 @@ -// Boost string_algo library find_format_store.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP -#define BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP - -#include -#include - -namespace lslboost { - namespace algorithm { - namespace detail { - -// temporary format and find result storage --------------------------------// - -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) -#pragma warning(push) -#pragma warning(disable:4512) //assignment operator could not be generated -#endif - template< - typename ForwardIteratorT, - typename FormatterT, - typename FormatResultT > - class find_format_store : - public iterator_range - { - public: - // typedefs - typedef iterator_range base_type; - typedef FormatterT formatter_type; - typedef FormatResultT format_result_type; - - public: - // Construction - find_format_store( - const base_type& FindResult, - const format_result_type& FormatResult, - const formatter_type& Formatter ) : - base_type(FindResult), - m_FormatResult(FormatResult), - m_Formatter(Formatter) {} - - // Assignment - template< typename FindResultT > - find_format_store& operator=( FindResultT FindResult ) - { - iterator_range::operator=(FindResult); - if( !this->empty() ) { - m_FormatResult=m_Formatter(FindResult); - } - - return *this; - } - - // Retrieve format result - const format_result_type& format_result() - { - return m_FormatResult; - } - - private: - format_result_type m_FormatResult; - const formatter_type& m_Formatter; - }; - - template - bool check_find_result(InputT&, FindResultT& FindResult) - { - typedef BOOST_STRING_TYPENAME - range_const_iterator::type input_iterator_type; - iterator_range ResultRange(FindResult); - return !ResultRange.empty(); - } - -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) -#pragma warning(pop) -#endif - } // namespace detail - } // namespace algorithm -} // namespace lslboost - -#endif // BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP diff --git a/lslboost/boost/algorithm/string/detail/finder.hpp b/lslboost/boost/algorithm/string/detail/finder.hpp index 4834983cd..684054b48 100644 --- a/lslboost/boost/algorithm/string/detail/finder.hpp +++ b/lslboost/boost/algorithm/string/detail/finder.hpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include @@ -127,8 +127,8 @@ namespace lslboost { if( lslboost::empty(m_Search) ) return result_type( End, End ); - typedef BOOST_STRING_TYPENAME lslboost::detail:: - iterator_traits::iterator_category category; + typedef BOOST_STRING_TYPENAME + std::iterator_traits::iterator_category category; return findit( Begin, End, category() ); } @@ -344,9 +344,8 @@ namespace lslboost { typedef iterator_range result_type; input_iterator_type It=Begin; - for( - unsigned int Index=0; - Index::iterator_category category; + typedef BOOST_STRING_TYPENAME + std::iterator_traits::iterator_category category; return ::lslboost::algorithm::detail::find_head_impl( Begin, End, N, category() ); } @@ -397,10 +396,12 @@ namespace lslboost { input_iterator_type It2=Begin; // Advance It2 by N increments - for( Index=0; Index result_type; input_iterator_type It=End; - for( - unsigned int Index=0; - Index::iterator_category category; + typedef BOOST_STRING_TYPENAME + std::iterator_traits::iterator_category category; return ::lslboost::algorithm::detail::find_tail_impl( Begin, End, N, category() ); } diff --git a/lslboost/boost/algorithm/string/detail/formatter.hpp b/lslboost/boost/algorithm/string/detail/formatter.hpp deleted file mode 100644 index 8d9411c9b..000000000 --- a/lslboost/boost/algorithm/string/detail/formatter.hpp +++ /dev/null @@ -1,119 +0,0 @@ -// Boost string_algo library formatter.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FORMATTER_DETAIL_HPP -#define BOOST_STRING_FORMATTER_DETAIL_HPP - - -#include -#include -#include -#include - -#include - -// generic replace functors -----------------------------------------------// - -namespace lslboost { - namespace algorithm { - namespace detail { - -// const format functor ----------------------------------------------------// - - // constant format functor - template - struct const_formatF - { - private: - typedef BOOST_STRING_TYPENAME - range_const_iterator::type format_iterator; - typedef iterator_range result_type; - - public: - // Construction - const_formatF(const RangeT& Format) : - m_Format(::lslboost::begin(Format), ::lslboost::end(Format)) {} - - // Operation -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - template - result_type& operator()(const Range2T&) - { - return m_Format; - } -#endif - - template - const result_type& operator()(const Range2T&) const - { - return m_Format; - } - - private: - result_type m_Format; - }; - -// identity format functor ----------------------------------------------------// - - // identity format functor - template - struct identity_formatF - { - // Operation - template< typename Range2T > - const RangeT& operator()(const Range2T& Replace) const - { - return RangeT(::lslboost::begin(Replace), ::lslboost::end(Replace)); - } - }; - -// empty format functor ( used by erase ) ------------------------------------// - - // empty format functor - template< typename CharT > - struct empty_formatF - { - template< typename ReplaceT > - empty_container operator()(const ReplaceT&) const - { - return empty_container(); - } - }; - -// dissect format functor ----------------------------------------------------// - - // dissect format functor - template - struct dissect_formatF - { - public: - // Construction - dissect_formatF(FinderT Finder) : - m_Finder(Finder) {} - - // Operation - template - inline iterator_range< - BOOST_STRING_TYPENAME range_const_iterator::type> - operator()(const RangeT& Replace) const - { - return m_Finder(::lslboost::begin(Replace), ::lslboost::end(Replace)); - } - - private: - FinderT m_Finder; - }; - - - } // namespace detail - } // namespace algorithm -} // namespace lslboost - -#endif // BOOST_STRING_FORMATTER_DETAIL_HPP diff --git a/lslboost/boost/algorithm/string/detail/predicate.hpp b/lslboost/boost/algorithm/string/detail/predicate.hpp deleted file mode 100644 index 4fe89bd27..000000000 --- a/lslboost/boost/algorithm/string/detail/predicate.hpp +++ /dev/null @@ -1,77 +0,0 @@ -// Boost string_algo library predicate.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_PREDICATE_DETAIL_HPP -#define BOOST_STRING_PREDICATE_DETAIL_HPP - -#include -#include - -namespace lslboost { - namespace algorithm { - namespace detail { - -// ends_with predicate implementation ----------------------------------// - - template< - typename ForwardIterator1T, - typename ForwardIterator2T, - typename PredicateT> - inline bool ends_with_iter_select( - ForwardIterator1T Begin, - ForwardIterator1T End, - ForwardIterator2T SubBegin, - ForwardIterator2T SubEnd, - PredicateT Comp, - std::bidirectional_iterator_tag) - { - ForwardIterator1T it=End; - ForwardIterator2T pit=SubEnd; - for(;it!=Begin && pit!=SubBegin;) - { - if( !(Comp(*(--it),*(--pit))) ) - return false; - } - - return pit==SubBegin; - } - - template< - typename ForwardIterator1T, - typename ForwardIterator2T, - typename PredicateT> - inline bool ends_with_iter_select( - ForwardIterator1T Begin, - ForwardIterator1T End, - ForwardIterator2T SubBegin, - ForwardIterator2T SubEnd, - PredicateT Comp, - std::forward_iterator_tag) - { - if ( SubBegin==SubEnd ) - { - // empty subsequence check - return true; - } - - iterator_range Result - =last_finder( - ::lslboost::make_iterator_range(SubBegin, SubEnd), - Comp)(Begin, End); - - return !Result.empty() && Result.end()==End; - } - - } // namespace detail - } // namespace algorithm -} // namespace lslboost - - -#endif // BOOST_STRING_PREDICATE_DETAIL_HPP diff --git a/lslboost/boost/algorithm/string/detail/replace_storage.hpp b/lslboost/boost/algorithm/string/detail/replace_storage.hpp deleted file mode 100644 index d695deec9..000000000 --- a/lslboost/boost/algorithm/string/detail/replace_storage.hpp +++ /dev/null @@ -1,159 +0,0 @@ -// Boost string_algo library replace_storage.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP -#define BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP - -#include -#include -#include -#include -#include - -namespace lslboost { - namespace algorithm { - namespace detail { - -// storage handling routines -----------------------------------------------// - - template< typename StorageT, typename OutputIteratorT > - inline OutputIteratorT move_from_storage( - StorageT& Storage, - OutputIteratorT DestBegin, - OutputIteratorT DestEnd ) - { - OutputIteratorT OutputIt=DestBegin; - - while( !Storage.empty() && OutputIt!=DestEnd ) - { - *OutputIt=Storage.front(); - Storage.pop_front(); - ++OutputIt; - } - - return OutputIt; - } - - template< typename StorageT, typename WhatT > - inline void copy_to_storage( - StorageT& Storage, - const WhatT& What ) - { - Storage.insert( Storage.end(), ::lslboost::begin(What), ::lslboost::end(What) ); - } - - -// process segment routine -----------------------------------------------// - - template< bool HasStableIterators > - struct process_segment_helper - { - // Optimized version of process_segment for generic sequence - template< - typename StorageT, - typename InputT, - typename ForwardIteratorT > - ForwardIteratorT operator()( - StorageT& Storage, - InputT& /*Input*/, - ForwardIteratorT InsertIt, - ForwardIteratorT SegmentBegin, - ForwardIteratorT SegmentEnd ) - { - // Copy data from the storage until the beginning of the segment - ForwardIteratorT It=::lslboost::algorithm::detail::move_from_storage( Storage, InsertIt, SegmentBegin ); - - // 3 cases are possible : - // a) Storage is empty, It==SegmentBegin - // b) Storage is empty, It!=SegmentBegin - // c) Storage is not empty - - if( Storage.empty() ) - { - if( It==SegmentBegin ) - { - // Case a) everything is grand, just return end of segment - return SegmentEnd; - } - else - { - // Case b) move the segment backwards - return std::copy( SegmentBegin, SegmentEnd, It ); - } - } - else - { - // Case c) -> shift the segment to the left and keep the overlap in the storage - while( It!=SegmentEnd ) - { - // Store value into storage - Storage.push_back( *It ); - // Get the top from the storage and put it here - *It=Storage.front(); - Storage.pop_front(); - - // Advance - ++It; - } - - return It; - } - } - }; - - template<> - struct process_segment_helper< true > - { - // Optimized version of process_segment for list-like sequence - template< - typename StorageT, - typename InputT, - typename ForwardIteratorT > - ForwardIteratorT operator()( - StorageT& Storage, - InputT& Input, - ForwardIteratorT InsertIt, - ForwardIteratorT SegmentBegin, - ForwardIteratorT SegmentEnd ) - - { - // Call replace to do the job - ::lslboost::algorithm::detail::replace( Input, InsertIt, SegmentBegin, Storage ); - // Empty the storage - Storage.clear(); - // Iterators were not changed, simply return the end of segment - return SegmentEnd; - } - }; - - // Process one segment in the replace_all algorithm - template< - typename StorageT, - typename InputT, - typename ForwardIteratorT > - inline ForwardIteratorT process_segment( - StorageT& Storage, - InputT& Input, - ForwardIteratorT InsertIt, - ForwardIteratorT SegmentBegin, - ForwardIteratorT SegmentEnd ) - { - return - process_segment_helper< - has_stable_iterators::value>()( - Storage, Input, InsertIt, SegmentBegin, SegmentEnd ); - } - - - } // namespace detail - } // namespace algorithm -} // namespace lslboost - -#endif // BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP diff --git a/lslboost/boost/algorithm/string/detail/sequence.hpp b/lslboost/boost/algorithm/string/detail/sequence.hpp deleted file mode 100644 index 492c978bb..000000000 --- a/lslboost/boost/algorithm/string/detail/sequence.hpp +++ /dev/null @@ -1,200 +0,0 @@ -// Boost string_algo library sequence.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_DETAIL_SEQUENCE_HPP -#define BOOST_STRING_DETAIL_SEQUENCE_HPP - -#include -#include -#include -#include -#include - -#include - -namespace lslboost { - namespace algorithm { - namespace detail { - -// insert helpers -------------------------------------------------// - - template< typename InputT, typename ForwardIteratorT > - inline void insert( - InputT& Input, - BOOST_STRING_TYPENAME InputT::iterator At, - ForwardIteratorT Begin, - ForwardIteratorT End ) - { - Input.insert( At, Begin, End ); - } - - template< typename InputT, typename InsertT > - inline void insert( - InputT& Input, - BOOST_STRING_TYPENAME InputT::iterator At, - const InsertT& Insert ) - { - ::lslboost::algorithm::detail::insert( Input, At, ::lslboost::begin(Insert), ::lslboost::end(Insert) ); - } - -// erase helper ---------------------------------------------------// - - // Erase a range in the sequence - /* - Returns the iterator pointing just after the erase subrange - */ - template< typename InputT > - inline typename InputT::iterator erase( - InputT& Input, - BOOST_STRING_TYPENAME InputT::iterator From, - BOOST_STRING_TYPENAME InputT::iterator To ) - { - return Input.erase( From, To ); - } - -// replace helper implementation ----------------------------------// - - // Optimized version of replace for generic sequence containers - // Assumption: insert and erase are expensive - template< bool HasConstTimeOperations > - struct replace_const_time_helper - { - template< typename InputT, typename ForwardIteratorT > - void operator()( - InputT& Input, - BOOST_STRING_TYPENAME InputT::iterator From, - BOOST_STRING_TYPENAME InputT::iterator To, - ForwardIteratorT Begin, - ForwardIteratorT End ) - { - // Copy data to the container ( as much as possible ) - ForwardIteratorT InsertIt=Begin; - BOOST_STRING_TYPENAME InputT::iterator InputIt=From; - for(; InsertIt!=End && InputIt!=To; InsertIt++, InputIt++ ) - { - *InputIt=*InsertIt; - } - - if ( InsertIt!=End ) - { - // Replace sequence is longer, insert it - Input.insert( InputIt, InsertIt, End ); - } - else - { - if ( InputIt!=To ) - { - // Replace sequence is shorter, erase the rest - Input.erase( InputIt, To ); - } - } - } - }; - - template<> - struct replace_const_time_helper< true > - { - // Const-time erase and insert methods -> use them - template< typename InputT, typename ForwardIteratorT > - void operator()( - InputT& Input, - BOOST_STRING_TYPENAME InputT::iterator From, - BOOST_STRING_TYPENAME InputT::iterator To, - ForwardIteratorT Begin, - ForwardIteratorT End ) - { - BOOST_STRING_TYPENAME InputT::iterator At=Input.erase( From, To ); - if ( Begin!=End ) - { - if(!Input.empty()) - { - Input.insert( At, Begin, End ); - } - else - { - Input.insert( Input.begin(), Begin, End ); - } - } - } - }; - - // No native replace method - template< bool HasNative > - struct replace_native_helper - { - template< typename InputT, typename ForwardIteratorT > - void operator()( - InputT& Input, - BOOST_STRING_TYPENAME InputT::iterator From, - BOOST_STRING_TYPENAME InputT::iterator To, - ForwardIteratorT Begin, - ForwardIteratorT End ) - { - replace_const_time_helper< - lslboost::mpl::and_< - has_const_time_insert, - has_const_time_erase >::value >()( - Input, From, To, Begin, End ); - } - }; - - // Container has native replace method - template<> - struct replace_native_helper< true > - { - template< typename InputT, typename ForwardIteratorT > - void operator()( - InputT& Input, - BOOST_STRING_TYPENAME InputT::iterator From, - BOOST_STRING_TYPENAME InputT::iterator To, - ForwardIteratorT Begin, - ForwardIteratorT End ) - { - Input.replace( From, To, Begin, End ); - } - }; - -// replace helper -------------------------------------------------// - - template< typename InputT, typename ForwardIteratorT > - inline void replace( - InputT& Input, - BOOST_STRING_TYPENAME InputT::iterator From, - BOOST_STRING_TYPENAME InputT::iterator To, - ForwardIteratorT Begin, - ForwardIteratorT End ) - { - replace_native_helper< has_native_replace::value >()( - Input, From, To, Begin, End ); - } - - template< typename InputT, typename InsertT > - inline void replace( - InputT& Input, - BOOST_STRING_TYPENAME InputT::iterator From, - BOOST_STRING_TYPENAME InputT::iterator To, - const InsertT& Insert ) - { - if(From!=To) - { - ::lslboost::algorithm::detail::replace( Input, From, To, ::lslboost::begin(Insert), ::lslboost::end(Insert) ); - } - else - { - ::lslboost::algorithm::detail::insert( Input, From, ::lslboost::begin(Insert), ::lslboost::end(Insert) ); - } - } - - } // namespace detail - } // namespace algorithm -} // namespace lslboost - - -#endif // BOOST_STRING_DETAIL_SEQUENCE_HPP diff --git a/lslboost/boost/algorithm/string/detail/trim.hpp b/lslboost/boost/algorithm/string/detail/trim.hpp index cba15ef77..2b0481c17 100644 --- a/lslboost/boost/algorithm/string/detail/trim.hpp +++ b/lslboost/boost/algorithm/string/detail/trim.hpp @@ -12,7 +12,7 @@ #define BOOST_STRING_TRIM_DETAIL_HPP #include -#include +#include namespace lslboost { namespace algorithm { @@ -80,8 +80,8 @@ namespace lslboost { ForwardIteratorT InEnd, PredicateT IsSpace ) { - typedef BOOST_STRING_TYPENAME lslboost::detail:: - iterator_traits::iterator_category category; + typedef BOOST_STRING_TYPENAME + std::iterator_traits::iterator_category category; return ::lslboost::algorithm::detail::trim_end_iter_select( InBegin, InEnd, IsSpace, category() ); } diff --git a/lslboost/boost/algorithm/string/erase.hpp b/lslboost/boost/algorithm/string/erase.hpp deleted file mode 100644 index ba154f651..000000000 --- a/lslboost/boost/algorithm/string/erase.hpp +++ /dev/null @@ -1,844 +0,0 @@ -// Boost string_algo library erase.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2006. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_ERASE_HPP -#define BOOST_STRING_ERASE_HPP - -#include - -#include -#include -#include -#include -#include - -#include -#include -#include - -/*! \file - Defines various erase algorithms. Each algorithm removes - part(s) of the input according to a searching criteria. -*/ - -namespace lslboost { - namespace algorithm { - -// erase_range -------------------------------------------------------// - - //! Erase range algorithm - /*! - Remove the given range from the input. The result is a modified copy of - the input. It is returned as a sequence or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input sequence - \param SearchRange A range in the input to be removed - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template - inline OutputIteratorT erase_range_copy( - OutputIteratorT Output, - const RangeT& Input, - const iterator_range< - BOOST_STRING_TYPENAME - range_const_iterator::type>& SearchRange ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::range_finder(SearchRange), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase range algorithm - /*! - \overload - */ - template - inline SequenceT erase_range_copy( - const SequenceT& Input, - const iterator_range< - BOOST_STRING_TYPENAME - range_const_iterator::type>& SearchRange ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::range_finder(SearchRange), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase range algorithm - /*! - Remove the given range from the input. - The input sequence is modified in-place. - - \param Input An input sequence - \param SearchRange A range in the input to be removed - */ - template - inline void erase_range( - SequenceT& Input, - const iterator_range< - BOOST_STRING_TYPENAME - range_iterator::type>& SearchRange ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::range_finder(SearchRange), - ::lslboost::algorithm::empty_formatter(Input) ); - } - -// erase_first --------------------------------------------------------// - - //! Erase first algorithm - /*! - Remove the first occurrence of the substring from the input. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT erase_first_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::first_finder(Search), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase first algorithm - /*! - \overload - */ - template - inline SequenceT erase_first_copy( - const SequenceT& Input, - const RangeT& Search ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::first_finder(Search), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase first algorithm - /*! - Remove the first occurrence of the substring from the input. - The input sequence is modified in-place. - - \param Input An input string - \param Search A substring to be searched for. - */ - template - inline void erase_first( - SequenceT& Input, - const RangeT& Search ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::first_finder(Search), - ::lslboost::algorithm::empty_formatter(Input) ); - } - -// erase_first ( case insensitive ) ------------------------------------// - - //! Erase first algorithm ( case insensitive ) - /*! - Remove the first occurrence of the substring from the input. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - Searching is case insensitive. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Loc A locale used for case insensitive comparison - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT ierase_first_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::first_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase first algorithm ( case insensitive ) - /*! - \overload - */ - template - inline SequenceT ierase_first_copy( - const SequenceT& Input, - const RangeT& Search, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::first_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase first algorithm ( case insensitive ) - /*! - Remove the first occurrence of the substring from the input. - The input sequence is modified in-place. Searching is case insensitive. - - \param Input An input string - \param Search A substring to be searched for - \param Loc A locale used for case insensitive comparison - */ - template - inline void ierase_first( - SequenceT& Input, - const RangeT& Search, - const std::locale& Loc=std::locale() ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::first_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::empty_formatter(Input) ); - } - -// erase_last --------------------------------------------------------// - - //! Erase last algorithm - /*! - Remove the last occurrence of the substring from the input. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for. - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT erase_last_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::last_finder(Search), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase last algorithm - /*! - \overload - */ - template - inline SequenceT erase_last_copy( - const SequenceT& Input, - const RangeT& Search ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::last_finder(Search), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase last algorithm - /*! - Remove the last occurrence of the substring from the input. - The input sequence is modified in-place. - - \param Input An input string - \param Search A substring to be searched for - */ - template - inline void erase_last( - SequenceT& Input, - const RangeT& Search ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::last_finder(Search), - ::lslboost::algorithm::empty_formatter(Input) ); - } - -// erase_last ( case insensitive ) ------------------------------------// - - //! Erase last algorithm ( case insensitive ) - /*! - Remove the last occurrence of the substring from the input. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - Searching is case insensitive. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Loc A locale used for case insensitive comparison - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT ierase_last_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::last_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase last algorithm ( case insensitive ) - /*! - \overload - */ - template - inline SequenceT ierase_last_copy( - const SequenceT& Input, - const RangeT& Search, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::last_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase last algorithm ( case insensitive ) - /*! - Remove the last occurrence of the substring from the input. - The input sequence is modified in-place. Searching is case insensitive. - - \param Input An input string - \param Search A substring to be searched for - \param Loc A locale used for case insensitive comparison - */ - template - inline void ierase_last( - SequenceT& Input, - const RangeT& Search, - const std::locale& Loc=std::locale() ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::last_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::empty_formatter(Input) ); - } - -// erase_nth --------------------------------------------------------------------// - - //! Erase nth algorithm - /*! - Remove the Nth occurrence of the substring in the input. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Nth An index of the match to be replaced. The index is 0-based. - For negative N, matches are counted from the end of string. - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT erase_nth_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - int Nth ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::nth_finder(Search, Nth), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase nth algorithm - /*! - \overload - */ - template - inline SequenceT erase_nth_copy( - const SequenceT& Input, - const RangeT& Search, - int Nth ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::nth_finder(Search, Nth), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase nth algorithm - /*! - Remove the Nth occurrence of the substring in the input. - The input sequence is modified in-place. - - \param Input An input string - \param Search A substring to be searched for. - \param Nth An index of the match to be replaced. The index is 0-based. - For negative N, matches are counted from the end of string. - */ - template - inline void erase_nth( - SequenceT& Input, - const RangeT& Search, - int Nth ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::nth_finder(Search, Nth), - ::lslboost::algorithm::empty_formatter(Input) ); - } - -// erase_nth ( case insensitive ) ---------------------------------------------// - - //! Erase nth algorithm ( case insensitive ) - /*! - Remove the Nth occurrence of the substring in the input. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - Searching is case insensitive. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for. - \param Nth An index of the match to be replaced. The index is 0-based. - For negative N, matches are counted from the end of string. - \param Loc A locale used for case insensitive comparison - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT ierase_nth_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - int Nth, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::nth_finder(Search, Nth, is_iequal(Loc)), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase nth algorithm - /*! - \overload - */ - template - inline SequenceT ierase_nth_copy( - const SequenceT& Input, - const RangeT& Search, - int Nth, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::nth_finder(Search, Nth, is_iequal(Loc)), - empty_formatter(Input) ); - } - - //! Erase nth algorithm - /*! - Remove the Nth occurrence of the substring in the input. - The input sequence is modified in-place. Searching is case insensitive. - - \param Input An input string - \param Search A substring to be searched for. - \param Nth An index of the match to be replaced. The index is 0-based. - For negative N, matches are counted from the end of string. - \param Loc A locale used for case insensitive comparison - */ - template - inline void ierase_nth( - SequenceT& Input, - const RangeT& Search, - int Nth, - const std::locale& Loc=std::locale() ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::nth_finder(Search, Nth, is_iequal(Loc)), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - -// erase_all --------------------------------------------------------// - - //! Erase all algorithm - /*! - Remove all the occurrences of the string from the input. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - - \param Output An output iterator to which the result will be copied - \param Input An input sequence - \param Search A substring to be searched for. - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT erase_all_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search ) - { - return ::lslboost::algorithm::find_format_all_copy( - Output, - Input, - ::lslboost::algorithm::first_finder(Search), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase all algorithm - /*! - \overload - */ - template - inline SequenceT erase_all_copy( - const SequenceT& Input, - const RangeT& Search ) - { - return ::lslboost::algorithm::find_format_all_copy( - Input, - ::lslboost::algorithm::first_finder(Search), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase all algorithm - /*! - Remove all the occurrences of the string from the input. - The input sequence is modified in-place. - - \param Input An input string - \param Search A substring to be searched for. - */ - template - inline void erase_all( - SequenceT& Input, - const RangeT& Search ) - { - ::lslboost::algorithm::find_format_all( - Input, - ::lslboost::algorithm::first_finder(Search), - ::lslboost::algorithm::empty_formatter(Input) ); - } - -// erase_all ( case insensitive ) ------------------------------------// - - //! Erase all algorithm ( case insensitive ) - /*! - Remove all the occurrences of the string from the input. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - Searching is case insensitive. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Loc A locale used for case insensitive comparison - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT ierase_all_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_all_copy( - Output, - Input, - ::lslboost::algorithm::first_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase all algorithm ( case insensitive ) - /*! - \overload - */ - template - inline SequenceT ierase_all_copy( - const SequenceT& Input, - const RangeT& Search, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_all_copy( - Input, - ::lslboost::algorithm::first_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::empty_formatter(Input) ); - } - - //! Erase all algorithm ( case insensitive ) - /*! - Remove all the occurrences of the string from the input. - The input sequence is modified in-place. Searching is case insensitive. - - \param Input An input string - \param Search A substring to be searched for. - \param Loc A locale used for case insensitive comparison - */ - template - inline void ierase_all( - SequenceT& Input, - const RangeT& Search, - const std::locale& Loc=std::locale() ) - { - ::lslboost::algorithm::find_format_all( - Input, - ::lslboost::algorithm::first_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::empty_formatter(Input) ); - } - -// erase_head --------------------------------------------------------------------// - - //! Erase head algorithm - /*! - Remove the head from the input. The head is a prefix of a sequence of given size. - If the sequence is shorter then required, the whole string is - considered to be the head. The result is a modified copy of the input. - It is returned as a sequence or copied to the output iterator. - - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param N Length of the head. - For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename RangeT> - inline OutputIteratorT erase_head_copy( - OutputIteratorT Output, - const RangeT& Input, - int N ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::head_finder(N), - ::lslboost::algorithm::empty_formatter( Input ) ); - } - - //! Erase head algorithm - /*! - \overload - */ - template - inline SequenceT erase_head_copy( - const SequenceT& Input, - int N ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::head_finder(N), - ::lslboost::algorithm::empty_formatter( Input ) ); - } - - //! Erase head algorithm - /*! - Remove the head from the input. The head is a prefix of a sequence of given size. - If the sequence is shorter then required, the whole string is - considered to be the head. The input sequence is modified in-place. - - \param Input An input string - \param N Length of the head - For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. - */ - template - inline void erase_head( - SequenceT& Input, - int N ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::head_finder(N), - ::lslboost::algorithm::empty_formatter( Input ) ); - } - -// erase_tail --------------------------------------------------------------------// - - //! Erase tail algorithm - /*! - Remove the tail from the input. The tail is a suffix of a sequence of given size. - If the sequence is shorter then required, the whole string is - considered to be the tail. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param N Length of the tail. - For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename RangeT> - inline OutputIteratorT erase_tail_copy( - OutputIteratorT Output, - const RangeT& Input, - int N ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::tail_finder(N), - ::lslboost::algorithm::empty_formatter( Input ) ); - } - - //! Erase tail algorithm - /*! - \overload - */ - template - inline SequenceT erase_tail_copy( - const SequenceT& Input, - int N ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::tail_finder(N), - ::lslboost::algorithm::empty_formatter( Input ) ); - } - - //! Erase tail algorithm - /*! - Remove the tail from the input. The tail is a suffix of a sequence of given size. - If the sequence is shorter then required, the whole string is - considered to be the tail. The input sequence is modified in-place. - - \param Input An input string - \param N Length of the tail - For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. - */ - template - inline void erase_tail( - SequenceT& Input, - int N ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::tail_finder(N), - ::lslboost::algorithm::empty_formatter( Input ) ); - } - - } // namespace algorithm - - // pull names into the boost namespace - using algorithm::erase_range_copy; - using algorithm::erase_range; - using algorithm::erase_first_copy; - using algorithm::erase_first; - using algorithm::ierase_first_copy; - using algorithm::ierase_first; - using algorithm::erase_last_copy; - using algorithm::erase_last; - using algorithm::ierase_last_copy; - using algorithm::ierase_last; - using algorithm::erase_nth_copy; - using algorithm::erase_nth; - using algorithm::ierase_nth_copy; - using algorithm::ierase_nth; - using algorithm::erase_all_copy; - using algorithm::erase_all; - using algorithm::ierase_all_copy; - using algorithm::ierase_all; - using algorithm::erase_head_copy; - using algorithm::erase_head; - using algorithm::erase_tail_copy; - using algorithm::erase_tail; - -} // namespace lslboost - - -#endif // BOOST_ERASE_HPP diff --git a/lslboost/boost/algorithm/string/find.hpp b/lslboost/boost/algorithm/string/find.hpp deleted file mode 100644 index 365f8cec5..000000000 --- a/lslboost/boost/algorithm/string/find.hpp +++ /dev/null @@ -1,334 +0,0 @@ -// Boost string_algo library find.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FIND_HPP -#define BOOST_STRING_FIND_HPP - -#include - -#include -#include -#include -#include -#include - -#include -#include -#include - -/*! \file - Defines a set of find algorithms. The algorithms are searching - for a substring of the input. The result is given as an \c iterator_range - delimiting the substring. -*/ - -namespace lslboost { - namespace algorithm { - -// Generic find -----------------------------------------------// - - //! Generic find algorithm - /*! - Search the input using the given finder. - - \param Input A string which will be searched. - \param Finder Finder object used for searching. - \return - An \c iterator_range delimiting the match. - Returned iterator is either \c RangeT::iterator or - \c RangeT::const_iterator, depending on the constness of - the input parameter. - */ - template - inline iterator_range< - BOOST_STRING_TYPENAME range_iterator::type> - find( - RangeT& Input, - const FinderT& Finder) - { - iterator_range::type> lit_input(::lslboost::as_literal(Input)); - - return Finder(::lslboost::begin(lit_input),::lslboost::end(lit_input)); - } - -// find_first -----------------------------------------------// - - //! Find first algorithm - /*! - Search for the first occurrence of the substring in the input. - - \param Input A string which will be searched. - \param Search A substring to be searched for. - \return - An \c iterator_range delimiting the match. - Returned iterator is either \c RangeT::iterator or - \c RangeT::const_iterator, depending on the constness of - the input parameter. - - \note This function provides the strong exception-safety guarantee - */ - template - inline iterator_range< - BOOST_STRING_TYPENAME range_iterator::type> - find_first( - Range1T& Input, - const Range2T& Search) - { - return ::lslboost::algorithm::find(Input, ::lslboost::algorithm::first_finder(Search)); - } - - //! Find first algorithm ( case insensitive ) - /*! - Search for the first occurrence of the substring in the input. - Searching is case insensitive. - - \param Input A string which will be searched. - \param Search A substring to be searched for. - \param Loc A locale used for case insensitive comparison - \return - An \c iterator_range delimiting the match. - Returned iterator is either \c Range1T::iterator or - \c Range1T::const_iterator, depending on the constness of - the input parameter. - - \note This function provides the strong exception-safety guarantee - */ - template - inline iterator_range< - BOOST_STRING_TYPENAME range_iterator::type> - ifind_first( - Range1T& Input, - const Range2T& Search, - const std::locale& Loc=std::locale()) - { - return ::lslboost::algorithm::find(Input, ::lslboost::algorithm::first_finder(Search,is_iequal(Loc))); - } - -// find_last -----------------------------------------------// - - //! Find last algorithm - /*! - Search for the last occurrence of the substring in the input. - - \param Input A string which will be searched. - \param Search A substring to be searched for. - \return - An \c iterator_range delimiting the match. - Returned iterator is either \c Range1T::iterator or - \c Range1T::const_iterator, depending on the constness of - the input parameter. - - \note This function provides the strong exception-safety guarantee - */ - template - inline iterator_range< - BOOST_STRING_TYPENAME range_iterator::type> - find_last( - Range1T& Input, - const Range2T& Search) - { - return ::lslboost::algorithm::find(Input, ::lslboost::algorithm::last_finder(Search)); - } - - //! Find last algorithm ( case insensitive ) - /*! - Search for the last match a string in the input. - Searching is case insensitive. - - \param Input A string which will be searched. - \param Search A substring to be searched for. - \param Loc A locale used for case insensitive comparison - \return - An \c iterator_range delimiting the match. - Returned iterator is either \c Range1T::iterator or - \c Range1T::const_iterator, depending on the constness of - the input parameter. - - \note This function provides the strong exception-safety guarantee - */ - template - inline iterator_range< - BOOST_STRING_TYPENAME range_iterator::type> - ifind_last( - Range1T& Input, - const Range2T& Search, - const std::locale& Loc=std::locale()) - { - return ::lslboost::algorithm::find(Input, ::lslboost::algorithm::last_finder(Search, is_iequal(Loc))); - } - -// find_nth ----------------------------------------------------------------------// - - //! Find n-th algorithm - /*! - Search for the n-th (zero-indexed) occurrence of the substring in the - input. - - \param Input A string which will be searched. - \param Search A substring to be searched for. - \param Nth An index (zero-indexed) of the match to be found. - For negative N, the matches are counted from the end of string. - \return - An \c iterator_range delimiting the match. - Returned iterator is either \c Range1T::iterator or - \c Range1T::const_iterator, depending on the constness of - the input parameter. - */ - template - inline iterator_range< - BOOST_STRING_TYPENAME range_iterator::type> - find_nth( - Range1T& Input, - const Range2T& Search, - int Nth) - { - return ::lslboost::algorithm::find(Input, ::lslboost::algorithm::nth_finder(Search,Nth)); - } - - //! Find n-th algorithm ( case insensitive ). - /*! - Search for the n-th (zero-indexed) occurrence of the substring in the - input. Searching is case insensitive. - - \param Input A string which will be searched. - \param Search A substring to be searched for. - \param Nth An index (zero-indexed) of the match to be found. - For negative N, the matches are counted from the end of string. - \param Loc A locale used for case insensitive comparison - \return - An \c iterator_range delimiting the match. - Returned iterator is either \c Range1T::iterator or - \c Range1T::const_iterator, depending on the constness of - the input parameter. - - - \note This function provides the strong exception-safety guarantee - */ - template - inline iterator_range< - BOOST_STRING_TYPENAME range_iterator::type> - ifind_nth( - Range1T& Input, - const Range2T& Search, - int Nth, - const std::locale& Loc=std::locale()) - { - return ::lslboost::algorithm::find(Input, ::lslboost::algorithm::nth_finder(Search,Nth,is_iequal(Loc))); - } - -// find_head ----------------------------------------------------------------------// - - //! Find head algorithm - /*! - Get the head of the input. Head is a prefix of the string of the - given size. If the input is shorter then required, whole input is considered - to be the head. - - \param Input An input string - \param N Length of the head - For N>=0, at most N characters are extracted. - For N<0, at most size(Input)-|N| characters are extracted. - \return - An \c iterator_range delimiting the match. - Returned iterator is either \c Range1T::iterator or - \c Range1T::const_iterator, depending on the constness of - the input parameter. - - \note This function provides the strong exception-safety guarantee - */ - template - inline iterator_range< - BOOST_STRING_TYPENAME range_iterator::type> - find_head( - RangeT& Input, - int N) - { - return ::lslboost::algorithm::find(Input, ::lslboost::algorithm::head_finder(N)); - } - -// find_tail ----------------------------------------------------------------------// - - //! Find tail algorithm - /*! - Get the tail of the input. Tail is a suffix of the string of the - given size. If the input is shorter then required, whole input is considered - to be the tail. - - \param Input An input string - \param N Length of the tail. - For N>=0, at most N characters are extracted. - For N<0, at most size(Input)-|N| characters are extracted. - \return - An \c iterator_range delimiting the match. - Returned iterator is either \c RangeT::iterator or - \c RangeT::const_iterator, depending on the constness of - the input parameter. - - - \note This function provides the strong exception-safety guarantee - */ - template - inline iterator_range< - BOOST_STRING_TYPENAME range_iterator::type> - find_tail( - RangeT& Input, - int N) - { - return ::lslboost::algorithm::find(Input, ::lslboost::algorithm::tail_finder(N)); - } - -// find_token --------------------------------------------------------------------// - - //! Find token algorithm - /*! - Look for a given token in the string. Token is a character that matches the - given predicate. - If the "token compress mode" is enabled, adjacent tokens are considered to be one match. - - \param Input A input string. - \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. - Returned iterator is either \c RangeT::iterator or - \c RangeT::const_iterator, depending on the constness of - the input parameter. - - \note This function provides the strong exception-safety guarantee - */ - template - inline iterator_range< - BOOST_STRING_TYPENAME range_iterator::type> - find_token( - RangeT& Input, - PredicateT Pred, - token_compress_mode_type eCompress=token_compress_off) - { - return ::lslboost::algorithm::find(Input, ::lslboost::algorithm::token_finder(Pred, eCompress)); - } - - } // namespace algorithm - - // pull names to the boost namespace - using algorithm::find; - using algorithm::find_first; - using algorithm::ifind_first; - using algorithm::find_last; - using algorithm::ifind_last; - using algorithm::find_nth; - using algorithm::ifind_nth; - using algorithm::find_head; - using algorithm::find_tail; - using algorithm::find_token; - -} // namespace lslboost - - -#endif // BOOST_STRING_FIND_HPP diff --git a/lslboost/boost/algorithm/string/find_format.hpp b/lslboost/boost/algorithm/string/find_format.hpp deleted file mode 100644 index 00d9ed886..000000000 --- a/lslboost/boost/algorithm/string/find_format.hpp +++ /dev/null @@ -1,287 +0,0 @@ -// Boost string_algo library find_format.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FIND_FORMAT_HPP -#define BOOST_STRING_FIND_FORMAT_HPP - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -/*! \file - Defines generic replace algorithms. Each algorithm replaces - part(s) of the input. The part to be replaced is looked up using a Finder object. - Result of finding is then used by a Formatter object to generate the replacement. -*/ - -namespace lslboost { - namespace algorithm { - -// generic replace -----------------------------------------------------------------// - - //! Generic replace algorithm - /*! - Use the Finder to search for a substring. Use the Formatter to format - this substring and replace it in the input. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input sequence - \param Finder A Finder object used to search for a match to be replaced - \param Formatter A Formatter object used to format a match - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename RangeT, - typename FinderT, - typename FormatterT> - inline OutputIteratorT find_format_copy( - OutputIteratorT Output, - const RangeT& Input, - FinderT Finder, - FormatterT Formatter ) - { - // Concept check - BOOST_CONCEPT_ASSERT(( - FinderConcept< - FinderT, - BOOST_STRING_TYPENAME range_const_iterator::type> - )); - BOOST_CONCEPT_ASSERT(( - FormatterConcept< - FormatterT, - FinderT,BOOST_STRING_TYPENAME range_const_iterator::type> - )); - - iterator_range::type> lit_input(::lslboost::as_literal(Input)); - - return detail::find_format_copy_impl( - Output, - lit_input, - Formatter, - Finder( ::lslboost::begin(lit_input), ::lslboost::end(lit_input) ) ); - } - - //! Generic replace algorithm - /*! - \overload - */ - template< - typename SequenceT, - typename FinderT, - typename FormatterT> - inline SequenceT find_format_copy( - const SequenceT& Input, - FinderT Finder, - FormatterT Formatter ) - { - // Concept check - BOOST_CONCEPT_ASSERT(( - FinderConcept< - FinderT, - BOOST_STRING_TYPENAME range_const_iterator::type> - )); - BOOST_CONCEPT_ASSERT(( - FormatterConcept< - FormatterT, - FinderT,BOOST_STRING_TYPENAME range_const_iterator::type> - )); - - return detail::find_format_copy_impl( - Input, - Formatter, - Finder(::lslboost::begin(Input), ::lslboost::end(Input))); - } - - //! Generic replace algorithm - /*! - Use the Finder to search for a substring. Use the Formatter to format - this substring and replace it in the input. The input is modified in-place. - - \param Input An input sequence - \param Finder A Finder object used to search for a match to be replaced - \param Formatter A Formatter object used to format a match - */ - template< - typename SequenceT, - typename FinderT, - typename FormatterT> - inline void find_format( - SequenceT& Input, - FinderT Finder, - FormatterT Formatter) - { - // Concept check - BOOST_CONCEPT_ASSERT(( - FinderConcept< - FinderT, - BOOST_STRING_TYPENAME range_const_iterator::type> - )); - BOOST_CONCEPT_ASSERT(( - FormatterConcept< - FormatterT, - FinderT,BOOST_STRING_TYPENAME range_const_iterator::type> - )); - - detail::find_format_impl( - Input, - Formatter, - Finder(::lslboost::begin(Input), ::lslboost::end(Input))); - } - - -// find_format_all generic ----------------------------------------------------------------// - - //! Generic replace all algorithm - /*! - Use the Finder to search for a substring. Use the Formatter to format - this substring and replace it in the input. Repeat this for all matching - substrings. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input sequence - \param Finder A Finder object used to search for a match to be replaced - \param Formatter A Formatter object used to format a match - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename RangeT, - typename FinderT, - typename FormatterT> - inline OutputIteratorT find_format_all_copy( - OutputIteratorT Output, - const RangeT& Input, - FinderT Finder, - FormatterT Formatter) - { - // Concept check - BOOST_CONCEPT_ASSERT(( - FinderConcept< - FinderT, - BOOST_STRING_TYPENAME range_const_iterator::type> - )); - BOOST_CONCEPT_ASSERT(( - FormatterConcept< - FormatterT, - FinderT,BOOST_STRING_TYPENAME range_const_iterator::type> - )); - - iterator_range::type> lit_input(::lslboost::as_literal(Input)); - - return detail::find_format_all_copy_impl( - Output, - lit_input, - Finder, - Formatter, - Finder(::lslboost::begin(lit_input), ::lslboost::end(lit_input))); - } - - //! Generic replace all algorithm - /*! - \overload - */ - template< - typename SequenceT, - typename FinderT, - typename FormatterT > - inline SequenceT find_format_all_copy( - const SequenceT& Input, - FinderT Finder, - FormatterT Formatter ) - { - // Concept check - BOOST_CONCEPT_ASSERT(( - FinderConcept< - FinderT, - BOOST_STRING_TYPENAME range_const_iterator::type> - )); - BOOST_CONCEPT_ASSERT(( - FormatterConcept< - FormatterT, - FinderT,BOOST_STRING_TYPENAME range_const_iterator::type> - )); - - return detail::find_format_all_copy_impl( - Input, - Finder, - Formatter, - Finder( ::lslboost::begin(Input), ::lslboost::end(Input) ) ); - } - - //! Generic replace all algorithm - /*! - Use the Finder to search for a substring. Use the Formatter to format - this substring and replace it in the input. Repeat this for all matching - substrings.The input is modified in-place. - - \param Input An input sequence - \param Finder A Finder object used to search for a match to be replaced - \param Formatter A Formatter object used to format a match - */ - template< - typename SequenceT, - typename FinderT, - typename FormatterT > - inline void find_format_all( - SequenceT& Input, - FinderT Finder, - FormatterT Formatter ) - { - // Concept check - BOOST_CONCEPT_ASSERT(( - FinderConcept< - FinderT, - BOOST_STRING_TYPENAME range_const_iterator::type> - )); - BOOST_CONCEPT_ASSERT(( - FormatterConcept< - FormatterT, - FinderT,BOOST_STRING_TYPENAME range_const_iterator::type> - )); - - detail::find_format_all_impl( - Input, - Finder, - Formatter, - Finder(::lslboost::begin(Input), ::lslboost::end(Input))); - - } - - } // namespace algorithm - - // pull the names to the boost namespace - using algorithm::find_format_copy; - using algorithm::find_format; - using algorithm::find_format_all_copy; - using algorithm::find_format_all; - -} // namespace lslboost - - -#endif // BOOST_STRING_FIND_FORMAT_HPP diff --git a/lslboost/boost/algorithm/string/formatter.hpp b/lslboost/boost/algorithm/string/formatter.hpp deleted file mode 100644 index 2d7a6dcb9..000000000 --- a/lslboost/boost/algorithm/string/formatter.hpp +++ /dev/null @@ -1,120 +0,0 @@ -// Boost string_algo library formatter.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_FORMATTER_HPP -#define BOOST_STRING_FORMATTER_HPP - -#include -#include -#include -#include - -#include - -/*! \file - Defines Formatter generators. Formatter is a functor which formats - a string according to given parameters. A Formatter works - in conjunction with a Finder. A Finder can provide additional information - for a specific Formatter. An example of such a cooperation is regex_finder - and regex_formatter. - - Formatters are used as pluggable components for replace facilities. - This header contains generator functions for the Formatters provided in this library. -*/ - -namespace lslboost { - namespace algorithm { - -// generic formatters ---------------------------------------------------------------// - - //! Constant formatter - /*! - 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 formatting - \return An instance of the \c const_formatter object. - */ - template - inline detail::const_formatF< - iterator_range< - BOOST_STRING_TYPENAME range_const_iterator::type> > - const_formatter(const RangeT& Format) - { - return detail::const_formatF< - iterator_range< - BOOST_STRING_TYPENAME range_const_iterator::type> >(::lslboost::as_literal(Format)); - } - - //! Identity formatter - /*! - Constructs an \c identity_formatter. Identity formatter always returns - the parameter. - - \return An instance of the \c identity_formatter object. - */ - template - inline detail::identity_formatF< - iterator_range< - BOOST_STRING_TYPENAME range_const_iterator::type> > - identity_formatter() - { - return detail::identity_formatF< - iterator_range< - BOOST_STRING_TYPENAME range_const_iterator::type> >(); - } - - //! Empty formatter - /*! - Constructs an \c empty_formatter. Empty formatter always returns an empty - sequence. - - \param Input container used to select a correct value_type for the - resulting empty_container<>. - \return An instance of the \c empty_formatter object. - */ - template - inline detail::empty_formatF< - BOOST_STRING_TYPENAME range_value::type> - empty_formatter(const RangeT&) - { - return detail::empty_formatF< - BOOST_STRING_TYPENAME range_value::type>(); - } - - //! Empty formatter - /*! - Constructs a \c dissect_formatter. Dissect formatter uses a specified finder - 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 formatted sequence - \return An instance of the \c dissect_formatter object. - */ - template - inline detail::dissect_formatF< FinderT > - dissect_formatter(const FinderT& Finder) - { - return detail::dissect_formatF(Finder); - } - - - } // namespace algorithm - - // pull the names to the boost namespace - using algorithm::const_formatter; - using algorithm::identity_formatter; - using algorithm::empty_formatter; - using algorithm::dissect_formatter; - -} // namespace lslboost - - -#endif // BOOST_FORMATTER_HPP diff --git a/lslboost/boost/algorithm/string/iter_find.hpp b/lslboost/boost/algorithm/string/iter_find.hpp index 5c227ef12..599397695 100644 --- a/lslboost/boost/algorithm/string/iter_find.hpp +++ b/lslboost/boost/algorithm/string/iter_find.hpp @@ -71,7 +71,11 @@ namespace lslboost { inline SequenceSequenceT& iter_find( SequenceSequenceT& Result, +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + RangeT&& Input, +#else RangeT& Input, +#endif FinderT Finder ) { BOOST_CONCEPT_ASSERT(( @@ -142,7 +146,11 @@ namespace lslboost { inline SequenceSequenceT& iter_split( SequenceSequenceT& Result, +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + RangeT&& Input, +#else RangeT& Input, +#endif FinderT Finder ) { BOOST_CONCEPT_ASSERT(( diff --git a/lslboost/boost/algorithm/string/join.hpp b/lslboost/boost/algorithm/string/join.hpp deleted file mode 100644 index 95be53a7f..000000000 --- a/lslboost/boost/algorithm/string/join.hpp +++ /dev/null @@ -1,145 +0,0 @@ -// Boost string_algo library join.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2006. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_JOIN_HPP -#define BOOST_STRING_JOIN_HPP - -#include -#include -#include -#include - -/*! \file - Defines join algorithm. - - Join algorithm is a counterpart to split algorithms. - It joins strings from a 'list' by adding user defined separator. - Additionally there is a version that allows simple filtering - by providing a predicate. -*/ - -namespace lslboost { - namespace algorithm { - -// join --------------------------------------------------------------// - - //! Join algorithm - /*! - This algorithm joins all strings in a 'list' into one long string. - Segments are concatenated by given separator. - - \param Input A container that holds the input strings. It must be a container-of-containers. - \param Separator A string that will separate the joined segments. - \return Concatenated string. - - \note This function provides the strong exception-safety guarantee - */ - template< typename SequenceSequenceT, typename Range1T> - inline typename range_value::type - join( - const SequenceSequenceT& Input, - const Range1T& Separator) - { - // Define working types - typedef typename range_value::type ResultT; - typedef typename range_const_iterator::type InputIteratorT; - - // Parse input - InputIteratorT itBegin=::lslboost::begin(Input); - InputIteratorT itEnd=::lslboost::end(Input); - - // Construct container to hold the result - ResultT Result; - - // Append first element - if(itBegin!=itEnd) - { - detail::insert(Result, ::lslboost::end(Result), *itBegin); - ++itBegin; - } - - for(;itBegin!=itEnd; ++itBegin) - { - // Add separator - detail::insert(Result, ::lslboost::end(Result), ::lslboost::as_literal(Separator)); - // Add element - detail::insert(Result, ::lslboost::end(Result), *itBegin); - } - - return Result; - } - -// join_if ----------------------------------------------------------// - - //! Conditional join algorithm - /*! - This algorithm joins all strings in a 'list' into one long string. - Segments are concatenated by given separator. Only segments that - satisfy the predicate will be added to the result. - - \param Input A container that holds the input strings. It must be a container-of-containers. - \param Separator A string that will separate the joined segments. - \param Pred A segment selection predicate - \return Concatenated string. - - \note This function provides the strong exception-safety guarantee - */ - template< typename SequenceSequenceT, typename Range1T, typename PredicateT> - inline typename range_value::type - join_if( - const SequenceSequenceT& Input, - const Range1T& Separator, - PredicateT Pred) - { - // Define working types - typedef typename range_value::type ResultT; - typedef typename range_const_iterator::type InputIteratorT; - - // Parse input - InputIteratorT itBegin=::lslboost::begin(Input); - InputIteratorT itEnd=::lslboost::end(Input); - - // Construct container to hold the result - ResultT Result; - - // Roll to the first element that will be added - while(itBegin!=itEnd && !Pred(*itBegin)) ++itBegin; - // Add this element - if(itBegin!=itEnd) - { - detail::insert(Result, ::lslboost::end(Result), *itBegin); - ++itBegin; - } - - for(;itBegin!=itEnd; ++itBegin) - { - if(Pred(*itBegin)) - { - // Add separator - detail::insert(Result, ::lslboost::end(Result), ::lslboost::as_literal(Separator)); - // Add element - detail::insert(Result, ::lslboost::end(Result), *itBegin); - } - } - - return Result; - } - - } // namespace algorithm - - // pull names to the boost namespace - using algorithm::join; - using algorithm::join_if; - -} // namespace lslboost - - -#endif // BOOST_STRING_JOIN_HPP - diff --git a/lslboost/boost/algorithm/string/predicate.hpp b/lslboost/boost/algorithm/string/predicate.hpp deleted file mode 100644 index 2456775a6..000000000 --- a/lslboost/boost/algorithm/string/predicate.hpp +++ /dev/null @@ -1,475 +0,0 @@ -// Boost string_algo library predicate.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_PREDICATE_HPP -#define BOOST_STRING_PREDICATE_HPP - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -/*! \file boost/algorithm/string/predicate.hpp - Defines string-related predicates. - The predicates determine whether a substring is contained in the input string - under various conditions: a string starts with the substring, ends with the - substring, simply contains the substring or if both strings are equal. - Additionaly the algorithm \c all() checks all elements of a container to satisfy a - condition. - - All predicates provide the strong exception guarantee. -*/ - -namespace lslboost { - namespace algorithm { - -// starts_with predicate -----------------------------------------------// - - //! 'Starts with' predicate - /*! - This predicate holds when the test string is a prefix of the Input. - In other words, if the input starts with the test. - When the optional predicate is specified, it is used for character-wise - comparison. - - \param Input An input sequence - \param Test A test sequence - \param Comp An element comparison predicate - \return The result of the test - - \note This function provides the strong exception-safety guarantee - */ - template - inline bool starts_with( - const Range1T& Input, - const Range2T& Test, - PredicateT Comp) - { - iterator_range::type> lit_input(::lslboost::as_literal(Input)); - iterator_range::type> lit_test(::lslboost::as_literal(Test)); - - typedef BOOST_STRING_TYPENAME - range_const_iterator::type Iterator1T; - typedef BOOST_STRING_TYPENAME - range_const_iterator::type Iterator2T; - - Iterator1T InputEnd=::lslboost::end(lit_input); - Iterator2T TestEnd=::lslboost::end(lit_test); - - Iterator1T it=::lslboost::begin(lit_input); - Iterator2T pit=::lslboost::begin(lit_test); - for(; - it!=InputEnd && pit!=TestEnd; - ++it,++pit) - { - if( !(Comp(*it,*pit)) ) - return false; - } - - return pit==TestEnd; - } - - //! 'Starts with' predicate - /*! - \overload - */ - template - inline bool starts_with( - const Range1T& Input, - const Range2T& Test) - { - return ::lslboost::algorithm::starts_with(Input, Test, is_equal()); - } - - //! 'Starts with' predicate ( case insensitive ) - /*! - This predicate holds when the test string is a prefix of the Input. - In other words, if the input starts with the test. - Elements are compared case insensitively. - - \param Input An input sequence - \param Test A test sequence - \param Loc A locale used for case insensitive comparison - \return The result of the test - - \note This function provides the strong exception-safety guarantee - */ - template - inline bool istarts_with( - const Range1T& Input, - const Range2T& Test, - const std::locale& Loc=std::locale()) - { - return ::lslboost::algorithm::starts_with(Input, Test, is_iequal(Loc)); - } - - -// ends_with predicate -----------------------------------------------// - - //! 'Ends with' predicate - /*! - This predicate holds when the test string is a suffix of the Input. - In other words, if the input ends with the test. - When the optional predicate is specified, it is used for character-wise - comparison. - - - \param Input An input sequence - \param Test A test sequence - \param Comp An element comparison predicate - \return The result of the test - - \note This function provides the strong exception-safety guarantee - */ - template - inline bool ends_with( - const Range1T& Input, - const Range2T& Test, - PredicateT Comp) - { - iterator_range::type> lit_input(::lslboost::as_literal(Input)); - iterator_range::type> lit_test(::lslboost::as_literal(Test)); - - typedef BOOST_STRING_TYPENAME - range_const_iterator::type Iterator1T; - typedef BOOST_STRING_TYPENAME lslboost::detail:: - iterator_traits::iterator_category category; - - return detail:: - ends_with_iter_select( - ::lslboost::begin(lit_input), - ::lslboost::end(lit_input), - ::lslboost::begin(lit_test), - ::lslboost::end(lit_test), - Comp, - category()); - } - - - //! 'Ends with' predicate - /*! - \overload - */ - template - inline bool ends_with( - const Range1T& Input, - const Range2T& Test) - { - return ::lslboost::algorithm::ends_with(Input, Test, is_equal()); - } - - //! 'Ends with' predicate ( case insensitive ) - /*! - This predicate holds when the test container is a suffix of the Input. - In other words, if the input ends with the test. - Elements are compared case insensitively. - - \param Input An input sequence - \param Test A test sequence - \param Loc A locale used for case insensitive comparison - \return The result of the test - - \note This function provides the strong exception-safety guarantee - */ - template - inline bool iends_with( - const Range1T& Input, - const Range2T& Test, - const std::locale& Loc=std::locale()) - { - return ::lslboost::algorithm::ends_with(Input, Test, is_iequal(Loc)); - } - -// contains predicate -----------------------------------------------// - - //! 'Contains' predicate - /*! - This predicate holds when the test container is contained in the Input. - When the optional predicate is specified, it is used for character-wise - comparison. - - \param Input An input sequence - \param Test A test sequence - \param Comp An element comparison predicate - \return The result of the test - - \note This function provides the strong exception-safety guarantee - */ - template - inline bool contains( - const Range1T& Input, - const Range2T& Test, - PredicateT Comp) - { - iterator_range::type> lit_input(::lslboost::as_literal(Input)); - iterator_range::type> lit_test(::lslboost::as_literal(Test)); - - if (::lslboost::empty(lit_test)) - { - // Empty range is contained always - return true; - } - - // Use the temporary variable to make VACPP happy - bool bResult=(::lslboost::algorithm::first_finder(lit_test,Comp)(::lslboost::begin(lit_input), ::lslboost::end(lit_input))); - return bResult; - } - - //! 'Contains' predicate - /*! - \overload - */ - template - inline bool contains( - const Range1T& Input, - const Range2T& Test) - { - return ::lslboost::algorithm::contains(Input, Test, is_equal()); - } - - //! 'Contains' predicate ( case insensitive ) - /*! - This predicate holds when the test container is contained in the Input. - Elements are compared case insensitively. - - \param Input An input sequence - \param Test A test sequence - \param Loc A locale used for case insensitive comparison - \return The result of the test - - \note This function provides the strong exception-safety guarantee - */ - template - inline bool icontains( - const Range1T& Input, - const Range2T& Test, - const std::locale& Loc=std::locale()) - { - return ::lslboost::algorithm::contains(Input, Test, is_iequal(Loc)); - } - -// equals predicate -----------------------------------------------// - - //! 'Equals' predicate - /*! - This predicate holds when the test container is equal to the - input container i.e. all elements in both containers are same. - When the optional predicate is specified, it is used for character-wise - comparison. - - \param Input An input sequence - \param Test A test sequence - \param Comp An element comparison predicate - \return The result of the test - - \note This is a two-way version of \c std::equal algorithm - - \note This function provides the strong exception-safety guarantee - */ - template - inline bool equals( - const Range1T& Input, - const Range2T& Test, - PredicateT Comp) - { - iterator_range::type> lit_input(::lslboost::as_literal(Input)); - iterator_range::type> lit_test(::lslboost::as_literal(Test)); - - typedef BOOST_STRING_TYPENAME - range_const_iterator::type Iterator1T; - typedef BOOST_STRING_TYPENAME - range_const_iterator::type Iterator2T; - - Iterator1T InputEnd=::lslboost::end(lit_input); - Iterator2T TestEnd=::lslboost::end(lit_test); - - Iterator1T it=::lslboost::begin(lit_input); - Iterator2T pit=::lslboost::begin(lit_test); - for(; - it!=InputEnd && pit!=TestEnd; - ++it,++pit) - { - if( !(Comp(*it,*pit)) ) - return false; - } - - return (pit==TestEnd) && (it==InputEnd); - } - - //! 'Equals' predicate - /*! - \overload - */ - template - inline bool equals( - const Range1T& Input, - const Range2T& Test) - { - return ::lslboost::algorithm::equals(Input, Test, is_equal()); - } - - //! 'Equals' predicate ( case insensitive ) - /*! - This predicate holds when the test container is equal to the - input container i.e. all elements in both containers are same. - Elements are compared case insensitively. - - \param Input An input sequence - \param Test A test sequence - \param Loc A locale used for case insensitive comparison - \return The result of the test - - \note This is a two-way version of \c std::equal algorithm - - \note This function provides the strong exception-safety guarantee - */ - template - inline bool iequals( - const Range1T& Input, - const Range2T& Test, - const std::locale& Loc=std::locale()) - { - return ::lslboost::algorithm::equals(Input, Test, is_iequal(Loc)); - } - -// lexicographical_compare predicate -----------------------------// - - //! Lexicographical compare predicate - /*! - This predicate is an overload of std::lexicographical_compare - for range arguments - - It check whether the first argument is lexicographically less - then the second one. - - If the optional predicate is specified, it is used for character-wise - comparison - - \param Arg1 First argument - \param Arg2 Second argument - \param Pred Comparison predicate - \return The result of the test - - \note This function provides the strong exception-safety guarantee - */ - template - inline bool lexicographical_compare( - const Range1T& Arg1, - const Range2T& Arg2, - PredicateT Pred) - { - iterator_range::type> lit_arg1(::lslboost::as_literal(Arg1)); - iterator_range::type> lit_arg2(::lslboost::as_literal(Arg2)); - - return std::lexicographical_compare( - ::lslboost::begin(lit_arg1), - ::lslboost::end(lit_arg1), - ::lslboost::begin(lit_arg2), - ::lslboost::end(lit_arg2), - Pred); - } - - //! Lexicographical compare predicate - /*! - \overload - */ - template - inline bool lexicographical_compare( - const Range1T& Arg1, - const Range2T& Arg2) - { - return ::lslboost::algorithm::lexicographical_compare(Arg1, Arg2, is_less()); - } - - //! Lexicographical compare predicate (case-insensitive) - /*! - This predicate is an overload of std::lexicographical_compare - for range arguments. - It check whether the first argument is lexicographically less - then the second one. - Elements are compared case insensitively - - - \param Arg1 First argument - \param Arg2 Second argument - \param Loc A locale used for case insensitive comparison - \return The result of the test - - \note This function provides the strong exception-safety guarantee - */ - template - inline bool ilexicographical_compare( - const Range1T& Arg1, - const Range2T& Arg2, - const std::locale& Loc=std::locale()) - { - return ::lslboost::algorithm::lexicographical_compare(Arg1, Arg2, is_iless(Loc)); - } - - -// all predicate -----------------------------------------------// - - //! 'All' predicate - /*! - This predicate holds it all its elements satisfy a given - condition, represented by the predicate. - - \param Input An input sequence - \param Pred A predicate - \return The result of the test - - \note This function provides the strong exception-safety guarantee - */ - template - inline bool all( - const RangeT& Input, - PredicateT Pred) - { - iterator_range::type> lit_input(::lslboost::as_literal(Input)); - - typedef BOOST_STRING_TYPENAME - range_const_iterator::type Iterator1T; - - Iterator1T InputEnd=::lslboost::end(lit_input); - for( Iterator1T It=::lslboost::begin(lit_input); It!=InputEnd; ++It) - { - if (!Pred(*It)) - return false; - } - - return true; - } - - } // namespace algorithm - - // pull names to the boost namespace - using algorithm::starts_with; - using algorithm::istarts_with; - using algorithm::ends_with; - using algorithm::iends_with; - using algorithm::contains; - using algorithm::icontains; - using algorithm::equals; - using algorithm::iequals; - using algorithm::all; - using algorithm::lexicographical_compare; - using algorithm::ilexicographical_compare; - -} // namespace lslboost - - -#endif // BOOST_STRING_PREDICATE_HPP diff --git a/lslboost/boost/algorithm/string/replace.hpp b/lslboost/boost/algorithm/string/replace.hpp deleted file mode 100644 index c5ec23f24..000000000 --- a/lslboost/boost/algorithm/string/replace.hpp +++ /dev/null @@ -1,926 +0,0 @@ -// Boost string_algo library replace.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2006. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_REPLACE_HPP -#define BOOST_STRING_REPLACE_HPP - -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -/*! \file - Defines various replace algorithms. Each algorithm replaces - part(s) of the input according to set of searching and replace criteria. -*/ - -namespace lslboost { - namespace algorithm { - -// replace_range --------------------------------------------------------------------// - - //! Replace range algorithm - /*! - Replace the given range in the input string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param SearchRange A range in the input to be substituted - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT replace_range_copy( - OutputIteratorT Output, - const Range1T& Input, - const iterator_range< - BOOST_STRING_TYPENAME - range_const_iterator::type>& SearchRange, - const Range2T& Format) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::range_finder(SearchRange), - ::lslboost::algorithm::const_formatter(Format)); - } - - //! Replace range algorithm - /*! - \overload - */ - template - inline SequenceT replace_range_copy( - const SequenceT& Input, - const iterator_range< - BOOST_STRING_TYPENAME - range_const_iterator::type>& SearchRange, - const RangeT& Format) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::range_finder(SearchRange), - ::lslboost::algorithm::const_formatter(Format)); - } - - //! Replace range algorithm - /*! - Replace the given range in the input string. - The input sequence is modified in-place. - - \param Input An input string - \param SearchRange A range in the input to be substituted - \param Format A substitute string - */ - template - inline void replace_range( - SequenceT& Input, - const iterator_range< - BOOST_STRING_TYPENAME - range_iterator::type>& SearchRange, - const RangeT& Format) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::range_finder(SearchRange), - ::lslboost::algorithm::const_formatter(Format)); - } - -// replace_first --------------------------------------------------------------------// - - //! Replace first algorithm - /*! - Replace the first match of the search substring in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT replace_first_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const Range3T& Format) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::first_finder(Search), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace first algorithm - /*! - \overload - */ - template - inline SequenceT replace_first_copy( - const SequenceT& Input, - const Range1T& Search, - const Range2T& Format ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::first_finder(Search), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace first algorithm - /*! - replace the first match of the search substring in the input - with the format string. The input sequence is modified in-place. - - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - */ - template - inline void replace_first( - SequenceT& Input, - const Range1T& Search, - const Range2T& Format ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::first_finder(Search), - ::lslboost::algorithm::const_formatter(Format) ); - } - -// replace_first ( case insensitive ) ---------------------------------------------// - - //! Replace first algorithm ( case insensitive ) - /*! - Replace the first match of the search substring in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - Searching is case insensitive. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT ireplace_first_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const Range3T& Format, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::first_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace first algorithm ( case insensitive ) - /*! - \overload - */ - template - inline SequenceT ireplace_first_copy( - const SequenceT& Input, - const Range2T& Search, - const Range1T& Format, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::first_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace first algorithm ( case insensitive ) - /*! - Replace the first match of the search substring in the input - with the format string. Input sequence is modified in-place. - Searching is case insensitive. - - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - */ - template - inline void ireplace_first( - SequenceT& Input, - const Range1T& Search, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::first_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::const_formatter(Format) ); - } - -// replace_last --------------------------------------------------------------------// - - //! Replace last algorithm - /*! - Replace the last match of the search string in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT replace_last_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const Range3T& Format ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::last_finder(Search), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace last algorithm - /*! - \overload - */ - template - inline SequenceT replace_last_copy( - const SequenceT& Input, - const Range1T& Search, - const Range2T& Format ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::last_finder(Search), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace last algorithm - /*! - Replace the last match of the search string in the input - with the format string. Input sequence is modified in-place. - - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - */ - template - inline void replace_last( - SequenceT& Input, - const Range1T& Search, - const Range2T& Format ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::last_finder(Search), - ::lslboost::algorithm::const_formatter(Format) ); - } - -// replace_last ( case insensitive ) -----------------------------------------------// - - //! Replace last algorithm ( case insensitive ) - /*! - Replace the last match of the search string in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - Searching is case insensitive. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT ireplace_last_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const Range3T& Format, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::last_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace last algorithm ( case insensitive ) - /*! - \overload - */ - template - inline SequenceT ireplace_last_copy( - const SequenceT& Input, - const Range1T& Search, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::last_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace last algorithm ( case insensitive ) - /*! - Replace the last match of the search string in the input - with the format string.The input sequence is modified in-place. - Searching is case insensitive. - - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - */ - template - inline void ireplace_last( - SequenceT& Input, - const Range1T& Search, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::last_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::const_formatter(Format) ); - } - -// replace_nth --------------------------------------------------------------------// - - //! Replace nth algorithm - /*! - Replace an Nth (zero-indexed) match of the search string in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Nth An index of the match to be replaced. The index is 0-based. - For negative N, matches are counted from the end of string. - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT replace_nth_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - int Nth, - const Range3T& Format ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::nth_finder(Search, Nth), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace nth algorithm - /*! - \overload - */ - template - inline SequenceT replace_nth_copy( - const SequenceT& Input, - const Range1T& Search, - int Nth, - const Range2T& Format ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::nth_finder(Search, Nth), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace nth algorithm - /*! - Replace an Nth (zero-indexed) match of the search string in the input - with the format string. Input sequence is modified in-place. - - \param Input An input string - \param Search A substring to be searched for - \param Nth An index of the match to be replaced. The index is 0-based. - For negative N, matches are counted from the end of string. - \param Format A substitute string - */ - template - inline void replace_nth( - SequenceT& Input, - const Range1T& Search, - int Nth, - const Range2T& Format ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::nth_finder(Search, Nth), - ::lslboost::algorithm::const_formatter(Format) ); - } - -// replace_nth ( case insensitive ) -----------------------------------------------// - - //! Replace nth algorithm ( case insensitive ) - /*! - Replace an Nth (zero-indexed) match of the search string in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - Searching is case insensitive. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Nth An index of the match to be replaced. The index is 0-based. - For negative N, matches are counted from the end of string. - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT ireplace_nth_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - int Nth, - const Range3T& Format, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::nth_finder(Search, Nth, is_iequal(Loc) ), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace nth algorithm ( case insensitive ) - /*! - \overload - */ - template - inline SequenceT ireplace_nth_copy( - const SequenceT& Input, - const Range1T& Search, - int Nth, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::nth_finder(Search, Nth, is_iequal(Loc)), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace nth algorithm ( case insensitive ) - /*! - Replace an Nth (zero-indexed) match of the search string in the input - with the format string. Input sequence is modified in-place. - Searching is case insensitive. - - \param Input An input string - \param Search A substring to be searched for - \param Nth An index of the match to be replaced. The index is 0-based. - For negative N, matches are counted from the end of string. - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - */ - template - inline void ireplace_nth( - SequenceT& Input, - const Range1T& Search, - int Nth, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::nth_finder(Search, Nth, is_iequal(Loc)), - ::lslboost::algorithm::const_formatter(Format) ); - } - -// replace_all --------------------------------------------------------------------// - - //! Replace all algorithm - /*! - Replace all occurrences of the search string in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT replace_all_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const Range3T& Format ) - { - return ::lslboost::algorithm::find_format_all_copy( - Output, - Input, - ::lslboost::algorithm::first_finder(Search), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace all algorithm - /*! - \overload - */ - template - inline SequenceT replace_all_copy( - const SequenceT& Input, - const Range1T& Search, - const Range2T& Format ) - { - return ::lslboost::algorithm::find_format_all_copy( - Input, - ::lslboost::algorithm::first_finder(Search), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace all algorithm - /*! - Replace all occurrences of the search string in the input - with the format string. The input sequence is modified in-place. - - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - */ - template - inline void replace_all( - SequenceT& Input, - const Range1T& Search, - const Range2T& Format ) - { - ::lslboost::algorithm::find_format_all( - Input, - ::lslboost::algorithm::first_finder(Search), - ::lslboost::algorithm::const_formatter(Format) ); - } - -// replace_all ( case insensitive ) -----------------------------------------------// - - //! Replace all algorithm ( case insensitive ) - /*! - Replace all occurrences of the search string in the input - with the format string. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - Searching is case insensitive. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T, - typename Range3T> - inline OutputIteratorT ireplace_all_copy( - OutputIteratorT Output, - const Range1T& Input, - const Range2T& Search, - const Range3T& Format, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_all_copy( - Output, - Input, - ::lslboost::algorithm::first_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace all algorithm ( case insensitive ) - /*! - \overload - */ - template - inline SequenceT ireplace_all_copy( - const SequenceT& Input, - const Range1T& Search, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - return ::lslboost::algorithm::find_format_all_copy( - Input, - ::lslboost::algorithm::first_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace all algorithm ( case insensitive ) - /*! - Replace all occurrences of the search string in the input - with the format string.The input sequence is modified in-place. - Searching is case insensitive. - - \param Input An input string - \param Search A substring to be searched for - \param Format A substitute string - \param Loc A locale used for case insensitive comparison - */ - template - inline void ireplace_all( - SequenceT& Input, - const Range1T& Search, - const Range2T& Format, - const std::locale& Loc=std::locale() ) - { - ::lslboost::algorithm::find_format_all( - Input, - ::lslboost::algorithm::first_finder(Search, is_iequal(Loc)), - ::lslboost::algorithm::const_formatter(Format) ); - } - -// replace_head --------------------------------------------------------------------// - - //! Replace head algorithm - /*! - Replace the head of the input with the given format string. - The head is a prefix of a string of given size. - If the sequence is shorter then required, whole string if - considered to be the head. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param N Length of the head. - For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT replace_head_copy( - OutputIteratorT Output, - const Range1T& Input, - int N, - const Range2T& Format ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::head_finder(N), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace head algorithm - /*! - \overload - */ - template - inline SequenceT replace_head_copy( - const SequenceT& Input, - int N, - const RangeT& Format ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::head_finder(N), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace head algorithm - /*! - Replace the head of the input with the given format string. - The head is a prefix of a string of given size. - If the sequence is shorter then required, the whole string is - considered to be the head. The input sequence is modified in-place. - - \param Input An input string - \param N Length of the head. - For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. - \param Format A substitute string - */ - template - inline void replace_head( - SequenceT& Input, - int N, - const RangeT& Format ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::head_finder(N), - ::lslboost::algorithm::const_formatter(Format) ); - } - -// replace_tail --------------------------------------------------------------------// - - //! Replace tail algorithm - /*! - Replace the tail of the input with the given format string. - The tail is a suffix of a string of given size. - If the sequence is shorter then required, whole string is - considered to be the tail. - The result is a modified copy of the input. It is returned as a sequence - or copied to the output iterator. - - \param Output An output iterator to which the result will be copied - \param Input An input string - \param N Length of the tail. - For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. - \param Format A substitute string - \return An output iterator pointing just after the last inserted character or - a modified copy of the input - - \note The second variant of this function provides the strong exception-safety guarantee - */ - template< - typename OutputIteratorT, - typename Range1T, - typename Range2T> - inline OutputIteratorT replace_tail_copy( - OutputIteratorT Output, - const Range1T& Input, - int N, - const Range2T& Format ) - { - return ::lslboost::algorithm::find_format_copy( - Output, - Input, - ::lslboost::algorithm::tail_finder(N), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace tail algorithm - /*! - \overload - */ - template - inline SequenceT replace_tail_copy( - const SequenceT& Input, - int N, - const RangeT& Format ) - { - return ::lslboost::algorithm::find_format_copy( - Input, - ::lslboost::algorithm::tail_finder(N), - ::lslboost::algorithm::const_formatter(Format) ); - } - - //! Replace tail algorithm - /*! - Replace the tail of the input with the given format sequence. - The tail is a suffix of a string of given size. - If the sequence is shorter then required, the whole string is - considered to be the tail. The input sequence is modified in-place. - - \param Input An input string - \param N Length of the tail. - For N>=0, at most N characters are extracted. - For N<0, size(Input)-|N| characters are extracted. - \param Format A substitute string - */ - template - inline void replace_tail( - SequenceT& Input, - int N, - const RangeT& Format ) - { - ::lslboost::algorithm::find_format( - Input, - ::lslboost::algorithm::tail_finder(N), - ::lslboost::algorithm::const_formatter(Format) ); - } - - } // namespace algorithm - - // pull names to the boost namespace - using algorithm::replace_range_copy; - using algorithm::replace_range; - using algorithm::replace_first_copy; - using algorithm::replace_first; - using algorithm::ireplace_first_copy; - using algorithm::ireplace_first; - using algorithm::replace_last_copy; - using algorithm::replace_last; - using algorithm::ireplace_last_copy; - using algorithm::ireplace_last; - using algorithm::replace_nth_copy; - using algorithm::replace_nth; - using algorithm::ireplace_nth_copy; - using algorithm::ireplace_nth; - using algorithm::replace_all_copy; - using algorithm::replace_all; - using algorithm::ireplace_all_copy; - using algorithm::ireplace_all; - using algorithm::replace_head_copy; - using algorithm::replace_head; - using algorithm::replace_tail_copy; - using algorithm::replace_tail; - -} // namespace lslboost - -#endif // BOOST_REPLACE_HPP diff --git a/lslboost/boost/algorithm/string/sequence_traits.hpp b/lslboost/boost/algorithm/string/sequence_traits.hpp deleted file mode 100644 index 0476bd49e..000000000 --- a/lslboost/boost/algorithm/string/sequence_traits.hpp +++ /dev/null @@ -1,120 +0,0 @@ -// Boost string_algo library sequence_traits.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_SEQUENCE_TRAITS_HPP -#define BOOST_STRING_SEQUENCE_TRAITS_HPP - -#include -#include -#include - -/*! \file - Traits defined in this header are used by various algorithms to achieve - better performance for specific containers. - Traits provide fail-safe defaults. If a container supports some of these - features, it is possible to specialize the specific trait for this container. - For lacking compilers, it is possible of define an override for a specific tester - function. - - Due to a language restriction, it is not currently possible to define specializations for - stl containers without including the corresponding header. To decrease the overhead - needed by this inclusion, user can selectively include a specialization - header for a specific container. They are located in boost/algorithm/string/stl - directory. Alternatively she can include boost/algorithm/string/std_collection_traits.hpp - header which contains specializations for all stl containers. -*/ - -namespace lslboost { - namespace algorithm { - -// sequence traits -----------------------------------------------// - - - //! Native replace trait - /*! - This trait specifies that the sequence has \c std::string like replace method - */ - template< typename T > - class has_native_replace - { - - public: -# if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - enum { value = false }; -# else - BOOST_STATIC_CONSTANT(bool, value=false); -# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - - - typedef mpl::bool_::value> type; - }; - - - //! Stable iterators trait - /*! - This trait specifies that the sequence has stable iterators. It means - that operations like insert/erase/replace do not invalidate iterators. - */ - template< typename T > - class has_stable_iterators - { - public: -# if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - enum { value = false }; -# else - BOOST_STATIC_CONSTANT(bool, value=false); -# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - - typedef mpl::bool_::value> type; - }; - - - //! Const time insert trait - /*! - This trait specifies that the sequence's insert method has - constant time complexity. - */ - template< typename T > - class has_const_time_insert - { - public: -# if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - enum { value = false }; -# else - BOOST_STATIC_CONSTANT(bool, value=false); -# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - - typedef mpl::bool_::value> type; - }; - - - //! Const time erase trait - /*! - This trait specifies that the sequence's erase method has - constant time complexity. - */ - template< typename T > - class has_const_time_erase - { - public: -# if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - enum { value = false }; -# else - BOOST_STATIC_CONSTANT(bool, value=false); -# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - - typedef mpl::bool_::value> type; - }; - - } // namespace algorithm -} // namespace lslboost - - -#endif // BOOST_STRING_SEQUENCE_TRAITS_HPP diff --git a/lslboost/boost/algorithm/string/split.hpp b/lslboost/boost/algorithm/string/split.hpp index a0c335090..268ef8e37 100644 --- a/lslboost/boost/algorithm/string/split.hpp +++ b/lslboost/boost/algorithm/string/split.hpp @@ -61,7 +61,11 @@ namespace lslboost { template< typename SequenceSequenceT, typename Range1T, typename Range2T > inline SequenceSequenceT& find_all( SequenceSequenceT& Result, +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + Range1T&& Input, +#else Range1T& Input, +#endif const Range2T& Search) { return ::lslboost::algorithm::iter_find( @@ -96,7 +100,11 @@ namespace lslboost { template< typename SequenceSequenceT, typename Range1T, typename Range2T > inline SequenceSequenceT& ifind_all( SequenceSequenceT& Result, +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + Range1T&& Input, +#else Range1T& Input, +#endif const Range2T& Search, const std::locale& Loc=std::locale() ) { @@ -139,7 +147,11 @@ namespace lslboost { template< typename SequenceSequenceT, typename RangeT, typename PredicateT > inline SequenceSequenceT& split( SequenceSequenceT& Result, +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + RangeT&& Input, +#else RangeT& Input, +#endif PredicateT Pred, token_compress_mode_type eCompress=token_compress_off ) { diff --git a/lslboost/boost/algorithm/string/std/list_traits.hpp b/lslboost/boost/algorithm/string/std/list_traits.hpp deleted file mode 100644 index cc9713099..000000000 --- a/lslboost/boost/algorithm/string/std/list_traits.hpp +++ /dev/null @@ -1,68 +0,0 @@ -// Boost string_algo library list_traits.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_STD_LIST_TRAITS_HPP -#define BOOST_STRING_STD_LIST_TRAITS_HPP - -#include -#include -#include - -namespace lslboost { - namespace algorithm { - -// std::list<> traits -----------------------------------------------// - - - // stable iterators trait - template - class has_stable_iterators< ::std::list > - { - public: -#if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - enum { value = true }; -#else - BOOST_STATIC_CONSTANT(bool, value=true); -#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - typedef mpl::bool_::value> type; - }; - - // const time insert trait - template - class has_const_time_insert< ::std::list > - { - public: -#if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - enum { value = true }; -#else - BOOST_STATIC_CONSTANT(bool, value=true); -#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - typedef mpl::bool_::value> type; - }; - - // const time erase trait - template - class has_const_time_erase< ::std::list > - { - public: -#if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - enum { value = true }; -#else - BOOST_STATIC_CONSTANT(bool, value=true); -#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - typedef mpl::bool_::value> type; - }; - - - } // namespace algorithm -} // namespace lslboost - - -#endif // BOOST_STRING_STD_LIST_TRAITS_HPP diff --git a/lslboost/boost/algorithm/string/std/slist_traits.hpp b/lslboost/boost/algorithm/string/std/slist_traits.hpp deleted file mode 100644 index b1226ed5c..000000000 --- a/lslboost/boost/algorithm/string/std/slist_traits.hpp +++ /dev/null @@ -1,69 +0,0 @@ -// Boost string_algo library slist_traits.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_STD_SLIST_TRAITS_HPP -#define BOOST_STRING_STD_SLIST_TRAITS_HPP - -#include -#include -#include BOOST_SLIST_HEADER -#include - -namespace lslboost { - namespace algorithm { - -// SGI's std::slist<> traits -----------------------------------------------// - - - // stable iterators trait - template - class has_stable_iterators< BOOST_STD_EXTENSION_NAMESPACE::slist > - { - public: -#if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - enum { value = true }; -#else - BOOST_STATIC_CONSTANT(bool, value=true); -#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - typedef mpl::bool_::value> type; - }; - - // const time insert trait - template - class has_const_time_insert< BOOST_STD_EXTENSION_NAMESPACE::slist > - { - public: -#if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - enum { value = true }; -#else - BOOST_STATIC_CONSTANT(bool, value=true); -#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - typedef mpl::bool_::value> type; - }; - - // const time erase trait - template - class has_const_time_erase< BOOST_STD_EXTENSION_NAMESPACE::slist > - { - public: -#if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - enum { value = true }; -#else - BOOST_STATIC_CONSTANT(bool, value=true); -#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - typedef mpl::bool_::value> type; - }; - - - } // namespace algorithm -} // namespace lslboost - - -#endif // BOOST_STRING_STD_LIST_TRAITS_HPP diff --git a/lslboost/boost/algorithm/string/std/string_traits.hpp b/lslboost/boost/algorithm/string/std/string_traits.hpp deleted file mode 100644 index 535a76161..000000000 --- a/lslboost/boost/algorithm/string/std/string_traits.hpp +++ /dev/null @@ -1,44 +0,0 @@ -// Boost string_algo library string_traits.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_STD_STRING_TRAITS_HPP -#define BOOST_STRING_STD_STRING_TRAITS_HPP - -#include -#include -#include - -namespace lslboost { - namespace algorithm { - -// std::basic_string<> traits -----------------------------------------------// - - - // native replace trait - template - class has_native_replace< std::basic_string > - { - public: -#if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - enum { value = true } ; -#else - BOOST_STATIC_CONSTANT(bool, value=true); -#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) - - typedef mpl::bool_::value> type; - }; - - - - } // namespace algorithm -} // namespace lslboost - - -#endif // BOOST_STRING_LIST_TRAITS_HPP diff --git a/lslboost/boost/algorithm/string/std_containers_traits.hpp b/lslboost/boost/algorithm/string/std_containers_traits.hpp deleted file mode 100644 index 3f02246fd..000000000 --- a/lslboost/boost/algorithm/string/std_containers_traits.hpp +++ /dev/null @@ -1,26 +0,0 @@ -// Boost string_algo library std_containers_traits.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_STD_CONTAINERS_TRAITS_HPP -#define BOOST_STRING_STD_CONTAINERS_TRAITS_HPP - -/*!\file - This file includes sequence traits for stl containers. -*/ - -#include -#include -#include - -#ifdef BOOST_HAS_SLIST -# include -#endif - -#endif // BOOST_STRING_STD_CONTAINERS_TRAITS_HPP diff --git a/lslboost/boost/algorithm/string/yes_no_type.hpp b/lslboost/boost/algorithm/string/yes_no_type.hpp deleted file mode 100644 index 161e3d728..000000000 --- a/lslboost/boost/algorithm/string/yes_no_type.hpp +++ /dev/null @@ -1,33 +0,0 @@ -// Boost string_algo library yes_no_type.hpp header file ---------------------------// - -// Copyright Pavol Droba 2002-2003. -// -// 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) - -// See http://www.boost.org/ for updates, documentation, and revision history. - -#ifndef BOOST_STRING_YES_NO_TYPE_DETAIL_HPP -#define BOOST_STRING_YES_NO_TYPE_DETAIL_HPP - -namespace lslboost { - namespace algorithm { - - // taken from boost mailing-list - // when yes_no_type will become officially - // a part of boost distribution, this header - // will be deprecated - template struct size_descriptor - { - typedef char (& type)[I]; - }; - - typedef size_descriptor<1>::type yes_type; - typedef size_descriptor<2>::type no_type; - - } // namespace algorithm -} // namespace lslboost - - -#endif // BOOST_STRING_YES_NO_TYPE_DETAIL_HPP diff --git a/lslboost/boost/align/align.hpp b/lslboost/boost/align/align.hpp new file mode 100644 index 000000000..92f0c616b --- /dev/null +++ b/lslboost/boost/align/align.hpp @@ -0,0 +1,19 @@ +/* +Copyright 2014-2015 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_ALIGN_HPP +#define BOOST_ALIGN_ALIGN_HPP + +#include + +#if !defined(BOOST_NO_CXX11_STD_ALIGN) && !defined(BOOST_LIBSTDCXX_VERSION) +#include +#else +#include +#endif + +#endif diff --git a/lslboost/boost/align/aligned_alloc.hpp b/lslboost/boost/align/aligned_alloc.hpp new file mode 100644 index 000000000..1d81a1337 --- /dev/null +++ b/lslboost/boost/align/aligned_alloc.hpp @@ -0,0 +1,47 @@ +/* +Copyright 2014-2015 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_ALIGNED_ALLOC_HPP +#define BOOST_ALIGN_ALIGNED_ALLOC_HPP + +#include + +#if defined(BOOST_HAS_UNISTD_H) +#include +#endif + +#if defined(__APPLE__) || defined(__APPLE_CC__) || defined(macintosh) +#include +#endif + +#if defined(BOOST_ALIGN_USE_ALIGN) +#include +#elif defined(BOOST_ALIGN_USE_NEW) +#include +#elif defined(_MSC_VER) && !defined(UNDER_CE) +#include +#elif defined(__MINGW32__) && (__MSVCRT_VERSION__ >= 0x0700) +#include +#elif defined(__MINGW32__) +#include +#elif MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 +#include +#elif MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 +#include +#elif defined(__ANDROID__) +#include +#elif defined(__SunOS_5_11) || defined(__SunOS_5_12) +#include +#elif defined(sun) || defined(__sun) +#include +#elif (_POSIX_C_SOURCE >= 200112L) || (_XOPEN_SOURCE >= 600) +#include +#else +#include +#endif + +#endif diff --git a/lslboost/boost/align/alignment_of.hpp b/lslboost/boost/align/alignment_of.hpp new file mode 100644 index 000000000..be3283e45 --- /dev/null +++ b/lslboost/boost/align/alignment_of.hpp @@ -0,0 +1,54 @@ +/* +Copyright 2014-2016 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_ALIGNMENT_OF_HPP +#define BOOST_ALIGN_ALIGNMENT_OF_HPP + +#include +#include + +#if defined(_MSC_VER) && defined(__clang__) +#include +#elif defined(BOOST_MSVC) +#include +#elif defined(__GNUC__) && defined(__unix__) && !defined(__LP64__) +#include +#elif defined(BOOST_CLANG) && !defined(__x86_64__) +#include +#elif !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) +#include +#elif defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600) +#include +#elif defined(BOOST_CODEGEARC) +#include +#elif defined(BOOST_CLANG) +#include +#elif __GNUC__ > 4 +#include +#elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) +#include +#else +#include +#endif + +namespace lslboost { +namespace alignment { + +template +struct alignment_of + : detail::alignment_of::type>::type { }; + +#if !defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES) +template +constexpr std::size_t alignment_of_v = alignment_of::value; +#endif + +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/alignment_of_forward.hpp b/lslboost/boost/align/alignment_of_forward.hpp new file mode 100644 index 000000000..c4d13cd45 --- /dev/null +++ b/lslboost/boost/align/alignment_of_forward.hpp @@ -0,0 +1,20 @@ +/* +Copyright 2014 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_ALIGNMENT_OF_FORWARD_HPP +#define BOOST_ALIGN_ALIGNMENT_OF_FORWARD_HPP + +namespace lslboost { +namespace alignment { + +template +struct alignment_of; + +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/align.hpp b/lslboost/boost/align/detail/align.hpp new file mode 100644 index 000000000..708406159 --- /dev/null +++ b/lslboost/boost/align/detail/align.hpp @@ -0,0 +1,38 @@ +/* +Copyright 2014-2020 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGN_HPP +#define BOOST_ALIGN_DETAIL_ALIGN_HPP + +#include +#include + +namespace lslboost { +namespace alignment { + +inline void* +align(std::size_t alignment, std::size_t size, void*& ptr, + std::size_t& space) +{ + BOOST_ASSERT(lslboost::alignment::detail::is_alignment(alignment)); + if (size <= space) { + char* p = reinterpret_cast(~(alignment - 1) & + (reinterpret_cast(ptr) + alignment - 1)); + std::size_t n = p - static_cast(ptr); + if (n <= space - size) { + ptr = p; + space -= n; + return p; + } + } + return 0; +} + +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/align_cxx11.hpp b/lslboost/boost/align/detail/align_cxx11.hpp new file mode 100644 index 000000000..139aa40f9 --- /dev/null +++ b/lslboost/boost/align/detail/align_cxx11.hpp @@ -0,0 +1,21 @@ +/* +Copyright 2014 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGN_CXX11_HPP +#define BOOST_ALIGN_DETAIL_ALIGN_CXX11_HPP + +#include + +namespace lslboost { +namespace alignment { + +using std::align; + +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/aligned_alloc.hpp b/lslboost/boost/align/detail/aligned_alloc.hpp new file mode 100644 index 000000000..a028e2d87 --- /dev/null +++ b/lslboost/boost/align/detail/aligned_alloc.hpp @@ -0,0 +1,52 @@ +/* +Copyright 2014-2015 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_HPP +#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_HPP + +#include +#include +#include +#include +#include + +namespace lslboost { +namespace alignment { + +inline void* +aligned_alloc(std::size_t alignment, std::size_t size) BOOST_NOEXCEPT +{ + BOOST_ASSERT(detail::is_alignment(alignment)); + enum { + N = alignment_of::value + }; + if (alignment < N) { + alignment = N; + } + std::size_t n = size + alignment - N; + void* p = std::malloc(sizeof(void*) + n); + if (p) { + void* r = static_cast(p) + sizeof(void*); + (void)lslboost::alignment::align(alignment, size, r, n); + *(static_cast(r) - 1) = p; + p = r; + } + return p; +} + +inline void +aligned_free(void* ptr) BOOST_NOEXCEPT +{ + if (ptr) { + std::free(*(static_cast(ptr) - 1)); + } +} + +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/aligned_alloc_android.hpp b/lslboost/boost/align/detail/aligned_alloc_android.hpp new file mode 100644 index 000000000..502ad4b5b --- /dev/null +++ b/lslboost/boost/align/detail/aligned_alloc_android.hpp @@ -0,0 +1,34 @@ +/* +Copyright 2014 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_ANDROID_HPP +#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_ANDROID_HPP + +#include +#include +#include + +namespace lslboost { +namespace alignment { + +inline void* +aligned_alloc(std::size_t alignment, std::size_t size) BOOST_NOEXCEPT +{ + BOOST_ASSERT(detail::is_alignment(alignment)); + return ::memalign(alignment, size); +} + +inline void +aligned_free(void* ptr) BOOST_NOEXCEPT +{ + ::free(ptr); +} + +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/aligned_alloc_macos.hpp b/lslboost/boost/align/detail/aligned_alloc_macos.hpp new file mode 100644 index 000000000..a337ee245 --- /dev/null +++ b/lslboost/boost/align/detail/aligned_alloc_macos.hpp @@ -0,0 +1,44 @@ +/* +Copyright 2014 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MACOS_HPP +#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MACOS_HPP + +#include +#include +#include + +namespace lslboost { +namespace alignment { + +inline void* +aligned_alloc(std::size_t alignment, std::size_t size) BOOST_NOEXCEPT +{ + BOOST_ASSERT(detail::is_alignment(alignment)); + if (size == 0) { + return 0; + } + if (alignment < sizeof(void*)) { + alignment = sizeof(void*); + } + void* p; + if (::posix_memalign(&p, alignment, size) != 0) { + p = 0; + } + return p; +} + +inline void +aligned_free(void* ptr) BOOST_NOEXCEPT +{ + ::free(ptr); +} + +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/aligned_alloc_mingw.hpp b/lslboost/boost/align/detail/aligned_alloc_mingw.hpp new file mode 100644 index 000000000..e57458dba --- /dev/null +++ b/lslboost/boost/align/detail/aligned_alloc_mingw.hpp @@ -0,0 +1,34 @@ +/* +Copyright 2020 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MINGW_HPP +#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MINGW_HPP + +#include +#include +#include + +namespace lslboost { +namespace alignment { + +inline void* +aligned_alloc(std::size_t alignment, std::size_t size) BOOST_NOEXCEPT +{ + BOOST_ASSERT(detail::is_alignment(alignment)); + return ::__mingw_aligned_malloc(size, alignment); +} + +inline void +aligned_free(void* ptr) BOOST_NOEXCEPT +{ + ::__mingw_aligned_free(ptr); +} + +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/aligned_alloc_msvc.hpp b/lslboost/boost/align/detail/aligned_alloc_msvc.hpp new file mode 100644 index 000000000..01246c028 --- /dev/null +++ b/lslboost/boost/align/detail/aligned_alloc_msvc.hpp @@ -0,0 +1,34 @@ +/* +Copyright 2014 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MSVC_HPP +#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MSVC_HPP + +#include +#include +#include + +namespace lslboost { +namespace alignment { + +inline void* +aligned_alloc(std::size_t alignment, std::size_t size) BOOST_NOEXCEPT +{ + BOOST_ASSERT(detail::is_alignment(alignment)); + return ::_aligned_malloc(size, alignment); +} + +inline void +aligned_free(void* ptr) BOOST_NOEXCEPT +{ + ::_aligned_free(ptr); +} + +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/aligned_alloc_new.hpp b/lslboost/boost/align/detail/aligned_alloc_new.hpp new file mode 100644 index 000000000..7e4a58374 --- /dev/null +++ b/lslboost/boost/align/detail/aligned_alloc_new.hpp @@ -0,0 +1,52 @@ +/* +Copyright 2014-2015 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_NEW_HPP +#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_NEW_HPP + +#include +#include +#include +#include +#include + +namespace lslboost { +namespace alignment { + +inline void* +aligned_alloc(std::size_t alignment, std::size_t size) BOOST_NOEXCEPT +{ + BOOST_ASSERT(detail::is_alignment(alignment)); + enum { + N = alignment_of::value + }; + if (alignment < N) { + alignment = N; + } + std::size_t n = size + alignment - N; + void* p = ::operator new(sizeof(void*) + n, std::nothrow); + if (p) { + void* r = static_cast(p) + sizeof(void*); + (void)lslboost::alignment::align(alignment, size, r, n); + *(static_cast(r) - 1) = p; + p = r; + } + return p; +} + +inline void +aligned_free(void* ptr) BOOST_NOEXCEPT +{ + if (ptr) { + ::operator delete(*(static_cast(ptr) - 1)); + } +} + +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/aligned_alloc_posix.hpp b/lslboost/boost/align/detail/aligned_alloc_posix.hpp new file mode 100644 index 000000000..6ff44bc15 --- /dev/null +++ b/lslboost/boost/align/detail/aligned_alloc_posix.hpp @@ -0,0 +1,41 @@ +/* +Copyright 2014 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_POSIX_HPP +#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_POSIX_HPP + +#include +#include +#include + +namespace lslboost { +namespace alignment { + +inline void* +aligned_alloc(std::size_t alignment, std::size_t size) BOOST_NOEXCEPT +{ + BOOST_ASSERT(detail::is_alignment(alignment)); + if (alignment < sizeof(void*)) { + alignment = sizeof(void*); + } + void* p; + if (::posix_memalign(&p, alignment, size) != 0) { + p = 0; + } + return p; +} + +inline void +aligned_free(void* ptr) BOOST_NOEXCEPT +{ + ::free(ptr); +} + +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/aligned_alloc_sunos.hpp b/lslboost/boost/align/detail/aligned_alloc_sunos.hpp new file mode 100644 index 000000000..4fad25f07 --- /dev/null +++ b/lslboost/boost/align/detail/aligned_alloc_sunos.hpp @@ -0,0 +1,34 @@ +/* +Copyright 2014 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_SUNOS_HPP +#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_SUNOS_HPP + +#include +#include +#include + +namespace lslboost { +namespace alignment { + +inline void* +aligned_alloc(std::size_t alignment, std::size_t size) BOOST_NOEXCEPT +{ + BOOST_ASSERT(detail::is_alignment(alignment)); + return ::memalign(alignment, size); +} + +inline void +aligned_free(void* ptr) BOOST_NOEXCEPT +{ + ::free(ptr); +} + +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/alignment_of.hpp b/lslboost/boost/align/detail/alignment_of.hpp new file mode 100644 index 000000000..d10b51c79 --- /dev/null +++ b/lslboost/boost/align/detail/alignment_of.hpp @@ -0,0 +1,31 @@ +/* +Copyright 2014-2015 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_HPP +#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_HPP + +#include + +namespace lslboost { +namespace alignment { +namespace detail { + +template +struct offset_value { + char value; + T object; +}; + +template +struct alignment_of + : min_size) - sizeof(T)> { }; + +} /* detail */ +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/alignment_of_clang.hpp b/lslboost/boost/align/detail/alignment_of_clang.hpp new file mode 100644 index 000000000..e991d3372 --- /dev/null +++ b/lslboost/boost/align/detail/alignment_of_clang.hpp @@ -0,0 +1,26 @@ +/* +Copyright 2014 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CLANG_HPP +#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CLANG_HPP + +#include +#include + +namespace lslboost { +namespace alignment { +namespace detail { + +template +struct alignment_of + : integral_constant { }; + +} /* detail */ +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/alignment_of_codegear.hpp b/lslboost/boost/align/detail/alignment_of_codegear.hpp new file mode 100644 index 000000000..0070c32e5 --- /dev/null +++ b/lslboost/boost/align/detail/alignment_of_codegear.hpp @@ -0,0 +1,26 @@ +/* +Copyright 2014 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CODEGEAR_HPP +#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CODEGEAR_HPP + +#include +#include + +namespace lslboost { +namespace alignment { +namespace detail { + +template +struct alignment_of + : integral_constant { }; + +} /* detail */ +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/alignment_of_cxx11.hpp b/lslboost/boost/align/detail/alignment_of_cxx11.hpp new file mode 100644 index 000000000..0af2ee8c1 --- /dev/null +++ b/lslboost/boost/align/detail/alignment_of_cxx11.hpp @@ -0,0 +1,23 @@ +/* +Copyright 2014 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CXX11_HPP +#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CXX11_HPP + +#include + +namespace lslboost { +namespace alignment { +namespace detail { + +using std::alignment_of; + +} /* detail */ +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/alignment_of_gcc.hpp b/lslboost/boost/align/detail/alignment_of_gcc.hpp new file mode 100644 index 000000000..d25498316 --- /dev/null +++ b/lslboost/boost/align/detail/alignment_of_gcc.hpp @@ -0,0 +1,26 @@ +/* +Copyright 2014 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_GCC_HPP +#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_GCC_HPP + +#include +#include + +namespace lslboost { +namespace alignment { +namespace detail { + +template +struct alignment_of + : integral_constant { }; + +} /* detail */ +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/alignment_of_msvc.hpp b/lslboost/boost/align/detail/alignment_of_msvc.hpp new file mode 100644 index 000000000..6bd08e525 --- /dev/null +++ b/lslboost/boost/align/detail/alignment_of_msvc.hpp @@ -0,0 +1,32 @@ +/* +Copyright 2014-2015 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_MSVC_HPP +#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_MSVC_HPP + +#include + +namespace lslboost { +namespace alignment { +namespace detail { + +template +struct offset_value { + T first; + char value; + T second; +}; + +template +struct alignment_of + : min_size) - (sizeof(T) << 1)> { }; + +} /* detail */ +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/element_type.hpp b/lslboost/boost/align/detail/element_type.hpp new file mode 100644 index 000000000..3ba1c86ad --- /dev/null +++ b/lslboost/boost/align/detail/element_type.hpp @@ -0,0 +1,91 @@ +/* +Copyright 2015 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_ELEMENT_TYPE_HPP +#define BOOST_ALIGN_DETAIL_ELEMENT_TYPE_HPP + +#include + +#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) +#include +#else +#include +#endif + +namespace lslboost { +namespace alignment { +namespace detail { + +#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) +using std::remove_reference; +using std::remove_all_extents; +using std::remove_cv; +#else +template +struct remove_reference { + typedef T type; +}; + +template +struct remove_reference { + typedef T type; +}; + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +template +struct remove_reference { + typedef T type; +}; +#endif + +template +struct remove_all_extents { + typedef T type; +}; + +template +struct remove_all_extents { + typedef typename remove_all_extents::type type; +}; + +template +struct remove_all_extents { + typedef typename remove_all_extents::type type; +}; + +template +struct remove_cv { + typedef T type; +}; + +template +struct remove_cv { + typedef T type; +}; + +template +struct remove_cv { + typedef T type; +}; + +template +struct remove_cv { + typedef T type; +}; +#endif + +template +struct element_type { + typedef typename remove_cv::type>::type>::type type; +}; + +} /* detail */ +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/integral_constant.hpp b/lslboost/boost/align/detail/integral_constant.hpp new file mode 100644 index 000000000..3e5885449 --- /dev/null +++ b/lslboost/boost/align/detail/integral_constant.hpp @@ -0,0 +1,53 @@ +/* +Copyright 2014-2016 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_INTEGRAL_CONSTANT_HPP +#define BOOST_ALIGN_DETAIL_INTEGRAL_CONSTANT_HPP + +#include + +#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) +#include +#endif + +namespace lslboost { +namespace alignment { +namespace detail { + +#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) +using std::integral_constant; +using std::true_type; +using std::false_type; +#else +template +struct integral_constant { + typedef T value_type; + typedef integral_constant type; + + BOOST_CONSTEXPR operator value_type() const BOOST_NOEXCEPT { + return Value; + } + + BOOST_CONSTEXPR value_type operator()() const BOOST_NOEXCEPT { + return Value; + } + + BOOST_STATIC_CONSTEXPR T value = Value; +}; + +template +BOOST_CONSTEXPR_OR_CONST T integral_constant::value; + +typedef integral_constant true_type; +typedef integral_constant false_type; +#endif + +} /* detail */ +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/is_alignment.hpp b/lslboost/boost/align/detail/is_alignment.hpp new file mode 100644 index 000000000..894270230 --- /dev/null +++ b/lslboost/boost/align/detail/is_alignment.hpp @@ -0,0 +1,28 @@ +/* +Copyright 2014 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_IS_ALIGNMENT_HPP +#define BOOST_ALIGN_DETAIL_IS_ALIGNMENT_HPP + +#include +#include + +namespace lslboost { +namespace alignment { +namespace detail { + +BOOST_CONSTEXPR inline bool +is_alignment(std::size_t value) BOOST_NOEXCEPT +{ + return (value > 0) && ((value & (value - 1)) == 0); +} + +} /* detail */ +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/align/detail/min_size.hpp b/lslboost/boost/align/detail/min_size.hpp new file mode 100644 index 000000000..f84861f02 --- /dev/null +++ b/lslboost/boost/align/detail/min_size.hpp @@ -0,0 +1,26 @@ +/* +Copyright 2014 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_ALIGN_DETAIL_MIN_SIZE_HPP +#define BOOST_ALIGN_DETAIL_MIN_SIZE_HPP + +#include +#include + +namespace lslboost { +namespace alignment { +namespace detail { + +template +struct min_size + : integral_constant { }; + +} /* detail */ +} /* alignment */ +} /* boost */ + +#endif diff --git a/lslboost/boost/any.hpp b/lslboost/boost/any.hpp deleted file mode 100644 index 087854725..000000000 --- a/lslboost/boost/any.hpp +++ /dev/null @@ -1,337 +0,0 @@ -// See http://www.boost.org/libs/any for Documentation. - -#ifndef BOOST_ANY_INCLUDED -#define BOOST_ANY_INCLUDED - -#if defined(_MSC_VER) -# pragma once -#endif - -// what: variant type lslboost::any -// who: contributed by Kevlin Henney, -// with features contributed and bugs found by -// Antony Polukhin, Ed Brey, Mark Rodgers, -// Peter Dimov, and James Curran -// when: July 2001, April 2013 - May 2013 - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace lslboost -{ - class any - { - public: // structors - - any() BOOST_NOEXCEPT - : content(0) - { - } - - template - any(const ValueType & value) - : content(new holder< - BOOST_DEDUCED_TYPENAME remove_cv::type>::type - >(value)) - { - } - - any(const any & other) - : content(other.content ? other.content->clone() : 0) - { - } - -#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 lslboost::disable_if >::type* = 0 // disable if value has type `any&` - , typename lslboost::disable_if >::type* = 0) // disable if value has type `const ValueType&&` - : content(new holder< typename decay::type >(static_cast(value))) - { - } -#endif - - ~any() BOOST_NOEXCEPT - { - delete content; - } - - public: // modifiers - - 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) - { - any(rhs).swap(*this); - return *this; - } - - any & operator=(any rhs) - { - any(rhs).swap(*this); - return *this; - } - -#else - any & operator=(const any& rhs) - { - any(rhs).swap(*this); - return *this; - } - - // move assignment - 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 BOOST_NOEXCEPT - { - return !content; - } - - void clear() BOOST_NOEXCEPT - { - any().swap(*this); - } - - const lslboost::typeindex::type_info& type() const BOOST_NOEXCEPT - { - return content ? content->type() : lslboost::typeindex::type_id().type_info(); - } - -#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS - private: // types -#else - public: // types (public so any_cast can be non-friend) -#endif - - class BOOST_SYMBOL_VISIBLE placeholder - { - public: // structors - - virtual ~placeholder() - { - } - - public: // queries - - virtual const lslboost::typeindex::type_info& type() const BOOST_NOEXCEPT = 0; - - virtual placeholder * clone() const = 0; - - }; - - template - class holder : public placeholder - { - public: // structors - - holder(const ValueType & value) - : held(value) - { - } - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - holder(ValueType&& value) - : held(static_cast< ValueType&& >(value)) - { - } -#endif - public: // queries - - virtual const lslboost::typeindex::type_info& type() const BOOST_NOEXCEPT - { - return lslboost::typeindex::type_id().type_info(); - } - - virtual placeholder * clone() const - { - return new holder(held); - } - - public: // representation - - ValueType held; - - private: // intentionally left unimplemented - holder & operator=(const holder &); - }; - -#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS - - private: // representation - - template - friend ValueType * any_cast(any *) BOOST_NOEXCEPT; - - template - friend ValueType * unsafe_any_cast(any *) BOOST_NOEXCEPT; - -#else - - public: // representation (public so any_cast can be non-friend) - -#endif - - placeholder * content; - - }; - - inline void swap(any & lhs, any & rhs) BOOST_NOEXCEPT - { - lhs.swap(rhs); - } - - class BOOST_SYMBOL_VISIBLE bad_any_cast : -#ifndef BOOST_NO_RTTI - public std::bad_cast -#else - public std::exception -#endif - { - public: - virtual const char * what() const BOOST_NOEXCEPT_OR_NOTHROW - { - return "lslboost::bad_any_cast: " - "failed conversion using lslboost::any_cast"; - } - }; - - template - ValueType * any_cast(any * operand) BOOST_NOEXCEPT - { - return operand && operand->type() == lslboost::typeindex::type_id() - ? lslboost::addressof( - static_cast::type> *>(operand->content)->held - ) - : 0; - } - - template - inline const ValueType * any_cast(const any * operand) BOOST_NOEXCEPT - { - return any_cast(const_cast(operand)); - } - - template - ValueType any_cast(any & operand) - { - typedef BOOST_DEDUCED_TYPENAME remove_reference::type nonref; - - - nonref * result = any_cast(lslboost::addressof(operand)); - if(!result) - lslboost::throw_exception(bad_any_cast()); - - // Attempt to avoid construction of a temporary object in cases when - // `ValueType` is not a reference. Example: - // `static_cast(*result);` - // which is equal to `std::string(*result);` - typedef BOOST_DEDUCED_TYPENAME lslboost::conditional< - lslboost::is_reference::value, - ValueType, - BOOST_DEDUCED_TYPENAME lslboost::add_reference::type - >::type ref_type; - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable: 4172) // "returning address of local variable or temporary" but *result is not local! -#endif - return static_cast(*result); -#ifdef BOOST_MSVC -# pragma warning(pop) -#endif - } - - template - inline ValueType any_cast(const any & operand) - { - typedef BOOST_DEDUCED_TYPENAME remove_reference::type nonref; - return any_cast(const_cast(operand)); - } - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template - inline ValueType any_cast(any&& operand) - { - BOOST_STATIC_ASSERT_MSG( - lslboost::is_rvalue_reference::value /*true if ValueType is rvalue or just a value*/ - || lslboost::is_const< typename lslboost::remove_reference::type >::value, - "lslboost::any_cast shall not be used for getting nonconst references to temporary objects" - ); - return any_cast(operand); - } -#endif - - - // Note: The "unsafe" versions of any_cast are not part of the - // public interface and may be removed at any time. They are - // required where we know what type is stored in the any and can't - // use typeid() comparison, e.g., when our types may travel across - // different shared libraries. - template - inline ValueType * unsafe_any_cast(any * operand) BOOST_NOEXCEPT - { - return lslboost::addressof( - static_cast *>(operand->content)->held - ); - } - - template - inline const ValueType * unsafe_any_cast(const any * operand) BOOST_NOEXCEPT - { - return unsafe_any_cast(const_cast(operand)); - } -} - -// Copyright Kevlin Henney, 2000, 2001, 2002. All rights reserved. -// -// 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) - -#endif diff --git a/lslboost/boost/archive/archive_exception.hpp b/lslboost/boost/archive/archive_exception.hpp index 3d831dfd2..5655d5854 100644 --- a/lslboost/boost/archive/archive_exception.hpp +++ b/lslboost/boost/archive/archive_exception.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // archive/archive_exception.hpp: -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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,16 +20,16 @@ #include #include -#include +#include #include // note: the only reason this is in here is that windows header // includes #define exception_code _exception_code (arrrgghhhh!). // the most expedient way to address this is be sure that this // header is always included whenever this header file is included. -#if defined(BOOST_WINDOWS) -#include -#endif +#if defined(BOOST_WINDOWS) +#include +#endif #include // must be the last header @@ -39,7 +39,7 @@ namespace archive { ////////////////////////////////////////////////////////////////////// // exceptions thrown by archives // -class BOOST_SYMBOL_VISIBLE archive_exception : +class BOOST_SYMBOL_VISIBLE archive_exception : public virtual std::exception { private: @@ -52,7 +52,7 @@ class BOOST_SYMBOL_VISIBLE archive_exception : public: typedef enum { no_exception, // initialized without code - other_exception, // any excepton not listed below + other_exception, // any exception not listed below unregistered_class, // attempt to serialize a pointer of // an unregistered class invalid_signature, // first line of archive does not contain @@ -61,9 +61,9 @@ class BOOST_SYMBOL_VISIBLE archive_exception : // subsequent to this one pointer_conflict, // an attempt has been made to directly // serialize an object which has - // already been serialized through a pointer. - // Were this permitted, the archive load would result - // in the creation of an extra copy of the obect. + // already been serialized through a pointer. + // Were this permitted, the archive load would result + // in the creation of an extra copy of the object. incompatible_native_format, // attempt to read native binary format // on incompatible platform array_size_too_short,// array being loaded doesn't fit in array allocated @@ -71,9 +71,9 @@ class BOOST_SYMBOL_VISIBLE archive_exception : invalid_class_name, // class name greater than the maximum permitted. // most likely a corrupted archive or an attempt // to insert virus via buffer overrun method. - unregistered_cast, // base - derived relationship not registered with + unregistered_cast, // base - derived relationship not registered with // void_cast_register - unsupported_class_version, // type saved with a version # greater than the + unsupported_class_version, // type saved with a version # greater than the // one used by the program. This indicates that the program // needs to be rebuilt. multiple_code_instantiation, // code for implementing serialization for some @@ -83,13 +83,13 @@ class BOOST_SYMBOL_VISIBLE archive_exception : exception_code code; BOOST_ARCHIVE_DECL archive_exception( - exception_code c, + exception_code c, const char * e1 = NULL, const char * e2 = NULL ) BOOST_NOEXCEPT; - BOOST_ARCHIVE_DECL archive_exception(archive_exception const &) BOOST_NOEXCEPT ; - virtual BOOST_ARCHIVE_DECL ~archive_exception() BOOST_NOEXCEPT_OR_NOTHROW ; - virtual BOOST_ARCHIVE_DECL const char * what() const BOOST_NOEXCEPT_OR_NOTHROW ; + BOOST_ARCHIVE_DECL archive_exception(archive_exception const &) BOOST_NOEXCEPT; + BOOST_ARCHIVE_DECL ~archive_exception() BOOST_NOEXCEPT_OR_NOTHROW BOOST_OVERRIDE; + BOOST_ARCHIVE_DECL const char * what() const BOOST_NOEXCEPT_OR_NOTHROW BOOST_OVERRIDE; }; }// namespace archive diff --git a/lslboost/boost/archive/basic_archive.hpp b/lslboost/boost/archive/basic_archive.hpp index 0ac7fe67d..19a902aca 100644 --- a/lslboost/boost/archive/basic_archive.hpp +++ b/lslboost/boost/archive/basic_archive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_archive.hpp: -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -18,9 +18,9 @@ #include // count #include #include -#include // size_t -#include #include +#include +#include #include #include // must be the last header @@ -33,76 +33,43 @@ namespace archive { #pragma warning( disable : 4244 4267 ) #endif -/* NOTE : Warning : Warning : Warning : Warning : Warning - * Don't ever changes this. If you do, they previously created - * binary archives won't be readable !!! - */ -class library_version_type { -private: - typedef uint_least16_t base_type; - base_type t; -public: - library_version_type(): t(0) {}; - explicit library_version_type(const unsigned int & t_) : t(t_){ - BOOST_ASSERT(t_ <= lslboost::integer_traits::const_max); - } - library_version_type(const library_version_type & t_) : - t(t_.t) - {} - library_version_type & operator=(const library_version_type & rhs){ - t = rhs.t; - return *this; - } - // used for text output - operator base_type () const { - return t; - } - // used for text input - operator base_type & (){ - return t; - } - bool operator==(const library_version_type & rhs) const { - return t == rhs.t; - } - bool operator<(const library_version_type & rhs) const { - return t < rhs.t; - } -}; - -BOOST_ARCHIVE_DECL library_version_type +BOOST_ARCHIVE_DECL lslboost::serialization::library_version_type BOOST_ARCHIVE_VERSION(); +// create alias in lslboost::archive for older user code. +typedef lslboost::serialization::library_version_type library_version_type; + class version_type { private: typedef uint_least32_t base_type; base_type t; public: // should be private - but MPI fails if it's not!!! - version_type(): t(0) {}; + version_type(): t(0) {} explicit version_type(const unsigned int & t_) : t(t_){ BOOST_ASSERT(t_ <= lslboost::integer_traits::const_max); } - version_type(const version_type & t_) : + version_type(const version_type & t_) : t(t_.t) {} version_type & operator=(const version_type & rhs){ - t = rhs.t; + t = rhs.t; return *this; } // used for text output operator base_type () const { return t; - } + } // used for text intput operator base_type & (){ return t; - } + } bool operator==(const version_type & rhs) const { return t == rhs.t; - } + } bool operator<(const version_type & rhs) const { return t < rhs.t; - } + } }; class class_id_type { @@ -111,73 +78,73 @@ class class_id_type { base_type t; public: // should be private - but then can't use BOOST_STRONG_TYPE below - class_id_type() : t(0) {}; + class_id_type() : t(0) {} explicit class_id_type(const int t_) : t(t_){ BOOST_ASSERT(t_ <= lslboost::integer_traits::const_max); } explicit class_id_type(const std::size_t t_) : t(t_){ // BOOST_ASSERT(t_ <= lslboost::integer_traits::const_max); } - class_id_type(const class_id_type & t_) : + class_id_type(const class_id_type & t_) : t(t_.t) {} class_id_type & operator=(const class_id_type & rhs){ - t = rhs.t; + t = rhs.t; return *this; } // used for text output operator base_type () const { return t; - } + } // used for text input operator base_type &() { return t; - } + } bool operator==(const class_id_type & rhs) const { return t == rhs.t; - } + } bool operator<(const class_id_type & rhs) const { return t < rhs.t; - } + } }; -#define NULL_POINTER_TAG lslboost::archive::class_id_type(-1) +#define BOOST_SERIALIZATION_NULL_POINTER_TAG lslboost::archive::class_id_type(-1) class object_id_type { private: typedef uint_least32_t base_type; base_type t; public: - object_id_type(): t(0) {}; + object_id_type(): t(0) {} // note: presumes that size_t >= unsigned int. // use explicit cast to silence useless warning explicit object_id_type(const std::size_t & t_) : t(static_cast(t_)){ - // make quadriple sure that we haven't lost any real integer + // make quadruple sure that we haven't lost any real integer // precision BOOST_ASSERT(t_ <= lslboost::integer_traits::const_max); } - object_id_type(const object_id_type & t_) : + object_id_type(const object_id_type & t_) : t(t_.t) {} object_id_type & operator=(const object_id_type & rhs){ - t = rhs.t; + t = rhs.t; return *this; } // used for text output operator base_type () const { return t; - } + } // used for text input operator base_type & () { return t; - } + } bool operator==(const object_id_type & rhs) const { return t == rhs.t; - } + } bool operator<(const object_id_type & rhs) const { return t < rhs.t; - } + } }; #if defined(_MSC_VER) @@ -188,16 +155,16 @@ struct tracking_type { bool t; explicit tracking_type(const bool t_ = false) : t(t_) - {}; + {} tracking_type(const tracking_type & t_) : t(t_.t) {} operator bool () const { return t; - }; + } operator bool & () { return t; - }; + } tracking_type & operator=(const bool t_){ t = t_; return *this; @@ -214,8 +181,8 @@ struct tracking_type { } }; -struct class_name_type : - private lslboost::noncopyable +struct class_name_type : + private lslboost::noncopyable { char *t; operator const char * & () const { @@ -227,9 +194,9 @@ struct class_name_type : std::size_t size() const { return std::strlen(t); } - explicit class_name_type(const char *key_) + explicit class_name_type(const char *key_) : t(const_cast(key_)){} - explicit class_name_type(char *key_) + explicit class_name_type(char *key_) : t(key_){} class_name_type & operator=(const class_name_type & rhs){ t = rhs.t; @@ -249,7 +216,7 @@ BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_SIGNATURE(); /* NOTE : Warning : Warning : Warning : Warning : Warning - * If any of these are changed to different sized types, + * If any of these are changed to different sized types, * binary_iarchive won't be able to read older archives * unless you rev the library version and include conditional * code based on the library version. There is nothing @@ -279,7 +246,7 @@ BOOST_ARCHIVE_STRONG_TYPEDEF(object_id_type, object_reference_type) // set implementation level to primitive for all types // used internally by the serialization library -BOOST_CLASS_IMPLEMENTATION(lslboost::archive::library_version_type, primitive_type) +BOOST_CLASS_IMPLEMENTATION(lslboost::serialization::library_version_type, primitive_type) BOOST_CLASS_IMPLEMENTATION(lslboost::archive::version_type, primitive_type) BOOST_CLASS_IMPLEMENTATION(lslboost::archive::class_id_type, primitive_type) BOOST_CLASS_IMPLEMENTATION(lslboost::archive::class_id_reference_type, primitive_type) @@ -291,10 +258,10 @@ BOOST_CLASS_IMPLEMENTATION(lslboost::archive::tracking_type, primitive_type) #include -// set types used internally by the serialization library +// set types used internally by the serialization library // to be bitwise serializable -BOOST_IS_BITWISE_SERIALIZABLE(lslboost::archive::library_version_type) +BOOST_IS_BITWISE_SERIALIZABLE(lslboost::serialization::library_version_type) BOOST_IS_BITWISE_SERIALIZABLE(lslboost::archive::version_type) BOOST_IS_BITWISE_SERIALIZABLE(lslboost::archive::class_id_type) BOOST_IS_BITWISE_SERIALIZABLE(lslboost::archive::class_id_reference_type) diff --git a/lslboost/boost/archive/basic_binary_iarchive.hpp b/lslboost/boost/archive/basic_binary_iarchive.hpp index 951c70fab..ab45af8de 100644 --- a/lslboost/boost/archive/basic_binary_iarchive.hpp +++ b/lslboost/boost/archive/basic_binary_iarchive.hpp @@ -16,7 +16,7 @@ // IN GENERAL, ARCHIVES CREATED WITH THIS CLASS WILL NOT BE READABLE // ON PLATFORM APART FROM THE ONE THEY ARE CREATED ON -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -40,7 +41,7 @@ #include // must be the last header -namespace lslboost { +namespace lslboost { namespace archive { namespace detail { @@ -50,7 +51,7 @@ namespace detail { ///////////////////////////////////////////////////////////////////////// // class basic_binary_iarchive - read serialized objects from a input binary stream template -class BOOST_SYMBOL_VISIBLE basic_binary_iarchive : +class BOOST_SYMBOL_VISIBLE basic_binary_iarchive : public detail::common_iarchive { #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -66,7 +67,7 @@ class BOOST_SYMBOL_VISIBLE basic_binary_iarchive : #endif #endif // intermediate level to support override of operators - // fot templates in the absence of partial function + // fot templates in the absence of partial function // template ordering. If we get here pass to base class // note extra nonsense to sneak it pass the borland compiers typedef detail::common_iarchive detail_common_iarchive; @@ -84,12 +85,12 @@ class BOOST_SYMBOL_VISIBLE basic_binary_iarchive : BOOST_STATIC_ASSERT(sizeof(object_id_type) == sizeof(uint_least32_t)); BOOST_STATIC_ASSERT(sizeof(object_reference_type) == sizeof(uint_least32_t)); - // binary files don't include the optional information + // binary files don't include the optional information void load_override(class_id_optional_type & /* t */){} void load_override(tracking_type & t, int /*version*/){ - library_version_type lvt = this->get_library_version(); - if(lslboost::archive::library_version_type(6) < lvt){ + lslboost::serialization::library_version_type lv = this->get_library_version(); + if(lslboost::serialization::library_version_type(6) < lv){ int_least8_t x=0; * this->This() >> x; t = lslboost::archive::tracking_type(x); @@ -101,7 +102,7 @@ class BOOST_SYMBOL_VISIBLE basic_binary_iarchive : } } void load_override(class_id_type & t){ - library_version_type lvt = this->get_library_version(); + lslboost::serialization::library_version_type lv = this->get_library_version(); /* * library versions: * boost 1.39 -> 5 @@ -117,10 +118,10 @@ class BOOST_SYMBOL_VISIBLE basic_binary_iarchive : * - v > 6 : 16bit * - other : 32bit * --> which is obviously incorrect, see point 1 - * + * * the fix here decodes class_id_type on 16bit for all v <= 7, which seems to be the correct behaviour ... */ - if(lslboost::archive::library_version_type(7) < lvt){ + if(lslboost::serialization::library_version_type (7) < lv){ this->detail_common_iarchive::load_override(t); } else{ @@ -134,24 +135,24 @@ class BOOST_SYMBOL_VISIBLE basic_binary_iarchive : } void load_override(version_type & t){ - library_version_type lvt = this->get_library_version(); - if(lslboost::archive::library_version_type(7) < lvt){ + lslboost::serialization::library_version_type lv = this->get_library_version(); + if(lslboost::serialization::library_version_type(7) < lv){ this->detail_common_iarchive::load_override(t); } else - if(lslboost::archive::library_version_type(6) < lvt){ + if(lslboost::serialization::library_version_type(6) < lv){ uint_least8_t x=0; * this->This() >> x; t = lslboost::archive::version_type(x); } else - if(lslboost::archive::library_version_type(5) < lvt){ + if(lslboost::serialization::library_version_type(5) < lv){ uint_least16_t x=0; * this->This() >> x; t = lslboost::archive::version_type(x); } else - if(lslboost::archive::library_version_type(2) < lvt){ + if(lslboost::serialization::library_version_type(2) < lv){ // upto 255 versions unsigned char x=0; * this->This() >> x; @@ -165,13 +166,13 @@ class BOOST_SYMBOL_VISIBLE basic_binary_iarchive : } void load_override(lslboost::serialization::item_version_type & t){ - library_version_type lvt = this->get_library_version(); -// if(lslboost::archive::library_version_type(7) < lvt){ - if(lslboost::archive::library_version_type(6) < lvt){ + lslboost::serialization::library_version_type lv = this->get_library_version(); +// if(lslboost::serialization::library_version_type(7) < lvt){ + if(lslboost::serialization::library_version_type(6) < lv){ this->detail_common_iarchive::load_override(t); } else - if(lslboost::archive::library_version_type(6) < lvt){ + if(lslboost::serialization::library_version_type(6) < lv){ uint_least16_t x=0; * this->This() >> x; t = lslboost::serialization::item_version_type(x); @@ -184,21 +185,21 @@ class BOOST_SYMBOL_VISIBLE basic_binary_iarchive : } void load_override(serialization::collection_size_type & t){ - if(lslboost::archive::library_version_type(5) < this->get_library_version()){ + if(lslboost::serialization::library_version_type(5) < this->get_library_version()){ this->detail_common_iarchive::load_override(t); } else{ unsigned int x=0; * this->This() >> x; t = serialization::collection_size_type(x); - } + } } BOOST_ARCHIVE_OR_WARCHIVE_DECL void load_override(class_name_type & t); BOOST_ARCHIVE_OR_WARCHIVE_DECL void init(); - + basic_binary_iarchive(unsigned int flags) : detail::common_iarchive(flags) {} diff --git a/lslboost/boost/archive/basic_binary_iprimitive.hpp b/lslboost/boost/archive/basic_binary_iprimitive.hpp index bd61dac27..e7d05290c 100644 --- a/lslboost/boost/archive/basic_binary_iprimitive.hpp +++ b/lslboost/boost/archive/basic_binary_iprimitive.hpp @@ -20,7 +20,7 @@ // IN GENERAL, ARCHIVES CREATED WITH THIS CLASS WILL NOT BE READABLE // ON PLATFORM APART FROM THE ONE THEY ARE CREATED ON -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -37,8 +37,8 @@ #include #if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::memcpy; +namespace std{ + using ::memcpy; using ::size_t; } // namespace std #endif @@ -48,7 +48,6 @@ namespace std{ #include #include -//#include #include #include @@ -58,7 +57,7 @@ namespace std{ #include #include // must be the last header -namespace lslboost { +namespace lslboost { namespace archive { ///////////////////////////////////////////////////////////////////////////// @@ -98,8 +97,8 @@ class BOOST_SYMBOL_VISIBLE basic_binary_iprimitive { ///////////////////////////////////////////////////////// // fundamental types that need special treatment - - // trap usage of invalid uninitialized boolean + + // trap usage of invalid uninitialized boolean void load(bool & t){ load_binary(& t, sizeof(t)); int i = t; @@ -119,29 +118,29 @@ class BOOST_SYMBOL_VISIBLE basic_binary_iprimitive { BOOST_ARCHIVE_OR_WARCHIVE_DECL void init(); - BOOST_ARCHIVE_OR_WARCHIVE_DECL + BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_binary_iprimitive( - std::basic_streambuf & sb, + std::basic_streambuf & sb, bool no_codecvt ); - BOOST_ARCHIVE_OR_WARCHIVE_DECL + BOOST_ARCHIVE_OR_WARCHIVE_DECL ~basic_binary_iprimitive(); public: // we provide an optimized load for all fundamental types - // typedef serialization::is_bitwise_serializable + // typedef serialization::is_bitwise_serializable // use_array_optimization; - struct use_array_optimization { - template - #if defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS) - struct apply { - typedef typename lslboost::serialization::is_bitwise_serializable< T >::type type; + struct use_array_optimization { + template + #if defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS) + struct apply { + typedef typename lslboost::serialization::is_bitwise_serializable< T >::type type; }; #else - struct apply : public lslboost::serialization::is_bitwise_serializable< T > {}; + struct apply : public lslboost::serialization::is_bitwise_serializable< T > {}; #endif }; - // the optimized load_array dispatches to load_binary + // the optimized load_array dispatches to load_binary template void load_array(serialization::array_wrapper& a, unsigned int) { @@ -155,17 +154,17 @@ class BOOST_SYMBOL_VISIBLE basic_binary_iprimitive { template inline void basic_binary_iprimitive::load_binary( - void *address, + void *address, std::size_t count ){ // note: an optimizer should eliminate the following for char files BOOST_ASSERT( - static_cast(count / sizeof(Elem)) + static_cast(count / sizeof(Elem)) <= lslboost::integer_traits::const_max ); std::streamsize s = static_cast(count / sizeof(Elem)); std::streamsize scount = m_sb.sgetn( - static_cast(address), + static_cast(address), s ); if(scount != s) diff --git a/lslboost/boost/archive/basic_binary_oarchive.hpp b/lslboost/boost/archive/basic_binary_oarchive.hpp index 79034af83..24cff7085 100644 --- a/lslboost/boost/archive/basic_binary_oarchive.hpp +++ b/lslboost/boost/archive/basic_binary_oarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_binary_oarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -58,7 +58,7 @@ namespace detail { // does have the virtue of buiding the smalles archive in the minimum amount // of time. So under some circumstances it may be he right choice. template -class BOOST_SYMBOL_VISIBLE basic_binary_oarchive : +class BOOST_SYMBOL_VISIBLE basic_binary_oarchive : public detail::common_oarchive { #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -90,18 +90,18 @@ class BOOST_SYMBOL_VISIBLE basic_binary_oarchive : BOOST_STATIC_ASSERT(sizeof(object_id_type) == sizeof(uint_least32_t)); BOOST_STATIC_ASSERT(sizeof(object_reference_type) == sizeof(uint_least32_t)); - // binary files don't include the optional information + // binary files don't include the optional information void save_override(const class_id_optional_type & /* t */){} // enable this if we decide to support generation of previous versions #if 0 void save_override(const lslboost::archive::version_type & t){ library_version_type lvt = this->get_library_version(); - if(lslboost::archive::library_version_type(7) < lvt){ + if(lslboost::serialization::library_version_type(7) < lvt){ this->detail_common_oarchive::save_override(t); } else - if(lslboost::archive::library_version_type(6) < lvt){ + if(lslboost::serialization::library_version_type(6) < lvt){ const lslboost::uint_least16_t x = t; * this->This() << x; } @@ -112,11 +112,11 @@ class BOOST_SYMBOL_VISIBLE basic_binary_oarchive : } void save_override(const lslboost::serialization::item_version_type & t){ library_version_type lvt = this->get_library_version(); - if(lslboost::archive::library_version_type(7) < lvt){ + if(lslboost::serialization::library_version_type(7) < lvt){ this->detail_common_oarchive::save_override(t); } else - if(lslboost::archive::library_version_type(6) < lvt){ + if(lslboost::serialization::library_version_type(6) < lvt){ const lslboost::uint_least16_t x = t; * this->This() << x; } @@ -128,11 +128,11 @@ class BOOST_SYMBOL_VISIBLE basic_binary_oarchive : void save_override(class_id_type & t){ library_version_type lvt = this->get_library_version(); - if(lslboost::archive::library_version_type(7) < lvt){ + if(lslboost::serialization::library_version_type(7) < lvt){ this->detail_common_oarchive::save_override(t); } else - if(lslboost::archive::library_version_type(6) < lvt){ + if(lslboost::serialization::library_version_type(6) < lvt){ const lslboost::int_least16_t x = t; * this->This() << x; } @@ -155,11 +155,11 @@ class BOOST_SYMBOL_VISIBLE basic_binary_oarchive : #if 0 void save_override(const serialization::collection_size_type & t){ - if (get_library_version() < lslboost::archive::library_version_type(6)){ + if (get_library_version() < lslboost::serialization::library_version_type(6)){ unsigned int x=0; * this->This() >> x; t = serialization::collection_size_type(x); - } + } else{ * this->This() >> t; } diff --git a/lslboost/boost/archive/basic_binary_oprimitive.hpp b/lslboost/boost/archive/basic_binary_oprimitive.hpp index 2e9141013..631351eba 100644 --- a/lslboost/boost/archive/basic_binary_oprimitive.hpp +++ b/lslboost/boost/archive/basic_binary_oprimitive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_binary_oprimitive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -32,8 +32,8 @@ #include #if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::size_t; +namespace std{ + using ::size_t; } // namespace std #endif @@ -43,7 +43,6 @@ namespace std{ #include #include -//#include #include #include @@ -93,7 +92,7 @@ class BOOST_SYMBOL_VISIBLE basic_binary_oprimitive { ///////////////////////////////////////////////////////// // fundamental types that need special treatment - + // trap usage of invalid uninitialized boolean which would // otherwise crash on load. void save(const bool t){ @@ -113,32 +112,32 @@ class BOOST_SYMBOL_VISIBLE basic_binary_oprimitive { BOOST_ARCHIVE_OR_WARCHIVE_DECL void init(); - - BOOST_ARCHIVE_OR_WARCHIVE_DECL + + BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_binary_oprimitive( - std::basic_streambuf & sb, + std::basic_streambuf & sb, bool no_codecvt ); - BOOST_ARCHIVE_OR_WARCHIVE_DECL + BOOST_ARCHIVE_OR_WARCHIVE_DECL ~basic_binary_oprimitive(); public: // we provide an optimized save for all fundamental types - // typedef serialization::is_bitwise_serializable + // typedef serialization::is_bitwise_serializable // use_array_optimization; // workaround without using mpl lambdas struct use_array_optimization { - template - #if defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS) - struct apply { - typedef typename lslboost::serialization::is_bitwise_serializable< T >::type type; + template + #if defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS) + struct apply { + typedef typename lslboost::serialization::is_bitwise_serializable< T >::type type; }; #else - struct apply : public lslboost::serialization::is_bitwise_serializable< T > {}; + struct apply : public lslboost::serialization::is_bitwise_serializable< T > {}; #endif }; - // the optimized save_array dispatches to save_binary + // the optimized save_array dispatches to save_binary template void save_array(lslboost::serialization::array_wrapper const& a, unsigned int) { @@ -149,9 +148,9 @@ class BOOST_SYMBOL_VISIBLE basic_binary_oprimitive { }; template -inline void +inline void basic_binary_oprimitive::save_binary( - const void *address, + const void *address, std::size_t count ){ // BOOST_ASSERT(count <= std::size_t(lslboost::integer_traits::const_max)); @@ -166,7 +165,7 @@ basic_binary_oprimitive::save_binary( // figure number of elements to output - round up count = ( count + sizeof(Elem) - 1) / sizeof(Elem); std::streamsize scount = m_sb.sputn( - static_cast(address), + static_cast(address), static_cast(count) ); if(count != static_cast(scount)) @@ -174,14 +173,14 @@ basic_binary_oprimitive::save_binary( archive_exception(archive_exception::output_stream_error) ); //os.write( - // static_cast(address), + // static_cast(address), // count //); //BOOST_ASSERT(os.good()); } -} //namespace lslboost -} //namespace archive +} //namespace lslboost +} //namespace archive #include // pop pragmas diff --git a/lslboost/boost/archive/basic_text_iarchive.hpp b/lslboost/boost/archive/basic_text_iarchive.hpp index b3f0a14c8..d1adf1d8a 100644 --- a/lslboost/boost/archive/basic_text_iarchive.hpp +++ b/lslboost/boost/archive/basic_text_iarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_text_iarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -46,7 +46,7 @@ namespace detail { ///////////////////////////////////////////////////////////////////////// // class basic_text_iarchive - read serialized objects from a input text stream template -class BOOST_SYMBOL_VISIBLE basic_text_iarchive : +class BOOST_SYMBOL_VISIBLE basic_text_iarchive : public detail::common_iarchive { #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -54,7 +54,7 @@ class BOOST_SYMBOL_VISIBLE basic_text_iarchive : #else protected: #if BOOST_WORKAROUND(BOOST_MSVC, < 1500) - // for some inexplicable reason insertion of "class" generates compile erro + // for some inexplicable reason insertion of "class" generates compile error // on msvc 7.1 friend detail::interface_iarchive; #else @@ -62,26 +62,26 @@ class BOOST_SYMBOL_VISIBLE basic_text_iarchive : #endif #endif // intermediate level to support override of operators - // fot templates in the absence of partial function + // fot templates in the absence of partial function // template ordering typedef detail::common_iarchive detail_common_iarchive; template void load_override(T & t){ this->detail_common_iarchive::load_override(t); } - // text file don't include the optional information + // text file don't include the optional information void load_override(class_id_optional_type & /*t*/){} BOOST_ARCHIVE_OR_WARCHIVE_DECL void load_override(class_name_type & t); BOOST_ARCHIVE_OR_WARCHIVE_DECL void - init(void); + init(); - basic_text_iarchive(unsigned int flags) : + basic_text_iarchive(unsigned int flags) : detail::common_iarchive(flags) {} - ~basic_text_iarchive(){} + ~basic_text_iarchive() BOOST_OVERRIDE {} }; } // namespace archive diff --git a/lslboost/boost/archive/basic_text_iprimitive.hpp b/lslboost/boost/archive/basic_text_iprimitive.hpp index 8cd5d085c..6641668ae 100644 --- a/lslboost/boost/archive/basic_text_iprimitive.hpp +++ b/lslboost/boost/archive/basic_text_iprimitive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_text_iprimitive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -29,8 +29,8 @@ #include #if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::size_t; +namespace std{ + using ::size_t; #if ! defined(BOOST_DINKUMWARE_STDLIB) && ! defined(__SGI_STL_PORT) using ::locale; #endif @@ -121,9 +121,9 @@ class BOOST_SYMBOL_VISIBLE basic_text_iprimitive { t = i; } #endif - BOOST_ARCHIVE_OR_WARCHIVE_DECL + BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_text_iprimitive(IStream &is, bool no_codecvt); - BOOST_ARCHIVE_OR_WARCHIVE_DECL + BOOST_ARCHIVE_OR_WARCHIVE_DECL ~basic_text_iprimitive(); public: BOOST_ARCHIVE_OR_WARCHIVE_DECL void diff --git a/lslboost/boost/archive/basic_text_oarchive.hpp b/lslboost/boost/archive/basic_text_oarchive.hpp index 404a5b8a2..cd4cd468a 100644 --- a/lslboost/boost/archive/basic_text_oarchive.hpp +++ b/lslboost/boost/archive/basic_text_oarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_text_oarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -44,9 +44,9 @@ namespace detail { } // namespace detail ///////////////////////////////////////////////////////////////////////// -// class basic_text_oarchive +// class basic_text_oarchive template -class BOOST_SYMBOL_VISIBLE basic_text_oarchive : +class BOOST_SYMBOL_VISIBLE basic_text_oarchive : public detail::common_oarchive { #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -89,7 +89,7 @@ class BOOST_SYMBOL_VISIBLE basic_text_oarchive : this->detail_common_oarchive::save_override(t); } - // text file don't include the optional information + // text file don't include the optional information void save_override(const class_id_optional_type & /* t */){} void save_override(const class_name_type & t){ @@ -104,7 +104,7 @@ class BOOST_SYMBOL_VISIBLE basic_text_oarchive : detail::common_oarchive(flags), delimiter(none) {} - ~basic_text_oarchive(){} + ~basic_text_oarchive() BOOST_OVERRIDE {} }; } // namespace archive diff --git a/lslboost/boost/archive/basic_text_oprimitive.hpp b/lslboost/boost/archive/basic_text_oprimitive.hpp index 768a5f1ab..8540a57d6 100644 --- a/lslboost/boost/archive/basic_text_oprimitive.hpp +++ b/lslboost/boost/archive/basic_text_oprimitive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_text_oprimitive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -38,7 +38,7 @@ #endif #if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ +namespace std{ using ::size_t; #if ! defined(BOOST_DINKUMWARE_STDLIB) && ! defined(__SGI_STL_PORT) using ::locale; @@ -142,22 +142,23 @@ class BOOST_SYMBOL_VISIBLE basic_text_oprimitive template struct is_float { - typedef typename mpl::bool_< - lslboost::is_floating_point::value + typedef typename mpl::bool_< + lslboost::is_floating_point::value || (std::numeric_limits::is_specialized && !std::numeric_limits::is_integer && !std::numeric_limits::is_exact - && std::numeric_limits::max_exponent) + && std::numeric_limits::max_exponent) >::type type; }; template void save_impl(const T &t, lslboost::mpl::bool_ &){ // must be a user mistake - can't serialize un-initialized data - if(os.fail()) + if(os.fail()){ lslboost::serialization::throw_exception( archive_exception(archive_exception::output_stream_error) ); + } // The formulae for the number of decimla digits required is given in // http://www2.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1822.pdf // which is derived from Kahan's paper: @@ -181,7 +182,7 @@ class BOOST_SYMBOL_VISIBLE basic_text_oprimitive BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_text_oprimitive(OStream & os, bool no_codecvt); - BOOST_ARCHIVE_OR_WARCHIVE_DECL + BOOST_ARCHIVE_OR_WARCHIVE_DECL ~basic_text_oprimitive(); public: // unformatted append of one character @@ -197,12 +198,12 @@ class BOOST_SYMBOL_VISIBLE basic_text_oprimitive while('\0' != *s) os.put(*s++); } - BOOST_ARCHIVE_OR_WARCHIVE_DECL void + BOOST_ARCHIVE_OR_WARCHIVE_DECL void save_binary(const void *address, std::size_t count); }; -} //namespace lslboost -} //namespace archive +} //namespace lslboost +} //namespace archive #include // pops abi_suffix.hpp pragmas diff --git a/lslboost/boost/archive/basic_xml_archive.hpp b/lslboost/boost/archive/basic_xml_archive.hpp index 9a9916bdc..b23c637fc 100644 --- a/lslboost/boost/archive/basic_xml_archive.hpp +++ b/lslboost/boost/archive/basic_xml_archive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_xml_archive.hpp: -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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,40 +21,40 @@ #include #include // must be the last header -namespace lslboost { +namespace lslboost { namespace archive { // constant strings used in xml i/o -extern +extern BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_OBJECT_ID(); -extern +extern BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_OBJECT_REFERENCE(); -extern +extern BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_CLASS_ID(); -extern +extern BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_CLASS_ID_REFERENCE(); -extern +extern BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_CLASS_NAME(); -extern +extern BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_TRACKING(); -extern +extern BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_VERSION(); -extern +extern BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_SIGNATURE(); diff --git a/lslboost/boost/archive/basic_xml_iarchive.hpp b/lslboost/boost/archive/basic_xml_iarchive.hpp index 7b8d47c9e..0a4c5be2e 100644 --- a/lslboost/boost/archive/basic_xml_iarchive.hpp +++ b/lslboost/boost/archive/basic_xml_iarchive.hpp @@ -104,7 +104,7 @@ class BOOST_SYMBOL_VISIBLE basic_xml_iarchive : BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_xml_iarchive(unsigned int flags); BOOST_ARCHIVE_OR_WARCHIVE_DECL - ~basic_xml_iarchive(); + ~basic_xml_iarchive() BOOST_OVERRIDE; }; } // namespace archive diff --git a/lslboost/boost/archive/basic_xml_oarchive.hpp b/lslboost/boost/archive/basic_xml_oarchive.hpp index db0d7f415..317e222b1 100644 --- a/lslboost/boost/archive/basic_xml_oarchive.hpp +++ b/lslboost/boost/archive/basic_xml_oarchive.hpp @@ -123,7 +123,7 @@ class BOOST_SYMBOL_VISIBLE basic_xml_oarchive : BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_xml_oarchive(unsigned int flags); BOOST_ARCHIVE_OR_WARCHIVE_DECL - ~basic_xml_oarchive(); + ~basic_xml_oarchive() BOOST_OVERRIDE; }; } // namespace archive diff --git a/lslboost/boost/archive/binary_iarchive.hpp b/lslboost/boost/archive/binary_iarchive.hpp index edc65397d..22123a046 100644 --- a/lslboost/boost/archive/binary_iarchive.hpp +++ b/lslboost/boost/archive/binary_iarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // binary_iarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -33,8 +33,8 @@ namespace archive { // preserve correct static polymorphism. class BOOST_SYMBOL_VISIBLE binary_iarchive : public binary_iarchive_impl< - lslboost::archive::binary_iarchive, - std::istream::char_type, + lslboost::archive::binary_iarchive, + std::istream::char_type, std::istream::traits_type >{ public: @@ -42,12 +42,16 @@ class BOOST_SYMBOL_VISIBLE binary_iarchive : binary_iarchive_impl< binary_iarchive, std::istream::char_type, std::istream::traits_type >(is, flags) - {} + { + init(flags); + } binary_iarchive(std::streambuf & bsb, unsigned int flags = 0) : binary_iarchive_impl< binary_iarchive, std::istream::char_type, std::istream::traits_type >(bsb, flags) - {} + { + init(flags); + } }; } // namespace archive diff --git a/lslboost/boost/archive/binary_iarchive_impl.hpp b/lslboost/boost/archive/binary_iarchive_impl.hpp index f20a4ef5a..ef5cc14e5 100644 --- a/lslboost/boost/archive/binary_iarchive_impl.hpp +++ b/lslboost/boost/archive/binary_iarchive_impl.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // binary_iarchive_impl.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -25,7 +25,7 @@ # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { namespace detail { @@ -33,7 +33,7 @@ namespace detail { } // namespace detail template -class BOOST_SYMBOL_VISIBLE binary_iarchive_impl : +class BOOST_SYMBOL_VISIBLE binary_iarchive_impl : public basic_binary_iprimitive, public basic_binary_iarchive { @@ -70,29 +70,25 @@ class BOOST_SYMBOL_VISIBLE binary_iarchive_impl : #endif } binary_iarchive_impl( - std::basic_streambuf & bsb, + std::basic_streambuf & bsb, unsigned int flags ) : basic_binary_iprimitive( - bsb, + bsb, 0 != (flags & no_codecvt) ), basic_binary_iarchive(flags) - { - init(flags); - } + {} binary_iarchive_impl( - std::basic_istream & is, + std::basic_istream & is, unsigned int flags ) : basic_binary_iprimitive( - * is.rdbuf(), + * is.rdbuf(), 0 != (flags & no_codecvt) ), basic_binary_iarchive(flags) - { - init(flags); - } + {} }; } // namespace archive diff --git a/lslboost/boost/archive/binary_oarchive.hpp b/lslboost/boost/archive/binary_oarchive.hpp index 394a0bd1b..041b96b7b 100644 --- a/lslboost/boost/archive/binary_oarchive.hpp +++ b/lslboost/boost/archive/binary_oarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // binary_oarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -26,13 +26,13 @@ # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { // do not derive from this class. If you want to extend this functionality // via inhertance, derived from binary_oarchive_impl instead. This will // preserve correct static polymorphism. -class BOOST_SYMBOL_VISIBLE binary_oarchive : +class BOOST_SYMBOL_VISIBLE binary_oarchive : public binary_oarchive_impl< binary_oarchive, std::ostream::char_type, std::ostream::traits_type > @@ -42,12 +42,16 @@ class BOOST_SYMBOL_VISIBLE binary_oarchive : binary_oarchive_impl< binary_oarchive, std::ostream::char_type, std::ostream::traits_type >(os, flags) - {} + { + init(flags); + } binary_oarchive(std::streambuf & bsb, unsigned int flags = 0) : binary_oarchive_impl< binary_oarchive, std::ostream::char_type, std::ostream::traits_type >(bsb, flags) - {} + { + init(flags); + } }; } // namespace archive diff --git a/lslboost/boost/archive/binary_oarchive_impl.hpp b/lslboost/boost/archive/binary_oarchive_impl.hpp index 1dd7b9c4b..5a9092acb 100644 --- a/lslboost/boost/archive/binary_oarchive_impl.hpp +++ b/lslboost/boost/archive/binary_oarchive_impl.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // binary_oarchive_impl.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -26,7 +26,7 @@ # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { namespace detail { @@ -34,7 +34,7 @@ namespace detail { } // namespace detail template -class BOOST_SYMBOL_VISIBLE binary_oarchive_impl : +class BOOST_SYMBOL_VISIBLE binary_oarchive_impl : public basic_binary_oprimitive, public basic_binary_oarchive { @@ -71,29 +71,25 @@ class BOOST_SYMBOL_VISIBLE binary_oarchive_impl : #endif } binary_oarchive_impl( - std::basic_streambuf & bsb, + std::basic_streambuf & bsb, unsigned int flags ) : basic_binary_oprimitive( - bsb, + bsb, 0 != (flags & no_codecvt) ), basic_binary_oarchive(flags) - { - init(flags); - } + {} binary_oarchive_impl( - std::basic_ostream & os, + std::basic_ostream & os, unsigned int flags ) : basic_binary_oprimitive( - * os.rdbuf(), + * os.rdbuf(), 0 != (flags & no_codecvt) ), basic_binary_oarchive(flags) - { - init(flags); - } + {} }; } // namespace archive diff --git a/lslboost/boost/archive/binary_wiarchive.hpp b/lslboost/boost/archive/binary_wiarchive.hpp index 1c5a30f3b..0dd649e00 100644 --- a/lslboost/boost/archive/binary_wiarchive.hpp +++ b/lslboost/boost/archive/binary_wiarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // binary_wiarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -25,10 +25,10 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { -class binary_wiarchive : +class binary_wiarchive : public binary_iarchive_impl< binary_wiarchive, std::wistream::char_type, std::wistream::traits_type > diff --git a/lslboost/boost/archive/binary_woarchive.hpp b/lslboost/boost/archive/binary_woarchive.hpp index c93d9bc78..9820cbc9b 100644 --- a/lslboost/boost/archive/binary_woarchive.hpp +++ b/lslboost/boost/archive/binary_woarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // binary_woarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -25,13 +25,13 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { // do not derive from this class. If you want to extend this functionality // via inhertance, derived from binary_oarchive_impl instead. This will // preserve correct static polymorphism. -class binary_woarchive : +class binary_woarchive : public binary_oarchive_impl< binary_woarchive, std::wostream::char_type, std::wostream::traits_type > diff --git a/lslboost/boost/archive/codecvt_null.hpp b/lslboost/boost/archive/codecvt_null.hpp index 25df95844..8c50661d4 100644 --- a/lslboost/boost/archive/codecvt_null.hpp +++ b/lslboost/boost/archive/codecvt_null.hpp @@ -24,7 +24,7 @@ #include #include #include -#include // must be the last header +//#include // must be the last header #if defined(BOOST_NO_STDC_NAMESPACE) namespace std { @@ -52,21 +52,21 @@ class codecvt_null; template<> class codecvt_null : public std::codecvt { - virtual bool do_always_noconv() const throw() { + bool do_always_noconv() const throw() BOOST_OVERRIDE { return true; } public: explicit codecvt_null(std::size_t no_locale_manage = 0) : std::codecvt(no_locale_manage) {} - virtual ~codecvt_null(){}; + ~codecvt_null() BOOST_OVERRIDE {} }; template<> -class BOOST_WARCHIVE_DECL codecvt_null : +class BOOST_SYMBOL_VISIBLE codecvt_null : public std::codecvt { - virtual std::codecvt_base::result + BOOST_SYMBOL_EXPORT std::codecvt_base::result do_out( std::mbstate_t & state, const wchar_t * first1, @@ -75,8 +75,9 @@ class BOOST_WARCHIVE_DECL codecvt_null : char * first2, char * last2, char * & next2 - ) const; - virtual std::codecvt_base::result + ) const BOOST_OVERRIDE; + + BOOST_SYMBOL_EXPORT std::codecvt_base::result do_in( std::mbstate_t & state, const char * first1, @@ -85,18 +86,23 @@ class BOOST_WARCHIVE_DECL codecvt_null : wchar_t * first2, wchar_t * last2, wchar_t * & next2 - ) const; - virtual int do_encoding( ) const throw( ){ + ) const BOOST_OVERRIDE; + + BOOST_SYMBOL_EXPORT int do_encoding( ) const throw( ) BOOST_OVERRIDE { return sizeof(wchar_t) / sizeof(char); } - virtual int do_max_length( ) const throw( ){ + + BOOST_SYMBOL_EXPORT bool do_always_noconv() const throw() BOOST_OVERRIDE { + return false; + } + + BOOST_SYMBOL_EXPORT int do_max_length( ) const throw( ) BOOST_OVERRIDE { return do_encoding(); } public: - explicit codecvt_null(std::size_t no_locale_manage = 0) : - std::codecvt(no_locale_manage) - {} - //virtual ~codecvt_null(){}; + BOOST_SYMBOL_EXPORT explicit codecvt_null(std::size_t no_locale_manage = 0); + + BOOST_SYMBOL_EXPORT ~codecvt_null() BOOST_OVERRIDE ; }; } // namespace archive @@ -105,6 +111,6 @@ class BOOST_WARCHIVE_DECL codecvt_null : #ifdef BOOST_MSVC # pragma warning(pop) #endif -#include // pop pragmas +//#include // pop pragmas #endif //BOOST_ARCHIVE_CODECVT_NULL_HPP diff --git a/lslboost/boost/archive/detail/abi_prefix.hpp b/lslboost/boost/archive/detail/abi_prefix.hpp index debf79e9f..b45253b53 100644 --- a/lslboost/boost/archive/detail/abi_prefix.hpp +++ b/lslboost/boost/archive/detail/abi_prefix.hpp @@ -1,7 +1,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // abi_prefix.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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/lslboost/boost/archive/detail/abi_suffix.hpp b/lslboost/boost/archive/detail/abi_suffix.hpp index 4e054d662..f3307c92e 100644 --- a/lslboost/boost/archive/detail/abi_suffix.hpp +++ b/lslboost/boost/archive/detail/abi_suffix.hpp @@ -1,7 +1,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // abi_suffix.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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/lslboost/boost/archive/detail/archive_serializer_map.hpp b/lslboost/boost/archive/detail/archive_serializer_map.hpp index 5116bcd35..38e4cbec4 100644 --- a/lslboost/boost/archive/detail/archive_serializer_map.hpp +++ b/lslboost/boost/archive/detail/archive_serializer_map.hpp @@ -7,10 +7,10 @@ #endif /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// archive_serializer_map.hpp: extenstion of type_info required for +// archive_serializer_map.hpp: extenstion of type_info required for // serialization. -// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -18,7 +18,7 @@ // See http://www.boost.org for updates, documentation, and revision history. // note: this is nothing more than the thinest of wrappers around -// basic_serializer_map so we can have a one map / archive type. +// basic_serializer_map so we can have a one map / archive type. #include #include diff --git a/lslboost/boost/archive/detail/auto_link_archive.hpp b/lslboost/boost/archive/detail/auto_link_archive.hpp index e0e11db8d..618319657 100644 --- a/lslboost/boost/archive/detail/auto_link_archive.hpp +++ b/lslboost/boost/archive/detail/auto_link_archive.hpp @@ -16,12 +16,12 @@ // See library home page at http://www.boost.org/libs/serialization -//----------------------------------------------------------------------------// +//----------------------------------------------------------------------------// // This header implements separate compilation features as described in // http://www.boost.org/more/separate_compilation.html -// enable automatic library variant selection ------------------------------// +// enable automatic library variant selection ------------------------------// #include diff --git a/lslboost/boost/archive/detail/auto_link_warchive.hpp b/lslboost/boost/archive/detail/auto_link_warchive.hpp index b48bda65b..262f9033e 100644 --- a/lslboost/boost/archive/detail/auto_link_warchive.hpp +++ b/lslboost/boost/archive/detail/auto_link_warchive.hpp @@ -16,12 +16,12 @@ // See library home page at http://www.boost.org/libs/serialization -//----------------------------------------------------------------------------// +//----------------------------------------------------------------------------// // This header implements separate compilation features as described in // http://www.boost.org/more/separate_compilation.html -// enable automatic library variant selection ------------------------------// +// enable automatic library variant selection ------------------------------// #include diff --git a/lslboost/boost/archive/detail/basic_iarchive.hpp b/lslboost/boost/archive/detail/basic_iarchive.hpp index 30378ce8a..323c942b9 100644 --- a/lslboost/boost/archive/detail/basic_iarchive.hpp +++ b/lslboost/boost/archive/detail/basic_iarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_iarchive.hpp: -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -72,27 +72,27 @@ class BOOST_SYMBOL_VISIBLE basic_iarchive : const basic_iserializer & bis ); BOOST_ARCHIVE_DECL void load_object( - void *t, + void *t, const basic_iserializer & bis ); - BOOST_ARCHIVE_DECL const basic_pointer_iserializer * + BOOST_ARCHIVE_DECL const basic_pointer_iserializer * load_pointer( - void * & t, + void * & t, const basic_pointer_iserializer * bpis_ptr, const basic_pointer_iserializer * (*finder)( const lslboost::serialization::extended_type_info & eti ) ); // real public API starts here - BOOST_ARCHIVE_DECL void - set_library_version(library_version_type archive_library_version); - BOOST_ARCHIVE_DECL library_version_type + BOOST_ARCHIVE_DECL void + set_library_version(lslboost::serialization::library_version_type archive_library_version); + BOOST_ARCHIVE_DECL lslboost::serialization::library_version_type get_library_version() const; BOOST_ARCHIVE_DECL unsigned int get_flags() const; - BOOST_ARCHIVE_DECL void + BOOST_ARCHIVE_DECL void reset_object_address(const void * new_address, const void * old_address); - BOOST_ARCHIVE_DECL void + BOOST_ARCHIVE_DECL void delete_created_pointers(); }; diff --git a/lslboost/boost/archive/detail/basic_iserializer.hpp b/lslboost/boost/archive/detail/basic_iserializer.hpp index 849369b87..3bf654c7f 100644 --- a/lslboost/boost/archive/detail/basic_iserializer.hpp +++ b/lslboost/boost/archive/detail/basic_iserializer.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_iserializer.hpp: extenstion of type_info required for serialization. -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -42,7 +42,7 @@ namespace detail { class basic_iarchive; class basic_pointer_iserializer; -class BOOST_SYMBOL_VISIBLE basic_iserializer : +class BOOST_SYMBOL_VISIBLE basic_iserializer : public basic_serializer { private: @@ -63,7 +63,7 @@ class BOOST_SYMBOL_VISIBLE basic_iserializer : return m_bpis; } virtual void load_object_data( - basic_iarchive & ar, + basic_iarchive & ar, void *x, const unsigned int file_version ) const = 0; diff --git a/lslboost/boost/archive/detail/basic_oarchive.hpp b/lslboost/boost/archive/detail/basic_oarchive.hpp index 25c6dc086..fc3bdac59 100644 --- a/lslboost/boost/archive/detail/basic_oarchive.hpp +++ b/lslboost/boost/archive/detail/basic_oarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_oarchive.hpp: -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -69,19 +69,19 @@ class BOOST_SYMBOL_VISIBLE basic_oarchive : const basic_oserializer & bos ); BOOST_ARCHIVE_DECL void save_object( - const void *x, + const void *x, const basic_oserializer & bos ); BOOST_ARCHIVE_DECL void save_pointer( - const void * t, + const void * t, const basic_pointer_oserializer * bpos_ptr ); void save_null_pointer(){ - vsave(NULL_POINTER_TAG); + vsave(BOOST_SERIALIZATION_NULL_POINTER_TAG); } // real public interface starts here BOOST_ARCHIVE_DECL void end_preamble(); // default implementation does nothing - BOOST_ARCHIVE_DECL library_version_type get_library_version() const; + BOOST_ARCHIVE_DECL lslboost::serialization::library_version_type get_library_version() const; BOOST_ARCHIVE_DECL unsigned int get_flags() const; }; diff --git a/lslboost/boost/archive/detail/basic_oserializer.hpp b/lslboost/boost/archive/detail/basic_oserializer.hpp index 4d0aaa3d5..139a78685 100644 --- a/lslboost/boost/archive/detail/basic_oserializer.hpp +++ b/lslboost/boost/archive/detail/basic_oserializer.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_oserializer.hpp: extenstion of type_info required for serialization. -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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/lslboost/boost/archive/detail/basic_pointer_iserializer.hpp b/lslboost/boost/archive/detail/basic_pointer_iserializer.hpp index f914dcd0e..194be7a2f 100644 --- a/lslboost/boost/archive/detail/basic_pointer_iserializer.hpp +++ b/lslboost/boost/archive/detail/basic_pointer_iserializer.hpp @@ -7,10 +7,10 @@ #endif /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// basic_pointer_oserializer.hpp: extenstion of type_info required for +// basic_pointer_oserializer.hpp: extenstion of type_info required for // serialization. -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -51,7 +51,7 @@ class BOOST_SYMBOL_VISIBLE basic_pointer_iserializer virtual void * heap_allocation() const = 0; virtual const basic_iserializer & get_basic_serializer() const = 0; virtual void load_object_ptr( - basic_iarchive & ar, + basic_iarchive & ar, void * x, const unsigned int file_version ) const = 0; diff --git a/lslboost/boost/archive/detail/basic_pointer_oserializer.hpp b/lslboost/boost/archive/detail/basic_pointer_oserializer.hpp index 0e8033005..54cdcf60c 100644 --- a/lslboost/boost/archive/detail/basic_pointer_oserializer.hpp +++ b/lslboost/boost/archive/detail/basic_pointer_oserializer.hpp @@ -7,10 +7,10 @@ #endif /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// basic_pointer_oserializer.hpp: extenstion of type_info required for +// basic_pointer_oserializer.hpp: extenstion of type_info required for // serialization. -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -39,7 +39,7 @@ namespace detail { class basic_oarchive; class basic_oserializer; -class BOOST_SYMBOL_VISIBLE basic_pointer_oserializer : +class BOOST_SYMBOL_VISIBLE basic_pointer_oserializer : public basic_serializer { protected: diff --git a/lslboost/boost/archive/detail/basic_serializer.hpp b/lslboost/boost/archive/detail/basic_serializer.hpp index 0634ac791..5e2014108 100644 --- a/lslboost/boost/archive/detail/basic_serializer.hpp +++ b/lslboost/boost/archive/detail/basic_serializer.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_serializer.hpp: extenstion of type_info required for serialization. -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -32,18 +32,18 @@ namespace lslboost { namespace archive { namespace detail { -class basic_serializer : +class basic_serializer : private lslboost::noncopyable { const lslboost::serialization::extended_type_info * m_eti; protected: explicit basic_serializer( const lslboost::serialization::extended_type_info & eti - ) : + ) : m_eti(& eti) {} public: - inline bool + inline bool operator<(const basic_serializer & rhs) const { // can't compare address since there can be multiple eti records // for the same type in different execution modules (that is, DLLS) diff --git a/lslboost/boost/archive/detail/basic_serializer_map.hpp b/lslboost/boost/archive/detail/basic_serializer_map.hpp index 03fac9395..061a37cfe 100644 --- a/lslboost/boost/archive/detail/basic_serializer_map.hpp +++ b/lslboost/boost/archive/detail/basic_serializer_map.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_serializer_map.hpp: extenstion of type_info required for serialization. -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -24,7 +24,7 @@ #include // must be the last header -namespace lslboost { +namespace lslboost { namespace serialization { class extended_type_info; } @@ -45,7 +45,7 @@ basic_serializer_map : public ) const ; }; typedef std::set< - const basic_serializer *, + const basic_serializer *, type_info_pointer_compare > map_type; map_type m_map; diff --git a/lslboost/boost/archive/detail/check.hpp b/lslboost/boost/archive/detail/check.hpp index d36880ba4..6360a1910 100644 --- a/lslboost/boost/archive/detail/check.hpp +++ b/lslboost/boost/archive/detail/check.hpp @@ -15,7 +15,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // check.hpp: interface for serialization system. -// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -49,7 +49,7 @@ namespace detail { template inline void check_object_level(){ - typedef + typedef typename mpl::greater_equal< serialization::implementation_level< T >, mpl::int_ @@ -62,7 +62,7 @@ inline void check_object_level(){ template inline void check_object_versioning(){ - typedef + typedef typename mpl::or_< typename mpl::greater< serialization::implementation_level< T >, @@ -90,8 +90,8 @@ inline void check_object_tracking(){ // saving an non-const object of a type not marked "track_never) // may be an indicator of an error usage of the - // serialization library and should be double checked. - // See documentation on object tracking. Also, see the + // serialization library and should be double checked. + // See documentation on object tracking. Also, see the // "rationale" section of the documenation // for motivation for this checking. @@ -104,7 +104,7 @@ template inline void check_pointer_level(){ // we should only invoke this once we KNOW that T // has been used as a pointer!! - typedef + typedef typename mpl::or_< typename mpl::greater< serialization::implementation_level< T >, @@ -126,12 +126,12 @@ inline void check_pointer_level(){ // in this case, indication that an object is tracked is // not stored in the archive itself - see level == object_serializable - // but rather the existence of the operation ar >> T * is used to + // but rather the existence of the operation ar >> T * is used to // infer that an object of this type should be tracked. So, if // you save via a pointer but don't load via a pointer the operation // will fail on load without given any valid reason for the failure. - // So if your program traps here, consider changing the + // So if your program traps here, consider changing the // tracking or implementation level traits - or not // serializing via a pointer. BOOST_STATIC_WARNING(typex::value); diff --git a/lslboost/boost/archive/detail/common_iarchive.hpp b/lslboost/boost/archive/detail/common_iarchive.hpp index bd206c072..3c6876145 100644 --- a/lslboost/boost/archive/detail/common_iarchive.hpp +++ b/lslboost/boost/archive/detail/common_iarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // common_iarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -42,22 +42,22 @@ class BOOST_SYMBOL_VISIBLE common_iarchive : friend class interface_iarchive; friend class basic_iarchive; private: - virtual void vload(version_type & t){ - * this->This() >> t; + void vload(version_type & t) BOOST_OVERRIDE { + * this->This() >> t; } - virtual void vload(object_id_type & t){ + void vload(object_id_type & t) BOOST_OVERRIDE { * this->This() >> t; } - virtual void vload(class_id_type & t){ + void vload(class_id_type & t) BOOST_OVERRIDE { * this->This() >> t; } - virtual void vload(class_id_optional_type & t){ + void vload(class_id_optional_type & t) BOOST_OVERRIDE { * this->This() >> t; } - virtual void vload(tracking_type & t){ + void vload(tracking_type & t) BOOST_OVERRIDE { * this->This() >> t; } - virtual void vload(class_name_type &s){ + void vload(class_name_type &s) BOOST_OVERRIDE { * this->This() >> s; } protected: @@ -71,7 +71,7 @@ class BOOST_SYMBOL_VISIBLE common_iarchive : void load_start(const char * /*name*/){} void load_end(const char * /*name*/){} // default archive initialization - common_iarchive(unsigned int flags = 0) : + common_iarchive(unsigned int flags = 0) : basic_iarchive(flags), interface_iarchive() {} @@ -86,4 +86,3 @@ class BOOST_SYMBOL_VISIBLE common_iarchive : #endif #endif // BOOST_ARCHIVE_DETAIL_COMMON_IARCHIVE_HPP - diff --git a/lslboost/boost/archive/detail/common_oarchive.hpp b/lslboost/boost/archive/detail/common_oarchive.hpp index 72842f823..ad2ec8592 100644 --- a/lslboost/boost/archive/detail/common_oarchive.hpp +++ b/lslboost/boost/archive/detail/common_oarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // common_oarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -40,28 +40,28 @@ class BOOST_SYMBOL_VISIBLE common_oarchive : friend class interface_oarchive; friend class basic_oarchive; private: - virtual void vsave(const version_type t){ + void vsave(const version_type t) BOOST_OVERRIDE { * this->This() << t; } - virtual void vsave(const object_id_type t){ + void vsave(const object_id_type t) BOOST_OVERRIDE { * this->This() << t; } - virtual void vsave(const object_reference_type t){ + void vsave(const object_reference_type t) BOOST_OVERRIDE { * this->This() << t; } - virtual void vsave(const class_id_type t){ + void vsave(const class_id_type t) BOOST_OVERRIDE { * this->This() << t; } - virtual void vsave(const class_id_reference_type t){ + void vsave(const class_id_reference_type t) BOOST_OVERRIDE { * this->This() << t; } - virtual void vsave(const class_id_optional_type t){ + void vsave(const class_id_optional_type t) BOOST_OVERRIDE { * this->This() << t; } - virtual void vsave(const class_name_type & t){ + void vsave(const class_name_type & t) BOOST_OVERRIDE { * this->This() << t; } - virtual void vsave(const tracking_type t){ + void vsave(const tracking_type t) BOOST_OVERRIDE { * this->This() << t; } protected: @@ -72,7 +72,7 @@ class BOOST_SYMBOL_VISIBLE common_oarchive : } void save_start(const char * /*name*/){} void save_end(const char * /*name*/){} - common_oarchive(unsigned int flags = 0) : + common_oarchive(unsigned int flags = 0) : basic_oarchive(flags), interface_oarchive() {} diff --git a/lslboost/boost/archive/detail/decl.hpp b/lslboost/boost/archive/detail/decl.hpp index 4f731cded..70555c31f 100644 --- a/lslboost/boost/archive/detail/decl.hpp +++ b/lslboost/boost/archive/detail/decl.hpp @@ -1,10 +1,10 @@ #ifndef BOOST_ARCHIVE_DETAIL_DECL_HPP -#define BOOST_ARCHIVE_DETAIL_DECL_HPP +#define BOOST_ARCHIVE_DETAIL_DECL_HPP // MS compatible compilers support #pragma once #if defined(_MSC_VER) # pragma once -#endif +#endif /////////1/////////2///////// 3/////////4/////////5/////////6/////////7/////////8 // decl.hpp @@ -16,7 +16,7 @@ // See library home page at http://www.boost.org/libs/serialization -//----------------------------------------------------------------------------// +//----------------------------------------------------------------------------// // This header implements separate compilation features as described in // http://www.boost.org/more/separate_compilation.html diff --git a/lslboost/boost/archive/detail/interface_iarchive.hpp b/lslboost/boost/archive/detail/interface_iarchive.hpp index 8bed10255..7bbbf9ca4 100644 --- a/lslboost/boost/archive/detail/interface_iarchive.hpp +++ b/lslboost/boost/archive/detail/interface_iarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // interface_iarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -31,10 +31,10 @@ namespace detail { class basic_pointer_iserializer; template -class interface_iarchive +class interface_iarchive { protected: - interface_iarchive(){}; + interface_iarchive() {} public: ///////////////////////////////////////////////////////// // archive public interface @@ -47,11 +47,11 @@ class interface_iarchive } template - const basic_pointer_iserializer * + const basic_pointer_iserializer * register_type(T * = NULL){ const basic_pointer_iserializer & bpis = lslboost::serialization::singleton< - pointer_iserializer + pointer_iserializer >::get_const_instance(); this->This()->register_basic_serializer(bpis.get_basic_serializer()); return & bpis; @@ -62,14 +62,14 @@ class interface_iarchive helper_collection & hc = this->This()->get_helper_collection(); return hc.template find_helper(id); } - + template Archive & operator>>(T & t){ this->This()->load_override(t); return * this->This(); } - // the & operator + // the & operator template Archive & operator&(T & t){ return *(this->This()) >> t; diff --git a/lslboost/boost/archive/detail/interface_oarchive.hpp b/lslboost/boost/archive/detail/interface_oarchive.hpp index adfd21d30..2b6135003 100644 --- a/lslboost/boost/archive/detail/interface_oarchive.hpp +++ b/lslboost/boost/archive/detail/interface_oarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // interface_oarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -32,10 +32,10 @@ namespace detail { class basic_pointer_oserializer; template -class interface_oarchive +class interface_oarchive { protected: - interface_oarchive(){}; + interface_oarchive() {} public: ///////////////////////////////////////////////////////// // archive public interface @@ -48,7 +48,7 @@ class interface_oarchive } template - const basic_pointer_oserializer * + const basic_pointer_oserializer * register_type(const T * = NULL){ const basic_pointer_oserializer & bpos = lslboost::serialization::singleton< @@ -57,7 +57,7 @@ class interface_oarchive this->This()->register_basic_serializer(bpos.get_basic_serializer()); return & bpos; } - + template Helper & get_helper(void * const id = 0){ @@ -70,8 +70,8 @@ class interface_oarchive this->This()->save_override(t); return * this->This(); } - - // the & operator + + // the & operator template Archive & operator&(const T & t){ return * this ->This() << t; diff --git a/lslboost/boost/archive/detail/iserializer.hpp b/lslboost/boost/archive/detail/iserializer.hpp index 45abeee4c..f8d6e44d9 100644 --- a/lslboost/boost/archive/detail/iserializer.hpp +++ b/lslboost/boost/archive/detail/iserializer.hpp @@ -15,7 +15,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // iserializer.hpp: interface for serialization system. -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -28,8 +28,8 @@ #include #include #if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::size_t; +namespace std{ + using ::size_t; } // namespace std #endif @@ -41,8 +41,8 @@ namespace std{ #include #include -#ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO - #include +#ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO + #include #endif #include #include @@ -60,12 +60,12 @@ namespace std{ #if !defined(BOOST_MSVC) && \ (BOOST_WORKAROUND(__IBMCPP__, < 1210) || \ defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x590)) - #define DONT_USE_HAS_NEW_OPERATOR 1 + #define BOOST_SERIALIZATION_DONT_USE_HAS_NEW_OPERATOR 1 #else - #define DONT_USE_HAS_NEW_OPERATOR 0 + #define BOOST_SERIALIZATION_DONT_USE_HAS_NEW_OPERATOR 0 #endif -#if ! DONT_USE_HAS_NEW_OPERATOR +#if ! BOOST_SERIALIZATION_DONT_USE_HAS_NEW_OPERATOR #include #endif @@ -120,41 +120,41 @@ template class iserializer : public basic_iserializer { private: - virtual void destroy(/*const*/ void *address) const { + void destroy(/*const*/ void *address) const BOOST_OVERRIDE { lslboost::serialization::access::destroy(static_cast(address)); } public: explicit iserializer() : basic_iserializer( lslboost::serialization::singleton< - typename + typename lslboost::serialization::type_info_implementation< T >::type >::get_const_instance() ) {} - virtual BOOST_DLLEXPORT void load_object_data( + BOOST_DLLEXPORT void load_object_data( basic_iarchive & ar, - void *x, + void *x, const unsigned int file_version - ) const BOOST_USED; - virtual bool class_info() const { - return lslboost::serialization::implementation_level< T >::value + ) const BOOST_OVERRIDE BOOST_USED; + bool class_info() const BOOST_OVERRIDE { + return lslboost::serialization::implementation_level< T >::value >= lslboost::serialization::object_class_info; } - virtual bool tracking(const unsigned int /* flags */) const { - return lslboost::serialization::tracking_level< T >::value + bool tracking(const unsigned int /* flags */) const BOOST_OVERRIDE { + return lslboost::serialization::tracking_level< T >::value == lslboost::serialization::track_always - || ( lslboost::serialization::tracking_level< T >::value + || ( lslboost::serialization::tracking_level< T >::value == lslboost::serialization::track_selectively && serialized_as_pointer()); } - virtual version_type version() const { + version_type version() const BOOST_OVERRIDE { return version_type(::lslboost::serialization::version< T >::value); } - virtual bool is_polymorphic() const { + bool is_polymorphic() const BOOST_OVERRIDE { return lslboost::is_polymorphic< T >::value; } - virtual ~iserializer(){}; + ~iserializer() BOOST_OVERRIDE {} }; #ifdef BOOST_MSVC @@ -164,12 +164,12 @@ class iserializer : public basic_iserializer template BOOST_DLLEXPORT void iserializer::load_object_data( basic_iarchive & ar, - void *x, + void *x, const unsigned int file_version ) const { // note: we now comment this out. Before we permited archive // version # to be very large. Now we don't. To permit - // readers of these old archives, we have to suppress this + // readers of these old archives, we have to suppress this // code. Perhaps in the future we might re-enable it but // permit its suppression with a runtime switch. #if 0 @@ -186,7 +186,7 @@ BOOST_DLLEXPORT void iserializer::load_object_data( // be specialized by the user. lslboost::serialization::serialize_adl( lslboost::serialization::smart_cast_reference(ar), - * static_cast(x), + * static_cast(x), file_version ); } @@ -199,7 +199,7 @@ BOOST_DLLEXPORT void iserializer::load_object_data( // the purpose of this code is to allocate memory for an object // without requiring the constructor to be called. Presumably // the allocated object will be subsequently initialized with -// "placement new". +// "placement new". // note: we have the boost type trait has_new_operator but we // have no corresponding has_delete_operator. So we presume // that the former being true would imply that the a delete @@ -208,7 +208,7 @@ BOOST_DLLEXPORT void iserializer::load_object_data( template struct heap_allocation { // lslboost::has_new_operator< T > doesn't work on these compilers - #if DONT_USE_HAS_NEW_OPERATOR + #if BOOST_SERIALIZATION_DONT_USE_HAS_NEW_OPERATOR // This doesn't handle operator new overload for class T static T * invoke_new(){ return static_cast(operator new(sizeof(T))); @@ -250,7 +250,7 @@ struct heap_allocation { mpl::eval_if< lslboost::has_new_operator< T >, mpl::identity, - mpl::identity + mpl::identity >::type typex; return typex::invoke_new(); } @@ -259,7 +259,7 @@ struct heap_allocation { mpl::eval_if< lslboost::has_new_operator< T >, mpl::identity, - mpl::identity + mpl::identity >::type typex; typex::invoke_delete(t); } @@ -289,26 +289,26 @@ class pointer_iserializer : public basic_pointer_iserializer { private: - virtual void * heap_allocation() const { + void * heap_allocation() const BOOST_OVERRIDE { detail::heap_allocation h; T * t = h.get(); h.release(); return t; } - virtual const basic_iserializer & get_basic_serializer() const { + const basic_iserializer & get_basic_serializer() const BOOST_OVERRIDE { return lslboost::serialization::singleton< iserializer >::get_const_instance(); } - BOOST_DLLEXPORT virtual void load_object_ptr( - basic_iarchive & ar, + BOOST_DLLEXPORT void load_object_ptr( + basic_iarchive & ar, void * x, const unsigned int file_version - ) const BOOST_USED; + ) const BOOST_OVERRIDE BOOST_USED; public: // this should alway be a singleton so make the constructor protected pointer_iserializer(); - ~pointer_iserializer(); + ~pointer_iserializer() BOOST_OVERRIDE; }; #ifdef BOOST_MSVC @@ -319,12 +319,12 @@ class pointer_iserializer : // serialized only through base class won't get optimized out template BOOST_DLLEXPORT void pointer_iserializer::load_object_ptr( - basic_iarchive & ar, + basic_iarchive & ar, void * t, const unsigned int file_version ) const { - Archive & ar_impl = + Archive & ar_impl = lslboost::serialization::smart_cast_reference(ar); // note that the above will throw std::bad_alloc if the allocation @@ -334,7 +334,7 @@ BOOST_DLLEXPORT void pointer_iserializer::load_object_ptr( // automatically delete the t which is most likely not fully // constructed BOOST_TRY { - // this addresses an obscure situation that occurs when + // this addresses an obscure situation that occurs when // load_constructor de-serializes something through a pointer. ar.next_object_pointer(t); lslboost::serialization::load_construct_data_adl( @@ -358,7 +358,7 @@ template pointer_iserializer::pointer_iserializer() : basic_pointer_iserializer( lslboost::serialization::singleton< - typename + typename lslboost::serialization::type_info_implementation< T >::type >::get_const_instance() ) @@ -393,8 +393,8 @@ struct load_non_pointer_type { // make sure call is routed through the higest interface that might // be specialized by the user. lslboost::serialization::serialize_adl( - ar, - const_cast(t), + ar, + const_cast(t), lslboost::serialization::version< T >::value ); } @@ -407,7 +407,7 @@ struct load_non_pointer_type { static void invoke(Archive &ar, const T & t){ void * x = lslboost::addressof(const_cast(t)); ar.load_object( - x, + x, lslboost::serialization::singleton< iserializer >::get_const_instance() @@ -484,7 +484,7 @@ struct load_pointer_type { template static const basic_pointer_iserializer * register_type(Archive &ar, const T* const /*t*/){ - // there should never be any need to load an abstract polymorphic + // there should never be any need to load an abstract polymorphic // class pointer. Inhibiting code generation for this // permits abstract base classes to be used - note: exception // virtual serialize functions used for plug-ins @@ -492,7 +492,7 @@ struct load_pointer_type { mpl::eval_if< lslboost::serialization::is_abstract, lslboost::mpl::identity, - lslboost::mpl::identity + lslboost::mpl::identity >::type typex; return typex::template register_type< T >(ar); } @@ -508,7 +508,7 @@ struct load_pointer_type { lslboost::serialization::void_upcast( eti, lslboost::serialization::singleton< - typename + typename lslboost::serialization::type_info_implementation< T >::type >::get_const_instance(), t @@ -570,13 +570,13 @@ struct load_array_type { template static void invoke(Archive &ar, T &t){ typedef typename remove_extent< T >::type value_type; - + // convert integers to correct enum to load // determine number of elements in the array. Consider the - // fact that some machines will align elements on boundries + // fact that some machines will align elements on boundaries // other than characters. std::size_t current_count = sizeof(t) / ( - static_cast(static_cast(&t[1])) + static_cast(static_cast(&t[1])) - static_cast(static_cast(&t[0])) ); lslboost::serialization::collection_size_type count; diff --git a/lslboost/boost/archive/detail/oserializer.hpp b/lslboost/boost/archive/detail/oserializer.hpp index 677e6722e..ed0917a7f 100644 --- a/lslboost/boost/archive/detail/oserializer.hpp +++ b/lslboost/boost/archive/detail/oserializer.hpp @@ -15,7 +15,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // oserializer.hpp: interface for serialization system. -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -36,8 +36,8 @@ #include #include -#ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO - #include +#ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO + #include #endif #include #include @@ -105,37 +105,37 @@ template class oserializer : public basic_oserializer { private: - // private constructor to inhibit any existence other than the + // private constructor to inhibit any existence other than the // static one public: explicit BOOST_DLLEXPORT oserializer() : basic_oserializer( lslboost::serialization::singleton< - typename + typename lslboost::serialization::type_info_implementation< T >::type >::get_const_instance() ) {} - virtual BOOST_DLLEXPORT void save_object_data( - basic_oarchive & ar, + BOOST_DLLEXPORT void save_object_data( + basic_oarchive & ar, const void *x - ) const BOOST_USED; - virtual bool class_info() const { - return lslboost::serialization::implementation_level< T >::value + ) const BOOST_OVERRIDE BOOST_USED; + bool class_info() const BOOST_OVERRIDE { + return lslboost::serialization::implementation_level< T >::value >= lslboost::serialization::object_class_info; } - virtual bool tracking(const unsigned int /* flags */) const { + bool tracking(const unsigned int /* flags */) const BOOST_OVERRIDE { return lslboost::serialization::tracking_level< T >::value == lslboost::serialization::track_always || (lslboost::serialization::tracking_level< T >::value == lslboost::serialization::track_selectively && serialized_as_pointer()); } - virtual version_type version() const { + version_type version() const BOOST_OVERRIDE { return version_type(::lslboost::serialization::version< T >::value); } - virtual bool is_polymorphic() const { + bool is_polymorphic() const BOOST_OVERRIDE { return lslboost::is_polymorphic< T >::value; } - virtual ~oserializer(){} + ~oserializer() BOOST_OVERRIDE {} }; #ifdef BOOST_MSVC @@ -144,7 +144,7 @@ class oserializer : public basic_oserializer template BOOST_DLLEXPORT void oserializer::save_object_data( - basic_oarchive & ar, + basic_oarchive & ar, const void *x ) const { // make sure call is routed through the highest interface that might @@ -167,19 +167,19 @@ class pointer_oserializer : public basic_pointer_oserializer { private: - const basic_oserializer & - get_basic_serializer() const { + const basic_oserializer & + get_basic_serializer() const BOOST_OVERRIDE { return lslboost::serialization::singleton< oserializer >::get_const_instance(); } - virtual BOOST_DLLEXPORT void save_object_ptr( + BOOST_DLLEXPORT void save_object_ptr( basic_oarchive & ar, const void * x - ) const BOOST_USED; + ) const BOOST_OVERRIDE BOOST_USED; public: pointer_oserializer(); - ~pointer_oserializer(); + ~pointer_oserializer() BOOST_OVERRIDE; }; #ifdef BOOST_MSVC @@ -196,11 +196,11 @@ BOOST_DLLEXPORT void pointer_oserializer::save_object_ptr( // be specialized by the user. T * t = static_cast(const_cast(x)); const unsigned int file_version = lslboost::serialization::version< T >::value; - Archive & ar_impl + Archive & ar_impl = lslboost::serialization::smart_cast_reference(ar); lslboost::serialization::save_construct_data_adl( - ar_impl, - t, + ar_impl, + t, file_version ); ar_impl << lslboost::serialization::make_nvp(NULL, * t); @@ -210,14 +210,14 @@ template pointer_oserializer::pointer_oserializer() : basic_pointer_oserializer( lslboost::serialization::singleton< - typename + typename lslboost::serialization::type_info_implementation< T >::type >::get_const_instance() ) { // make sure appropriate member function is instantiated lslboost::serialization::singleton< - oserializer + oserializer >::get_mutable_instance().set_bpos(this); archive_serializer_map::insert(this); } @@ -244,8 +244,8 @@ struct save_non_pointer_type { // make sure call is routed through the highest interface that might // be specialized by the user. lslboost::serialization::serialize_adl( - ar, - const_cast(t), + ar, + const_cast(t), ::lslboost::serialization::version< T >::value ); } @@ -281,7 +281,7 @@ struct save_non_pointer_type { template static void invoke(Archive & ar, const T & t){ - typedef + typedef typename mpl::eval_if< // if its primitive mpl::equal_to< @@ -310,7 +310,7 @@ struct save_non_pointer_type { // else // do a fast save only tracking is turned off mpl::identity - > > >::type typex; + > > >::type typex; check_object_versioning< T >(); typex::invoke(ar, t); } @@ -344,15 +344,15 @@ struct save_pointer_type { template static const basic_pointer_oserializer * register_type(Archive &ar, T* const /*t*/){ - // there should never be any need to save an abstract polymorphic + // there should never be any need to save an abstract polymorphic // class pointer. Inhibiting code generation for this // permits abstract base classes to be used - note: exception // virtual serialize functions used for plug-ins - typedef + typedef typename mpl::eval_if< lslboost::serialization::is_abstract< T >, mpl::identity, - mpl::identity + mpl::identity >::type typex; return typex::template register_type< T >(ar); } @@ -361,10 +361,10 @@ struct save_pointer_type { { template static void save( - Archive &ar, + Archive &ar, T & t ){ - const basic_pointer_oserializer & bpos = + const basic_pointer_oserializer & bpos = lslboost::serialization::singleton< pointer_oserializer >::get_const_instance(); @@ -377,13 +377,13 @@ struct save_pointer_type { { template static void save( - Archive &ar, + Archive &ar, T & t ){ - typename + typename lslboost::serialization::type_info_implementation< T >::type const & i = lslboost::serialization::singleton< - typename + typename lslboost::serialization::type_info_implementation< T >::type >::get_const_instance(); @@ -417,8 +417,8 @@ struct save_pointer_type { // convert pointer to more derived type. if this is thrown // it means that the base/derived relationship hasn't be registered vp = serialization::void_downcast( - *true_type, - *this_type, + *true_type, + *this_type, static_cast(&t) ); if(NULL == vp){ @@ -431,7 +431,7 @@ struct save_pointer_type { ); } - // since true_type is valid, and this only gets made if the + // since true_type is valid, and this only gets made if the // pointer oserializer object has been created, this should never // fail const basic_pointer_oserializer * bpos @@ -454,7 +454,7 @@ struct save_pointer_type { template static void save( - Archive & ar, + Archive & ar, const T & t ){ check_pointer_level< T >(); @@ -471,7 +471,7 @@ struct save_pointer_type { static void invoke(Archive &ar, const TPtr t){ register_type(ar, t); if(NULL == t){ - basic_oarchive & boa + basic_oarchive & boa = lslboost::serialization::smart_cast_reference(ar); boa.save_null_pointer(); save_access::end_preamble(ar); @@ -498,11 +498,11 @@ struct save_array_type template static void invoke(Archive &ar, const T &t){ typedef typename lslboost::remove_extent< T >::type value_type; - + save_access::end_preamble(ar); // consider alignment std::size_t c = sizeof(t) / ( - static_cast(static_cast(&t[1])) + static_cast(static_cast(&t[1])) - static_cast(static_cast(&t[0])) ); lslboost::serialization::collection_size_type count(c); @@ -522,7 +522,7 @@ struct save_array_type template inline void save(Archive & ar, /*const*/ T &t){ - typedef + typedef typename mpl::eval_if, mpl::identity >, //else diff --git a/lslboost/boost/archive/detail/polymorphic_iarchive_route.hpp b/lslboost/boost/archive/detail/polymorphic_iarchive_route.hpp index 54fdba4c5..197f3db4b 100644 --- a/lslboost/boost/archive/detail/polymorphic_iarchive_route.hpp +++ b/lslboost/boost/archive/detail/polymorphic_iarchive_route.hpp @@ -56,125 +56,125 @@ class polymorphic_iarchive_route : { private: // these are used by the serialization library. - virtual void load_object( + void load_object( void *t, const basic_iserializer & bis - ){ + ) BOOST_OVERRIDE { ArchiveImplementation::load_object(t, bis); } - virtual const basic_pointer_iserializer * load_pointer( + const basic_pointer_iserializer * load_pointer( void * & t, const basic_pointer_iserializer * bpis_ptr, const basic_pointer_iserializer * (*finder)( const lslboost::serialization::extended_type_info & type ) - ){ + ) BOOST_OVERRIDE { return ArchiveImplementation::load_pointer(t, bpis_ptr, finder); } - virtual void set_library_version(library_version_type archive_library_version){ + void set_library_version(lslboost::serialization::library_version_type archive_library_version) BOOST_OVERRIDE { ArchiveImplementation::set_library_version(archive_library_version); } - virtual library_version_type get_library_version() const{ + lslboost::serialization::library_version_type get_library_version() const BOOST_OVERRIDE { return ArchiveImplementation::get_library_version(); } - virtual unsigned int get_flags() const { + unsigned int get_flags() const BOOST_OVERRIDE { return ArchiveImplementation::get_flags(); } - virtual void delete_created_pointers(){ + void delete_created_pointers() BOOST_OVERRIDE { ArchiveImplementation::delete_created_pointers(); } - virtual void reset_object_address( + void reset_object_address( const void * new_address, const void * old_address - ){ + ) BOOST_OVERRIDE { ArchiveImplementation::reset_object_address(new_address, old_address); } - virtual void load_binary(void * t, std::size_t size){ + void load_binary(void * t, std::size_t size) BOOST_OVERRIDE { ArchiveImplementation::load_binary(t, size); } // primitive types the only ones permitted by polymorphic archives - virtual void load(bool & t){ + void load(bool & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } - virtual void load(char & t){ + void load(char & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } - virtual void load(signed char & t){ + void load(signed char & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } - virtual void load(unsigned char & t){ + void load(unsigned char & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } #ifndef BOOST_NO_CWCHAR #ifndef BOOST_NO_INTRINSIC_WCHAR_T - virtual void load(wchar_t & t){ + void load(wchar_t & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } #endif #endif - virtual void load(short & t){ + void load(short & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } - virtual void load(unsigned short & t){ + void load(unsigned short & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } - virtual void load(int & t){ + void load(int & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } - virtual void load(unsigned int & t){ + void load(unsigned int & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } - virtual void load(long & t){ + void load(long & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } - virtual void load(unsigned long & t){ + void load(unsigned long & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } #if defined(BOOST_HAS_LONG_LONG) - virtual void load(lslboost::long_long_type & t){ + void load(lslboost::long_long_type & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } - virtual void load(lslboost::ulong_long_type & t){ + void load(lslboost::ulong_long_type & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } #elif defined(BOOST_HAS_MS_INT64) - virtual void load(__int64 & t){ + void load(__int64 & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } - virtual void load(unsigned __int64 & t){ + void load(unsigned __int64 & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } #endif - virtual void load(float & t){ + void load(float & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } - virtual void load(double & t){ + void load(double & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } - virtual void load(std::string & t){ + void load(std::string & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } #ifndef BOOST_NO_STD_WSTRING - virtual void load(std::wstring & t){ + void load(std::wstring & t) BOOST_OVERRIDE { ArchiveImplementation::load(t); } #endif // used for xml and other tagged formats default does nothing - virtual void load_start(const char * name){ + void load_start(const char * name) BOOST_OVERRIDE { ArchiveImplementation::load_start(name); } - virtual void load_end(const char * name){ + void load_end(const char * name) BOOST_OVERRIDE { ArchiveImplementation::load_end(name); } - virtual void register_basic_serializer(const basic_iserializer & bis){ + void register_basic_serializer(const basic_iserializer & bis) BOOST_OVERRIDE { ArchiveImplementation::register_basic_serializer(bis); } - virtual helper_collection & - get_helper_collection(){ + helper_collection & + get_helper_collection() BOOST_OVERRIDE { return ArchiveImplementation::get_helper_collection(); } public: - // this can't be inheriteded because they appear in mulitple + // this can't be inherited because they appear in multiple // parents typedef mpl::bool_ is_loading; typedef mpl::bool_ is_saving; @@ -190,7 +190,7 @@ class polymorphic_iarchive_route : } // register type function template - const basic_pointer_iserializer * + const basic_pointer_iserializer * register_type(T * t = NULL){ return ArchiveImplementation::register_type(t); } @@ -202,7 +202,7 @@ class polymorphic_iarchive_route : ) : ArchiveImplementation(is, flags) {} - virtual ~polymorphic_iarchive_route(){}; + ~polymorphic_iarchive_route() BOOST_OVERRIDE {} }; } // namespace detail diff --git a/lslboost/boost/archive/detail/polymorphic_oarchive_route.hpp b/lslboost/boost/archive/detail/polymorphic_oarchive_route.hpp index 3190c9a6b..839f8b51a 100644 --- a/lslboost/boost/archive/detail/polymorphic_oarchive_route.hpp +++ b/lslboost/boost/archive/detail/polymorphic_oarchive_route.hpp @@ -56,116 +56,116 @@ class polymorphic_oarchive_route : { private: // these are used by the serialization library. - virtual void save_object( + void save_object( const void *x, const detail::basic_oserializer & bos - ){ + ) BOOST_OVERRIDE { ArchiveImplementation::save_object(x, bos); } - virtual void save_pointer( + void save_pointer( const void * t, const detail::basic_pointer_oserializer * bpos_ptr - ){ + ) BOOST_OVERRIDE { ArchiveImplementation::save_pointer(t, bpos_ptr); } - virtual void save_null_pointer(){ + void save_null_pointer() BOOST_OVERRIDE { ArchiveImplementation::save_null_pointer(); } // primitive types the only ones permitted by polymorphic archives - virtual void save(const bool t){ + void save(const bool t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } - virtual void save(const char t){ + void save(const char t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } - virtual void save(const signed char t){ + void save(const signed char t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } - virtual void save(const unsigned char t){ + void save(const unsigned char t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } #ifndef BOOST_NO_CWCHAR #ifndef BOOST_NO_INTRINSIC_WCHAR_T - virtual void save(const wchar_t t){ + void save(const wchar_t t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } #endif #endif - virtual void save(const short t){ + void save(const short t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } - virtual void save(const unsigned short t){ + void save(const unsigned short t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } - virtual void save(const int t){ + void save(const int t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } - virtual void save(const unsigned int t){ + void save(const unsigned int t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } - virtual void save(const long t){ + void save(const long t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } - virtual void save(const unsigned long t){ + void save(const unsigned long t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } #if defined(BOOST_HAS_LONG_LONG) - virtual void save(const lslboost::long_long_type t){ + void save(const lslboost::long_long_type t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } - virtual void save(const lslboost::ulong_long_type t){ + void save(const lslboost::ulong_long_type t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } #elif defined(BOOST_HAS_MS_INT64) - virtual void save(const lslboost::int64_t t){ + void save(const lslboost::int64_t t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } - virtual void save(const lslboost::uint64_t t){ + void save(const lslboost::uint64_t t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } #endif - virtual void save(const float t){ + void save(const float t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } - virtual void save(const double t){ + void save(const double t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } - virtual void save(const std::string & t){ + void save(const std::string & t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } #ifndef BOOST_NO_STD_WSTRING - virtual void save(const std::wstring & t){ + void save(const std::wstring & t) BOOST_OVERRIDE { ArchiveImplementation::save(t); } #endif - virtual library_version_type get_library_version() const{ + lslboost::serialization::library_version_type get_library_version() const BOOST_OVERRIDE { return ArchiveImplementation::get_library_version(); } - virtual unsigned int get_flags() const { + unsigned int get_flags() const BOOST_OVERRIDE { return ArchiveImplementation::get_flags(); } - virtual void save_binary(const void * t, std::size_t size){ + void save_binary(const void * t, std::size_t size) BOOST_OVERRIDE { ArchiveImplementation::save_binary(t, size); } // used for xml and other tagged formats default does nothing - virtual void save_start(const char * name){ + void save_start(const char * name) BOOST_OVERRIDE { ArchiveImplementation::save_start(name); } - virtual void save_end(const char * name){ + void save_end(const char * name) BOOST_OVERRIDE { ArchiveImplementation::save_end(name); } - virtual void end_preamble(){ + void end_preamble() BOOST_OVERRIDE { ArchiveImplementation::end_preamble(); } - virtual void register_basic_serializer(const detail::basic_oserializer & bos){ + void register_basic_serializer(const detail::basic_oserializer & bos) BOOST_OVERRIDE { ArchiveImplementation::register_basic_serializer(bos); } - virtual helper_collection & - get_helper_collection(){ + helper_collection & + get_helper_collection() BOOST_OVERRIDE { return ArchiveImplementation::get_helper_collection(); } public: - // this can't be inheriteded because they appear in mulitple + // this can't be inherited because they appear in multiple // parents typedef mpl::bool_ is_loading; typedef mpl::bool_ is_saving; @@ -181,7 +181,7 @@ class polymorphic_oarchive_route : } // register type function template - const basic_pointer_oserializer * + const basic_pointer_oserializer * register_type(T * t = NULL){ return ArchiveImplementation::register_type(t); } @@ -193,7 +193,7 @@ class polymorphic_oarchive_route : ) : ArchiveImplementation(os, flags) {} - virtual ~polymorphic_oarchive_route(){}; + ~polymorphic_oarchive_route() BOOST_OVERRIDE {} }; } // namespace detail diff --git a/lslboost/boost/archive/detail/register_archive.hpp b/lslboost/boost/archive/detail/register_archive.hpp index 9a02f205b..00b80b183 100644 --- a/lslboost/boost/archive/detail/register_archive.hpp +++ b/lslboost/boost/archive/detail/register_archive.hpp @@ -4,7 +4,7 @@ #ifndef BOOST_ARCHIVE_DETAIL_REGISTER_ARCHIVE_DWA2006521_HPP # define BOOST_ARCHIVE_DETAIL_REGISTER_ARCHIVE_DWA2006521_HPP -namespace lslboost { namespace archive { namespace detail { +namespace lslboost { namespace archive { namespace detail { // No instantiate_ptr_serialization overloads generated by // BOOST_SERIALIZATION_REGISTER_ARCHIVE that lexically follow the call diff --git a/lslboost/boost/archive/detail/utf8_codecvt_facet.hpp b/lslboost/boost/archive/detail/utf8_codecvt_facet.hpp index ea1893582..17b98edc2 100644 --- a/lslboost/boost/archive/detail/utf8_codecvt_facet.hpp +++ b/lslboost/boost/archive/detail/utf8_codecvt_facet.hpp @@ -17,7 +17,6 @@ #include #define BOOST_UTF8_BEGIN_NAMESPACE \ namespace lslboost { namespace archive { namespace detail { -#define BOOST_UTF8_DECL BOOST_ARCHIVE_DECL #define BOOST_UTF8_END_NAMESPACE }}} #include diff --git a/lslboost/boost/archive/dinkumware.hpp b/lslboost/boost/archive/dinkumware.hpp index 082924d4e..ffd93ba99 100644 --- a/lslboost/boost/archive/dinkumware.hpp +++ b/lslboost/boost/archive/dinkumware.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // dinkumware.hpp: -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -29,7 +29,7 @@ namespace std { // define i/o operators for 64 bit integers template -basic_ostream & +basic_ostream & operator<<(basic_ostream & os, lslboost::uint64_t t){ // octal rendering of 64 bit number would be 22 octets + eos CharType d[23]; @@ -66,7 +66,7 @@ operator<<(basic_ostream & os, lslboost::uint64_t t){ } template -basic_ostream & +basic_ostream & operator<<(basic_ostream &os, lslboost::int64_t t){ if(0 <= t){ os << static_cast(t); @@ -79,7 +79,7 @@ operator<<(basic_ostream &os, lslboost::int64_t t){ } template -basic_istream & +basic_istream & operator>>(basic_istream &is, lslboost::int64_t & t){ CharType d; do{ @@ -119,7 +119,7 @@ operator>>(basic_istream &is, lslboost::int64_t & t){ } template -basic_istream & +basic_istream & operator>>(basic_istream &is, lslboost::uint64_t & t){ lslboost::int64_t it; is >> it; @@ -127,10 +127,8 @@ operator>>(basic_istream &is, lslboost::uint64_t & t){ return is; } -//#endif - template<> -class back_insert_iterator > : public +class back_insert_iterator > : public iterator { public: @@ -140,7 +138,7 @@ class back_insert_iterator > : public explicit back_insert_iterator(container_type & s) : container(& s) {} // construct with container - + back_insert_iterator & operator=( container_type::const_reference Val_ ){ // push value into container @@ -167,7 +165,7 @@ class back_insert_iterator > : public container_type *container; // pointer to container }; -template +template inline back_insert_iterator > back_inserter( basic_string & s ){ @@ -175,7 +173,7 @@ inline back_insert_iterator > back_inserter( } template<> -class back_insert_iterator > : public +class back_insert_iterator > : public iterator { public: @@ -185,7 +183,7 @@ class back_insert_iterator > : public explicit back_insert_iterator(container_type & s) : container(& s) {} // construct with container - + back_insert_iterator & operator=( container_type::const_reference Val_ ){ // push value into container @@ -212,7 +210,7 @@ class back_insert_iterator > : public container_type *container; // pointer to container }; -template +template inline back_insert_iterator > back_inserter( basic_string & s ){ diff --git a/lslboost/boost/archive/impl/basic_binary_iarchive.ipp b/lslboost/boost/archive/impl/basic_binary_iarchive.ipp index a924db09c..c2ee3d8c7 100644 --- a/lslboost/boost/archive/impl/basic_binary_iarchive.ipp +++ b/lslboost/boost/archive/impl/basic_binary_iarchive.ipp @@ -22,7 +22,7 @@ namespace std{ #endif #include -#include +#include #include @@ -48,7 +48,7 @@ basic_binary_iarchive::load_override(class_name_type & t){ template BOOST_ARCHIVE_OR_WARCHIVE_DECL void -basic_binary_iarchive::init(void){ +basic_binary_iarchive::init() { // read signature in an archive version independent manner std::string file_signature; @@ -84,12 +84,12 @@ basic_binary_iarchive::init(void){ // make sure the version of the reading archive library can // support the format of the archive being read - library_version_type input_library_version; + lslboost::serialization::library_version_type input_library_version; //* this->This() >> input_library_version; { int v = 0; v = this->This()->m_sb.sbumpc(); - #if defined(BOOST_LITTLE_ENDIAN) + #if BOOST_ENDIAN_LITTLE_BYTE if(v < 6){ ; } @@ -111,11 +111,11 @@ basic_binary_iarchive::init(void){ // version 8+ followed by a zero this->This()->m_sb.sbumpc(); } - #elif defined(BOOST_BIG_ENDIAN) + #elif BOOST_ENDIAN_BIG_BYTE if(v == 0) v = this->This()->m_sb.sbumpc(); #endif - input_library_version = static_cast(v); + input_library_version = static_cast(v); } #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205)) diff --git a/lslboost/boost/archive/impl/basic_binary_oarchive.ipp b/lslboost/boost/archive/impl/basic_binary_oarchive.ipp index 1c75ce94f..7fdd01de7 100644 --- a/lslboost/boost/archive/impl/basic_binary_oarchive.ipp +++ b/lslboost/boost/archive/impl/basic_binary_oarchive.ipp @@ -34,7 +34,7 @@ basic_binary_oarchive::init(){ const std::string file_signature(BOOST_ARCHIVE_SIGNATURE()); * this->This() << file_signature; // write library version - const library_version_type v(BOOST_ARCHIVE_VERSION()); + const lslboost::serialization::library_version_type v(BOOST_ARCHIVE_VERSION()); * this->This() << v; } diff --git a/lslboost/boost/archive/impl/basic_text_iarchive.ipp b/lslboost/boost/archive/impl/basic_text_iarchive.ipp index 32cea9d61..9d370c312 100644 --- a/lslboost/boost/archive/impl/basic_text_iarchive.ipp +++ b/lslboost/boost/archive/impl/basic_text_iarchive.ipp @@ -45,7 +45,7 @@ basic_text_iarchive::load_override(class_name_type & t){ template BOOST_ARCHIVE_OR_WARCHIVE_DECL void -basic_text_iarchive::init(void){ +basic_text_iarchive::init() { // read signature in an archive version independent manner std::string file_signature; * this->This() >> file_signature; @@ -56,7 +56,7 @@ basic_text_iarchive::init(void){ // make sure the version of the reading archive library can // support the format of the archive being read - library_version_type input_library_version; + lslboost::serialization::library_version_type input_library_version; * this->This() >> input_library_version; #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205)) diff --git a/lslboost/boost/archive/impl/basic_text_oarchive.ipp b/lslboost/boost/archive/impl/basic_text_oarchive.ipp index bc987f2cc..904b73232 100644 --- a/lslboost/boost/archive/impl/basic_text_oarchive.ipp +++ b/lslboost/boost/archive/impl/basic_text_oarchive.ipp @@ -54,7 +54,7 @@ basic_text_oarchive::init(){ const std::string file_signature(BOOST_ARCHIVE_SIGNATURE()); * this->This() << file_signature; // write library version - const library_version_type v(BOOST_ARCHIVE_VERSION()); + const lslboost::serialization::library_version_type v(BOOST_ARCHIVE_VERSION()); * this->This() << v; } diff --git a/lslboost/boost/archive/impl/basic_text_oprimitive.ipp b/lslboost/boost/archive/impl/basic_text_oprimitive.ipp index 8cac71dda..ebc9bde4c 100644 --- a/lslboost/boost/archive/impl/basic_text_oprimitive.ipp +++ b/lslboost/boost/archive/impl/basic_text_oprimitive.ipp @@ -10,7 +10,6 @@ #include // NULL #include // std::copy -#include // std::uncaught_exception #include #if defined(BOOST_NO_STDC_NAMESPACE) namespace std{ @@ -18,6 +17,8 @@ namespace std{ } // namespace std #endif +#include + #include #include @@ -106,7 +107,7 @@ basic_text_oprimitive::basic_text_oprimitive( template BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_text_oprimitive::~basic_text_oprimitive(){ - if(std::uncaught_exception()) + if(lslboost::core::uncaught_exceptions() > 0) return; os << std::endl; } diff --git a/lslboost/boost/archive/impl/basic_xml_grammar.hpp b/lslboost/boost/archive/impl/basic_xml_grammar.hpp index d803fd1d1..992d424ec 100644 --- a/lslboost/boost/archive/impl/basic_xml_grammar.hpp +++ b/lslboost/boost/archive/impl/basic_xml_grammar.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // basic_xml_grammar.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -70,7 +70,7 @@ class BOOST_SYMBOL_VISIBLE basic_xml_grammar { // one compiler (Compaq C++ 6.5 in strict_ansi mode) chokes otherwise. struct return_values; friend struct return_values; - + private: typedef typename std::basic_istream IStream; typedef typename std::basic_string StringType; @@ -81,16 +81,16 @@ class BOOST_SYMBOL_VISIBLE basic_xml_grammar { > scanner_t; typedef typename lslboost::spirit::classic::rule rule_t; // Start grammar definition - rule_t + rule_t Reference, - Eq, + Eq, STag, ETag, LetterOrUnderscoreOrColon, - AttValue, - CharRef1, - CharRef2, - CharRef, + AttValue, + CharRef1, + CharRef2, + CharRef, AmpRef, LTRef, GTRef, @@ -127,11 +127,11 @@ class BOOST_SYMBOL_VISIBLE basic_xml_grammar { chset_t BaseChar, Ideographic, - Char, - Letter, + Char, + Letter, Digit, CombiningChar, - Extender, + Extender, Sch, NameChar; @@ -139,7 +139,7 @@ class BOOST_SYMBOL_VISIBLE basic_xml_grammar { bool my_parse( IStream & is, - const rule_t &rule_, + const rule_t &rule_, const CharType delimiter = L'>' ) const ; public: diff --git a/lslboost/boost/archive/impl/basic_xml_iarchive.ipp b/lslboost/boost/archive/impl/basic_xml_iarchive.ipp index 94332ba62..c7646c890 100644 --- a/lslboost/boost/archive/impl/basic_xml_iarchive.ipp +++ b/lslboost/boost/archive/impl/basic_xml_iarchive.ipp @@ -37,7 +37,6 @@ basic_xml_iarchive::load_start(const char *name){ } // don't check start tag at highest level ++depth; - return; } template diff --git a/lslboost/boost/archive/impl/text_iarchive_impl.ipp b/lslboost/boost/archive/impl/text_iarchive_impl.ipp index 51ff5df5a..71cd2cae1 100644 --- a/lslboost/boost/archive/impl/text_iarchive_impl.ipp +++ b/lslboost/boost/archive/impl/text_iarchive_impl.ipp @@ -115,14 +115,7 @@ text_iarchive_impl::text_iarchive_impl( 0 != (flags & no_codecvt) ), basic_text_iarchive(flags) -{ - if(0 == (flags & no_header)) - #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205)) - this->init(); - #else - this->basic_text_iarchive::init(); - #endif -} +{} } // namespace archive } // namespace lslboost diff --git a/lslboost/boost/archive/impl/text_oarchive_impl.ipp b/lslboost/boost/archive/impl/text_oarchive_impl.ipp index ab6b42476..4769b41fe 100644 --- a/lslboost/boost/archive/impl/text_oarchive_impl.ipp +++ b/lslboost/boost/archive/impl/text_oarchive_impl.ipp @@ -93,12 +93,6 @@ text_oarchive_impl::text_oarchive_impl( ), basic_text_oarchive(flags) { - if(0 == (flags & no_header)) - #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205)) - this->init(); - #else - this->basic_text_oarchive::init(); - #endif } template diff --git a/lslboost/boost/archive/impl/text_wiarchive_impl.ipp b/lslboost/boost/archive/impl/text_wiarchive_impl.ipp index 3cc8771ed..7324ed7eb 100644 --- a/lslboost/boost/archive/impl/text_wiarchive_impl.ipp +++ b/lslboost/boost/archive/impl/text_wiarchive_impl.ipp @@ -108,8 +108,6 @@ text_wiarchive_impl::text_wiarchive_impl( ), basic_text_iarchive(flags) { - if(0 == (flags & no_header)) - basic_text_iarchive::init(); } } // archive diff --git a/lslboost/boost/archive/impl/xml_iarchive_impl.ipp b/lslboost/boost/archive/impl/xml_iarchive_impl.ipp index 75d146860..59f3ec550 100644 --- a/lslboost/boost/archive/impl/xml_iarchive_impl.ipp +++ b/lslboost/boost/archive/impl/xml_iarchive_impl.ipp @@ -11,7 +11,6 @@ #include #include // memcpy #include // NULL -#include #if defined(BOOST_NO_STDC_NAMESPACE) namespace std{ @@ -34,6 +33,7 @@ namespace std{ #include #endif +#include #include #include @@ -165,7 +165,7 @@ BOOST_ARCHIVE_DECL void xml_iarchive_impl::init(){ gimpl->init(is); this->set_library_version( - library_version_type(gimpl->rv.version) + lslboost::serialization::library_version_type(gimpl->rv.version) ); } @@ -181,15 +181,12 @@ xml_iarchive_impl::xml_iarchive_impl( ), basic_xml_iarchive(flags), gimpl(new xml_grammar()) -{ - if(0 == (flags & no_header)) - init(); -} +{} template BOOST_ARCHIVE_DECL xml_iarchive_impl::~xml_iarchive_impl(){ - if(std::uncaught_exception()) + if(lslboost::core::uncaught_exceptions() > 0) return; if(0 == (this->get_flags() & no_header)){ gimpl->windup(is); diff --git a/lslboost/boost/archive/impl/xml_oarchive_impl.ipp b/lslboost/boost/archive/impl/xml_oarchive_impl.ipp index eed3bbdb6..35531d958 100644 --- a/lslboost/boost/archive/impl/xml_oarchive_impl.ipp +++ b/lslboost/boost/archive/impl/xml_oarchive_impl.ipp @@ -10,7 +10,6 @@ #include #include // std::copy #include -#include #include // strlen #include // msvc 6.0 needs this to suppress warnings @@ -20,6 +19,7 @@ namespace std{ } // namespace std #endif +#include #include #include @@ -109,10 +109,7 @@ xml_oarchive_impl::xml_oarchive_impl( 0 != (flags & no_codecvt) ), basic_xml_oarchive(flags) -{ - if(0 == (flags & no_header)) - this->init(); -} +{} template BOOST_ARCHIVE_DECL void @@ -132,7 +129,7 @@ xml_oarchive_impl::save_binary(const void *address, std::size_t count){ template BOOST_ARCHIVE_DECL xml_oarchive_impl::~xml_oarchive_impl(){ - if(std::uncaught_exception()) + if(lslboost::core::uncaught_exceptions() > 0) return; if(0 == (this->get_flags() & no_header)) this->windup(); diff --git a/lslboost/boost/archive/impl/xml_wiarchive_impl.ipp b/lslboost/boost/archive/impl/xml_wiarchive_impl.ipp index ab33ab100..c5d79181a 100644 --- a/lslboost/boost/archive/impl/xml_wiarchive_impl.ipp +++ b/lslboost/boost/archive/impl/xml_wiarchive_impl.ipp @@ -20,13 +20,13 @@ namespace std{ #include #include // std::copy -#include // uncaught exception #include // Dinkumware and RogueWave #if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) #include #endif #include +#include #include #include @@ -143,7 +143,7 @@ BOOST_WARCHIVE_DECL void xml_wiarchive_impl::init(){ gimpl->init(is); this->set_library_version( - library_version_type(gimpl->rv.version) + lslboost::serialization::library_version_type(gimpl->rv.version) ); } @@ -169,14 +169,12 @@ xml_wiarchive_impl::xml_wiarchive_impl( is_.sync(); is_.imbue(archive_locale); } - if(0 == (flags & no_header)) - init(); } template BOOST_WARCHIVE_DECL xml_wiarchive_impl::~xml_wiarchive_impl(){ - if(std::uncaught_exception()) + if(lslboost::core::uncaught_exceptions() > 0) return; if(0 == (this->get_flags() & no_header)){ gimpl->windup(is); diff --git a/lslboost/boost/archive/impl/xml_woarchive_impl.ipp b/lslboost/boost/archive/impl/xml_woarchive_impl.ipp index 69bcc38c8..fbcc39961 100644 --- a/lslboost/boost/archive/impl/xml_woarchive_impl.ipp +++ b/lslboost/boost/archive/impl/xml_woarchive_impl.ipp @@ -13,7 +13,6 @@ #include #include // std::copy #include -#include #include // strlen #include // mbtowc @@ -32,6 +31,8 @@ namespace std{ } // namespace std #endif +#include + #include #include @@ -132,14 +133,12 @@ xml_woarchive_impl::xml_woarchive_impl( os_.flush(); os_.imbue(archive_locale); } - if(0 == (flags & no_header)) - this->init(); } template BOOST_WARCHIVE_DECL xml_woarchive_impl::~xml_woarchive_impl(){ - if(std::uncaught_exception()) + if(lslboost::core::uncaught_exceptions() > 0) return; if(0 == (this->get_flags() & no_header)){ os << L""; diff --git a/lslboost/boost/archive/iterators/base64_from_binary.hpp b/lslboost/boost/archive/iterators/base64_from_binary.hpp index c36168ff3..6aa678500 100644 --- a/lslboost/boost/archive/iterators/base64_from_binary.hpp +++ b/lslboost/boost/archive/iterators/base64_from_binary.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // base64_from_binary.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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,15 +20,15 @@ #include // size_t #if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::size_t; +namespace std{ + using ::size_t; } // namespace std #endif #include #include -namespace lslboost { +namespace lslboost { namespace archive { namespace iterators { @@ -68,10 +68,10 @@ struct from_6_bit { //template template< - class Base, + class Base, class CharType = typename lslboost::iterator_value::type > -class base64_from_binary : +class base64_from_binary : public transform_iterator< detail::from_6_bit, Base @@ -93,7 +93,7 @@ class base64_from_binary : ) {} // intel 7.1 doesn't like default copy constructor - base64_from_binary(const base64_from_binary & rhs) : + base64_from_binary(const base64_from_binary & rhs) : super_t( Base(rhs.base_reference()), detail::from_6_bit() diff --git a/lslboost/boost/archive/iterators/binary_from_base64.hpp b/lslboost/boost/archive/iterators/binary_from_base64.hpp index bb36a1ef1..23278ab65 100644 --- a/lslboost/boost/archive/iterators/binary_from_base64.hpp +++ b/lslboost/boost/archive/iterators/binary_from_base64.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // binary_from_base64.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -24,7 +24,7 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { namespace iterators { @@ -78,7 +78,7 @@ struct to_6_bit { // ideal. This is also addressed here. template< - class Base, + class Base, class CharType = typename lslboost::iterator_value::type > class binary_from_base64 : public @@ -102,7 +102,7 @@ class binary_from_base64 : public ) {} // intel 7.1 doesn't like default copy constructor - binary_from_base64(const binary_from_base64 & rhs) : + binary_from_base64(const binary_from_base64 & rhs) : super_t( Base(rhs.base_reference()), detail::to_6_bit() diff --git a/lslboost/boost/archive/iterators/dataflow_exception.hpp b/lslboost/boost/archive/iterators/dataflow_exception.hpp index 7d6437d9a..ff7bedb69 100644 --- a/lslboost/boost/archive/iterators/dataflow_exception.hpp +++ b/lslboost/boost/archive/iterators/dataflow_exception.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // dataflow_exception.hpp: -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -46,7 +46,7 @@ class dataflow_exception : public std::exception dataflow_exception(exception_code c = other_exception) : code(c) {} - virtual const char *what( ) const throw( ) + const char *what( ) const throw( ) BOOST_OVERRIDE { const char *msg = "unknown exception code"; switch(code){ diff --git a/lslboost/boost/archive/iterators/escape.hpp b/lslboost/boost/archive/iterators/escape.hpp index f77d2e752..215481191 100644 --- a/lslboost/boost/archive/iterators/escape.hpp +++ b/lslboost/boost/archive/iterators/escape.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // escape.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -22,7 +22,7 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { namespace iterators { @@ -30,10 +30,10 @@ namespace iterators { // insert escapes into text template -class escape : +class escape : public lslboost::iterator_adaptor< - Derived, - Base, + Derived, + Base, typename lslboost::iterator_value::type, single_pass_traversal_tag, typename lslboost::iterator_value::type @@ -44,8 +44,8 @@ class escape : friend class lslboost::iterator_core_access; typedef typename lslboost::iterator_adaptor< - Derived, - Base, + Derived, + Base, base_value_type, single_pass_traversal_tag, base_value_type @@ -58,7 +58,7 @@ class escape : m_full = true; } - //Access the value referred to + //Access the value referred to reference_type dereference() const { if(!m_full) const_cast(this)->dereference_impl(); @@ -98,7 +98,7 @@ class escape : bool m_full; base_value_type m_current_value; public: - escape(Base base) : + escape(Base base) : super_t(base), m_bnext(NULL), m_bend(NULL), diff --git a/lslboost/boost/archive/iterators/insert_linebreaks.hpp b/lslboost/boost/archive/iterators/insert_linebreaks.hpp index 9ca48b175..a9c9a236b 100644 --- a/lslboost/boost/archive/iterators/insert_linebreaks.hpp +++ b/lslboost/boost/archive/iterators/insert_linebreaks.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // insert_linebreaks.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -26,18 +26,18 @@ namespace std{ using ::memcpy; } #include #include -namespace lslboost { +namespace lslboost { namespace archive { namespace iterators { /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // insert line break every N characters template< - class Base, - int N, + class Base, + int N, class CharType = typename lslboost::iterator_value::type > -class insert_linebreaks : +class insert_linebreaks : public iterator_adaptor< insert_linebreaks, Base, @@ -86,7 +86,7 @@ class insert_linebreaks : m_count(0) {} // intel 7.1 doesn't like default copy constructor - insert_linebreaks(const insert_linebreaks & rhs) : + insert_linebreaks(const insert_linebreaks & rhs) : super_t(rhs.base_reference()), m_count(rhs.m_count) {} diff --git a/lslboost/boost/archive/iterators/istream_iterator.hpp b/lslboost/boost/archive/iterators/istream_iterator.hpp index 90aabb1ea..a1656cd4d 100644 --- a/lslboost/boost/archive/iterators/istream_iterator.hpp +++ b/lslboost/boost/archive/iterators/istream_iterator.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // istream_iterator.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -25,13 +25,13 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { namespace iterators { // given a type, make an input iterator based on a pointer to that type template -class istream_iterator : +class istream_iterator : public lslboost::iterator_facade< istream_iterator, Elem, @@ -48,13 +48,13 @@ class istream_iterator : Elem > super_t; typedef typename std::basic_istream istream_type; - + 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 + //Access the value referred to Elem dereference() const { return static_cast(m_istream->peek()); } diff --git a/lslboost/boost/archive/iterators/mb_from_wchar.hpp b/lslboost/boost/archive/iterators/mb_from_wchar.hpp index f59621ee0..9d5433b92 100644 --- a/lslboost/boost/archive/iterators/mb_from_wchar.hpp +++ b/lslboost/boost/archive/iterators/mb_from_wchar.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // mb_from_wchar.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -23,7 +23,7 @@ #endif #include #if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ +namespace std{ using ::mbstate_t; } // namespace std #endif @@ -31,7 +31,7 @@ namespace std{ #include #include -namespace lslboost { +namespace lslboost { namespace archive { namespace iterators { @@ -41,8 +41,8 @@ namespace iterators { template // the input iterator class mb_from_wchar : public lslboost::iterator_adaptor< - mb_from_wchar, - Base, + mb_from_wchar, + Base, wchar_t, single_pass_traversal_tag, char @@ -51,8 +51,8 @@ class mb_from_wchar friend class lslboost::iterator_core_access; typedef typename lslboost::iterator_adaptor< - mb_from_wchar, - Base, + mb_from_wchar, + Base, wchar_t, single_pass_traversal_tag, char @@ -75,7 +75,7 @@ class mb_from_wchar bool equal(const mb_from_wchar & rhs) const { // once the value is filled, the base_reference has been incremented // so don't permit comparison anymore. - return + return 0 == m_bend && 0 == m_bnext && this->base_reference() == rhs.base_reference() @@ -102,7 +102,7 @@ class mb_from_wchar void increment(){ if(++m_bnext < m_bend) return; - m_bend = + m_bend = m_bnext = 0; ++(this->base_reference()); m_full = false; @@ -127,7 +127,7 @@ class mb_from_wchar m_full(false) {} // intel 7.1 doesn't like default copy constructor - mb_from_wchar(const mb_from_wchar & rhs) : + mb_from_wchar(const mb_from_wchar & rhs) : super_t(rhs.base_reference()), m_bend(rhs.m_bend), m_bnext(rhs.m_bnext), diff --git a/lslboost/boost/archive/iterators/ostream_iterator.hpp b/lslboost/boost/archive/iterators/ostream_iterator.hpp index 5a003c8a1..60806e4e4 100644 --- a/lslboost/boost/archive/iterators/ostream_iterator.hpp +++ b/lslboost/boost/archive/iterators/ostream_iterator.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // ostream_iterator.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -24,13 +24,13 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { namespace iterators { // given a type, make an input iterator based on a pointer to that type template -class ostream_iterator : +class ostream_iterator : public lslboost::iterator_facade< ostream_iterator, Elem, @@ -43,7 +43,7 @@ class ostream_iterator : typedef Elem char_type; typedef std::basic_ostream ostream_type; - //emulate the behavior of std::ostream + //emulate the behavior of std::ostream ostream_iterator & dereference() const { return const_cast(*this); } diff --git a/lslboost/boost/archive/iterators/remove_whitespace.hpp b/lslboost/boost/archive/iterators/remove_whitespace.hpp index 3417e4076..204085a7f 100644 --- a/lslboost/boost/archive/iterators/remove_whitespace.hpp +++ b/lslboost/boost/archive/iterators/remove_whitespace.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // remove_whitespace.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -25,7 +25,7 @@ // here is the default standard implementation of the functor used // by the filter iterator to remove spaces. Unfortunately usage // of this implementation in combination with spirit trips a bug -// VC 6.5. The only way I can find to work around it is to +// VC 6.5. The only way I can find to work around it is to // implement a special non-standard version for this platform #ifndef BOOST_NO_CWCTYPE @@ -74,7 +74,7 @@ struct remove_whitespace_predicate /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // convert base64 file data (including whitespace and padding) to binary -namespace lslboost { +namespace lslboost { namespace archive { namespace iterators { @@ -122,15 +122,15 @@ class filter_iterator m_full = false; ++(this->base_reference()); } - filter_iterator(Base start) : - super_t(start), + filter_iterator(Base start) : + super_t(start), m_full(false) {} filter_iterator(){} }; template -class remove_whitespace : +class remove_whitespace : public filter_iterator< remove_whitespace_predicate< typename lslboost::iterator_value::type @@ -155,7 +155,7 @@ class remove_whitespace : super_t(Base(static_cast< T >(start))) {} // intel 7.1 doesn't like default copy constructor - remove_whitespace(const remove_whitespace & rhs) : + remove_whitespace(const remove_whitespace & rhs) : super_t(rhs.base_reference()) {} }; diff --git a/lslboost/boost/archive/iterators/transform_width.hpp b/lslboost/boost/archive/iterators/transform_width.hpp index 9c6d51826..8175eeaa0 100644 --- a/lslboost/boost/archive/iterators/transform_width.hpp +++ b/lslboost/boost/archive/iterators/transform_width.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // transform_width.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -29,7 +29,7 @@ #include // std::min -namespace lslboost { +namespace lslboost { namespace archive { namespace iterators { @@ -37,12 +37,12 @@ namespace iterators { // class used by text archives to translate char strings to wchar_t // strings of the currently selected locale template< - class Base, - int BitsOut, - int BitsIn, + class Base, + int BitsOut, + int BitsIn, class CharType = typename lslboost::iterator_value::type // output character > -class transform_width : +class transform_width : public lslboost::iterator_adaptor< transform_width, Base, @@ -108,19 +108,19 @@ class transform_width : public: // make composible buy using templated constructor template - transform_width(T start) : + transform_width(T start) : super_t(Base(static_cast< T >(start))), m_buffer_out_full(false), m_buffer_out(0), - // To disable GCC warning, but not truly necessary - //(m_buffer_in will be initialized later before being + // To disable GCC warning, but not truly necessary + //(m_buffer_in will be initialized later before being //used because m_remaining_bits == 0) - m_buffer_in(0), + m_buffer_in(0), m_remaining_bits(0), m_end_of_sequence(false) {} // intel 7.1 doesn't like default copy constructor - transform_width(const transform_width & rhs) : + transform_width(const transform_width & rhs) : super_t(rhs.base_reference()), m_buffer_out_full(rhs.m_buffer_out_full), m_buffer_out(rhs.m_buffer_out), @@ -131,9 +131,9 @@ class transform_width : }; template< - class Base, - int BitsOut, - int BitsIn, + class Base, + int BitsOut, + int BitsIn, class CharType > void transform_width::fill() { diff --git a/lslboost/boost/archive/iterators/unescape.hpp b/lslboost/boost/archive/iterators/unescape.hpp index 3fed9e932..0994ec13d 100644 --- a/lslboost/boost/archive/iterators/unescape.hpp +++ b/lslboost/boost/archive/iterators/unescape.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // unescape.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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,7 +21,7 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { namespace iterators { @@ -29,10 +29,10 @@ namespace iterators { // class used by text archives to translate char strings to wchar_t // strings of the currently selected locale template -class unescape +class unescape : public lslboost::iterator_adaptor< unescape, - Base, + Base, typename pointee::type, single_pass_traversal_tag, typename pointee::type @@ -40,8 +40,8 @@ class unescape { friend class lslboost::iterator_core_access; typedef typename lslboost::iterator_adaptor< - unescape, - Base, + unescape, + Base, typename pointee::type, single_pass_traversal_tag, typename pointee::type @@ -71,11 +71,11 @@ class unescape ++(this->base_reference()); dereference_impl(); m_full = false; - }; + } public: - unescape(Base base) : + unescape(Base base) : super_t(base), m_full(false) {} diff --git a/lslboost/boost/archive/iterators/wchar_from_mb.hpp b/lslboost/boost/archive/iterators/wchar_from_mb.hpp index 7a5ef6ac9..4c9321ff0 100644 --- a/lslboost/boost/archive/iterators/wchar_from_mb.hpp +++ b/lslboost/boost/archive/iterators/wchar_from_mb.hpp @@ -9,14 +9,13 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // wchar_from_mb.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) // See http://www.boost.org for updates, documentation, and revision history. -#include #include #include // size_t #ifndef BOOST_NO_CWCHAR @@ -26,10 +25,12 @@ #include #if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ +namespace std{ using ::mbstate_t; } // namespace std #endif +#include +#include #include #include #include @@ -38,7 +39,7 @@ namespace std{ #include -namespace lslboost { +namespace lslboost { namespace archive { namespace iterators { @@ -46,10 +47,10 @@ namespace iterators { // class used by text archives to translate char strings to wchar_t // strings of the currently selected locale template -class wchar_from_mb +class wchar_from_mb : public lslboost::iterator_adaptor< - wchar_from_mb, - Base, + wchar_from_mb, + Base, wchar_t, single_pass_traversal_tag, wchar_t @@ -57,8 +58,8 @@ class wchar_from_mb { friend class lslboost::iterator_core_access; typedef typename lslboost::iterator_adaptor< - wchar_from_mb, - Base, + wchar_from_mb, + Base, wchar_t, single_pass_traversal_tag, wchar_t @@ -125,7 +126,7 @@ class wchar_from_mb public: // make composible buy using templated constructor template - wchar_from_mb(T start) : + wchar_from_mb(T start) : super_t(Base(static_cast< T >(start))), m_mbs(std::mbstate_t()) { @@ -165,6 +166,7 @@ void wchar_from_mb::drain(){ const typename lslboost::iterators::iterator_value::type * input_new_start; typename iterator_value::type * next_available; + BOOST_ATTRIBUTE_UNUSED // redundant with ignore_unused below but clarifies intention std::codecvt_base::result r = m_codecvt_facet.in( m_mbs, m_input.m_buffer.begin(), diff --git a/lslboost/boost/archive/iterators/xml_escape.hpp b/lslboost/boost/archive/iterators/xml_escape.hpp index 3977872af..da6d8aaf3 100644 --- a/lslboost/boost/archive/iterators/xml_escape.hpp +++ b/lslboost/boost/archive/iterators/xml_escape.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // xml_escape.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -19,7 +19,7 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { namespace iterators { @@ -27,7 +27,7 @@ namespace iterators { // insert escapes into xml text template -class xml_escape +class xml_escape : public escape, Base> { friend class lslboost::iterator_core_access; @@ -43,14 +43,14 @@ class xml_escape super_t(Base(static_cast< T >(start))) {} // intel 7.1 doesn't like default copy constructor - xml_escape(const xml_escape & rhs) : + xml_escape(const xml_escape & rhs) : super_t(rhs.base_reference()) {} }; template char xml_escape::fill( - const char * & bstart, + const char * & bstart, const char * & bend ){ char current_value = * this->base_reference(); @@ -83,7 +83,7 @@ char xml_escape::fill( template wchar_t xml_escape::fill( - const wchar_t * & bstart, + const wchar_t * & bstart, const wchar_t * & bend ){ wchar_t current_value = * this->base_reference(); diff --git a/lslboost/boost/archive/iterators/xml_unescape.hpp b/lslboost/boost/archive/iterators/xml_unescape.hpp index cf58eb748..a459bdee0 100644 --- a/lslboost/boost/archive/iterators/xml_unescape.hpp +++ b/lslboost/boost/archive/iterators/xml_unescape.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // xml_unescape.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -25,14 +25,14 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { namespace iterators { /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // replace &??? xml escape sequences with the corresponding characters template -class xml_unescape +class xml_unescape : public unescape, Base> { friend class lslboost::iterator_core_access; @@ -44,7 +44,7 @@ class xml_unescape return unescape, Base>::dereference(); } public: - // msvc versions prior to 14.0 crash with and ICE + // msvc versions prior to 14.0 crash with and ICE #if BOOST_WORKAROUND(BOOST_MSVC, < 1900) typedef int value_type; #else @@ -55,11 +55,11 @@ class xml_unescape value_type drain(); template - xml_unescape(T start) : + xml_unescape(T start) : super_t(Base(static_cast< T >(start))) {} // intel 7.1 doesn't like default copy constructor - xml_unescape(const xml_unescape & rhs) : + xml_unescape(const xml_unescape & rhs) : super_t(rhs.base_reference()) {} }; @@ -82,8 +82,8 @@ void xml_unescape::drain_residue(const char * literal){ // iterator refenence which would make subsequent iterator comparisons // incorrect and thereby break the composiblity of iterators. template -typename xml_unescape::value_type -//int +typename xml_unescape::value_type +//int xml_unescape::drain(){ value_type retval = * this->base_reference(); if('&' != retval){ diff --git a/lslboost/boost/archive/polymorphic_binary_iarchive.hpp b/lslboost/boost/archive/polymorphic_binary_iarchive.hpp index c56bc1b2e..5c5b79abb 100644 --- a/lslboost/boost/archive/polymorphic_binary_iarchive.hpp +++ b/lslboost/boost/archive/polymorphic_binary_iarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // polymorphic_binary_iarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -25,17 +25,17 @@ # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { -class BOOST_SYMBOL_VISIBLE polymorphic_binary_iarchive : +class BOOST_SYMBOL_VISIBLE polymorphic_binary_iarchive : public detail::polymorphic_iarchive_route { public: polymorphic_binary_iarchive(std::istream & is, unsigned int flags = 0) : detail::polymorphic_iarchive_route(is, flags) {} - ~polymorphic_binary_iarchive(){} + ~polymorphic_binary_iarchive() BOOST_OVERRIDE {} }; } // namespace archive @@ -51,4 +51,3 @@ BOOST_SERIALIZATION_REGISTER_ARCHIVE( ) #endif // BOOST_ARCHIVE_POLYMORPHIC_BINARY_IARCHIVE_HPP - diff --git a/lslboost/boost/archive/polymorphic_binary_oarchive.hpp b/lslboost/boost/archive/polymorphic_binary_oarchive.hpp index 272eccc7d..03f301882 100644 --- a/lslboost/boost/archive/polymorphic_binary_oarchive.hpp +++ b/lslboost/boost/archive/polymorphic_binary_oarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // polymorphic_binary_oarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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,7 +20,7 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { class BOOST_SYMBOL_VISIBLE polymorphic_binary_oarchive : @@ -30,7 +30,7 @@ class BOOST_SYMBOL_VISIBLE polymorphic_binary_oarchive : polymorphic_binary_oarchive(std::ostream & os, unsigned int flags = 0) : detail::polymorphic_oarchive_route(os, flags) {} - ~polymorphic_binary_oarchive(){} + ~polymorphic_binary_oarchive() BOOST_OVERRIDE {} }; } // namespace archive @@ -42,4 +42,3 @@ BOOST_SERIALIZATION_REGISTER_ARCHIVE( ) #endif // BOOST_ARCHIVE_POLYMORPHIC_BINARY_OARCHIVE_HPP - diff --git a/lslboost/boost/archive/polymorphic_iarchive.hpp b/lslboost/boost/archive/polymorphic_iarchive.hpp index 60e80285a..cad6ccdde 100644 --- a/lslboost/boost/archive/polymorphic_iarchive.hpp +++ b/lslboost/boost/archive/polymorphic_iarchive.hpp @@ -17,7 +17,7 @@ // See http://www.boost.org for updates, documentation, and revision history. #include // std::size_t -#include // ULONG_MAX +#include // ULONG_MAX #include #include @@ -31,6 +31,7 @@ namespace std{ #include #include +#include #include #include @@ -116,11 +117,13 @@ class BOOST_SYMBOL_VISIBLE polymorphic_iarchive_impl : load_end(t.name()); } protected: - virtual ~polymorphic_iarchive_impl(){}; + virtual ~polymorphic_iarchive_impl() {} public: // utility function implemented by all legal archives - virtual void set_library_version(library_version_type archive_library_version) = 0; - virtual library_version_type get_library_version() const = 0; + virtual void set_library_version( + lslboost::serialization::library_version_type archive_library_version + ) = 0; + virtual lslboost::serialization::library_version_type get_library_version() const = 0; virtual unsigned int get_flags() const = 0; virtual void delete_created_pointers() = 0; virtual void reset_object_address( @@ -156,7 +159,7 @@ class BOOST_SYMBOL_VISIBLE polymorphic_iarchive : public polymorphic_iarchive_impl { public: - virtual ~polymorphic_iarchive(){}; + ~polymorphic_iarchive() BOOST_OVERRIDE {} }; } // namespace archive diff --git a/lslboost/boost/archive/polymorphic_oarchive.hpp b/lslboost/boost/archive/polymorphic_oarchive.hpp index 3104883bb..f3500552e 100644 --- a/lslboost/boost/archive/polymorphic_oarchive.hpp +++ b/lslboost/boost/archive/polymorphic_oarchive.hpp @@ -17,7 +17,7 @@ // See http://www.boost.org for updates, documentation, and revision history. #include // size_t -#include // ULONG_MAX +#include // ULONG_MAX #include #include @@ -118,11 +118,11 @@ class BOOST_SYMBOL_VISIBLE polymorphic_oarchive_impl : save_end(t.name()); } protected: - virtual ~polymorphic_oarchive_impl(){}; + virtual ~polymorphic_oarchive_impl() {} public: // utility functions implemented by all legal archives virtual unsigned int get_flags() const = 0; - virtual library_version_type get_library_version() const = 0; + virtual lslboost::serialization::library_version_type get_library_version() const = 0; virtual void save_binary(const void * t, std::size_t size) = 0; virtual void save_object( @@ -136,11 +136,11 @@ class BOOST_SYMBOL_VISIBLE polymorphic_oarchive_impl : }; // note: preserve naming symmetry -class BOOST_SYMBOL_VISIBLE polymorphic_oarchive : +class BOOST_SYMBOL_VISIBLE polymorphic_oarchive : public polymorphic_oarchive_impl { public: - virtual ~polymorphic_oarchive(){}; + ~polymorphic_oarchive() BOOST_OVERRIDE {} }; } // namespace archive diff --git a/lslboost/boost/archive/polymorphic_text_iarchive.hpp b/lslboost/boost/archive/polymorphic_text_iarchive.hpp index 5d9b7d432..caea176b7 100644 --- a/lslboost/boost/archive/polymorphic_text_iarchive.hpp +++ b/lslboost/boost/archive/polymorphic_text_iarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // polymorphic_text_iarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -25,17 +25,17 @@ # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { -class BOOST_SYMBOL_VISIBLE polymorphic_text_iarchive : +class BOOST_SYMBOL_VISIBLE polymorphic_text_iarchive : public detail::polymorphic_iarchive_route { public: polymorphic_text_iarchive(std::istream & is, unsigned int flags = 0) : detail::polymorphic_iarchive_route(is, flags) {} - ~polymorphic_text_iarchive(){} + ~polymorphic_text_iarchive() BOOST_OVERRIDE {} }; } // namespace archive @@ -51,4 +51,3 @@ BOOST_SERIALIZATION_REGISTER_ARCHIVE( ) #endif // BOOST_ARCHIVE_POLYMORPHIC_TEXT_IARCHIVE_HPP - diff --git a/lslboost/boost/archive/polymorphic_text_oarchive.hpp b/lslboost/boost/archive/polymorphic_text_oarchive.hpp index c22c169b8..a5d237e37 100644 --- a/lslboost/boost/archive/polymorphic_text_oarchive.hpp +++ b/lslboost/boost/archive/polymorphic_text_oarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // polymorphic_text_oarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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,7 +20,7 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { class BOOST_SYMBOL_VISIBLE polymorphic_text_oarchive : @@ -30,7 +30,7 @@ class BOOST_SYMBOL_VISIBLE polymorphic_text_oarchive : polymorphic_text_oarchive(std::ostream & os, unsigned int flags = 0) : detail::polymorphic_oarchive_route(os, flags) {} - ~polymorphic_text_oarchive(){} + ~polymorphic_text_oarchive() BOOST_OVERRIDE {} }; } // namespace archive @@ -42,4 +42,3 @@ BOOST_SERIALIZATION_REGISTER_ARCHIVE( ) #endif // BOOST_ARCHIVE_POLYMORPHIC_TEXT_OARCHIVE_HPP - diff --git a/lslboost/boost/archive/polymorphic_text_wiarchive.hpp b/lslboost/boost/archive/polymorphic_text_wiarchive.hpp index dd0ac999f..ffc7a69ee 100644 --- a/lslboost/boost/archive/polymorphic_text_wiarchive.hpp +++ b/lslboost/boost/archive/polymorphic_text_wiarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // polymorphic_text_wiarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -29,17 +29,17 @@ # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { -class BOOST_SYMBOL_VISIBLE polymorphic_text_wiarchive : +class BOOST_SYMBOL_VISIBLE polymorphic_text_wiarchive : public detail::polymorphic_iarchive_route { public: polymorphic_text_wiarchive(std::wistream & is, unsigned int flags = 0) : detail::polymorphic_iarchive_route(is, flags) {} - ~polymorphic_text_wiarchive(){} + ~polymorphic_text_wiarchive() BOOST_OVERRIDE {} }; } // namespace archive @@ -56,4 +56,3 @@ BOOST_SERIALIZATION_REGISTER_ARCHIVE( #endif // BOOST_NO_STD_WSTREAMBUF #endif // BOOST_ARCHIVE_POLYMORPHIC_TEXT_WIARCHIVE_HPP - diff --git a/lslboost/boost/archive/polymorphic_text_woarchive.hpp b/lslboost/boost/archive/polymorphic_text_woarchive.hpp index ad1de8669..890742d51 100644 --- a/lslboost/boost/archive/polymorphic_text_woarchive.hpp +++ b/lslboost/boost/archive/polymorphic_text_woarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // polymorphic_text_oarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -24,7 +24,7 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { class BOOST_SYMBOL_VISIBLE polymorphic_text_woarchive : @@ -34,7 +34,7 @@ class BOOST_SYMBOL_VISIBLE polymorphic_text_woarchive : polymorphic_text_woarchive(std::wostream & os, unsigned int flags = 0) : detail::polymorphic_oarchive_route(os, flags) {} - ~polymorphic_text_woarchive(){} + ~polymorphic_text_woarchive() BOOST_OVERRIDE {} }; } // namespace archive @@ -45,6 +45,5 @@ BOOST_SERIALIZATION_REGISTER_ARCHIVE( lslboost::archive::polymorphic_text_woarchive ) -#endif // BOOST_NO_STD_WSTREAMBUF +#endif // BOOST_NO_STD_WSTREAMBUF #endif // BOOST_ARCHIVE_POLYMORPHIC_TEXT_WOARCHIVE_HPP - diff --git a/lslboost/boost/archive/polymorphic_xml_iarchive.hpp b/lslboost/boost/archive/polymorphic_xml_iarchive.hpp index 320350379..453491ef1 100644 --- a/lslboost/boost/archive/polymorphic_xml_iarchive.hpp +++ b/lslboost/boost/archive/polymorphic_xml_iarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // polymorphic_xml_iarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -25,17 +25,17 @@ # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { -class BOOST_SYMBOL_VISIBLE polymorphic_xml_iarchive : +class BOOST_SYMBOL_VISIBLE polymorphic_xml_iarchive : public detail::polymorphic_iarchive_route { public: polymorphic_xml_iarchive(std::istream & is, unsigned int flags = 0) : detail::polymorphic_iarchive_route(is, flags) {} - ~polymorphic_xml_iarchive(){} + ~polymorphic_xml_iarchive() BOOST_OVERRIDE {} }; } // namespace archive @@ -51,4 +51,3 @@ BOOST_SERIALIZATION_REGISTER_ARCHIVE( ) #endif // BOOST_ARCHIVE_POLYMORPHIC_XML_IARCHIVE_HPP - diff --git a/lslboost/boost/archive/polymorphic_xml_oarchive.hpp b/lslboost/boost/archive/polymorphic_xml_oarchive.hpp index 2124b9f7b..ef59e4ae4 100644 --- a/lslboost/boost/archive/polymorphic_xml_oarchive.hpp +++ b/lslboost/boost/archive/polymorphic_xml_oarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // polymorphic_xml_oarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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,7 +20,7 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { class BOOST_SYMBOL_VISIBLE polymorphic_xml_oarchive : @@ -30,7 +30,7 @@ class BOOST_SYMBOL_VISIBLE polymorphic_xml_oarchive : polymorphic_xml_oarchive(std::ostream & os, unsigned int flags = 0) : detail::polymorphic_oarchive_route(os, flags) {} - ~polymorphic_xml_oarchive(){} + ~polymorphic_xml_oarchive() BOOST_OVERRIDE {} }; } // namespace archive } // namespace lslboost @@ -41,4 +41,3 @@ BOOST_SERIALIZATION_REGISTER_ARCHIVE( ) #endif // BOOST_ARCHIVE_POLYMORPHIC_XML_OARCHIVE_HPP - diff --git a/lslboost/boost/archive/polymorphic_xml_wiarchive.hpp b/lslboost/boost/archive/polymorphic_xml_wiarchive.hpp index fd21d5a2a..477afab09 100644 --- a/lslboost/boost/archive/polymorphic_xml_wiarchive.hpp +++ b/lslboost/boost/archive/polymorphic_xml_wiarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // polymorphic_xml_wiarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -24,17 +24,17 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { -class BOOST_SYMBOL_VISIBLE polymorphic_xml_wiarchive : +class BOOST_SYMBOL_VISIBLE polymorphic_xml_wiarchive : public detail::polymorphic_iarchive_route { public: polymorphic_xml_wiarchive(std::wistream & is, unsigned int flags = 0) : detail::polymorphic_iarchive_route(is, flags) {} - ~polymorphic_xml_wiarchive(){} + ~polymorphic_xml_wiarchive() BOOST_OVERRIDE {} }; } // namespace archive @@ -45,6 +45,5 @@ BOOST_SERIALIZATION_REGISTER_ARCHIVE( lslboost::archive::polymorphic_xml_wiarchive ) -#endif // BOOST_NO_STD_WSTREAMBUF +#endif // BOOST_NO_STD_WSTREAMBUF #endif // BOOST_ARCHIVE_POLYMORPHIC_XML_WIARCHIVE_HPP - diff --git a/lslboost/boost/archive/polymorphic_xml_woarchive.hpp b/lslboost/boost/archive/polymorphic_xml_woarchive.hpp index 5214a5f0e..22e1db9b7 100644 --- a/lslboost/boost/archive/polymorphic_xml_woarchive.hpp +++ b/lslboost/boost/archive/polymorphic_xml_woarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // polymorphic_xml_woarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -24,7 +24,7 @@ #include #include -namespace lslboost { +namespace lslboost { namespace archive { class BOOST_SYMBOL_VISIBLE polymorphic_xml_woarchive : @@ -34,7 +34,7 @@ class BOOST_SYMBOL_VISIBLE polymorphic_xml_woarchive : polymorphic_xml_woarchive(std::wostream & os, unsigned int flags = 0) : detail::polymorphic_oarchive_route(os, flags) {} - ~polymorphic_xml_woarchive(){} + ~polymorphic_xml_woarchive() BOOST_OVERRIDE {} }; } // namespace archive @@ -47,4 +47,3 @@ BOOST_SERIALIZATION_REGISTER_ARCHIVE( #endif // BOOST_NO_STD_WSTREAMBUF #endif // BOOST_ARCHIVE_POLYMORPHIC_XML_WOARCHIVE_HPP - diff --git a/lslboost/boost/archive/text_iarchive.hpp b/lslboost/boost/archive/text_iarchive.hpp index ba79d75e6..2d753af99 100644 --- a/lslboost/boost/archive/text_iarchive.hpp +++ b/lslboost/boost/archive/text_iarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // text_iarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -32,7 +32,7 @@ # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { namespace detail { @@ -65,16 +65,16 @@ class BOOST_SYMBOL_VISIBLE text_iarchive_impl : load(v); t = lslboost::serialization::item_version_type(v); } - BOOST_ARCHIVE_DECL void + BOOST_ARCHIVE_DECL void load(char * t); #ifndef BOOST_NO_INTRINSIC_WCHAR_T - BOOST_ARCHIVE_DECL void + BOOST_ARCHIVE_DECL void load(wchar_t * t); #endif - BOOST_ARCHIVE_DECL void + BOOST_ARCHIVE_DECL void load(std::string &s); #ifndef BOOST_NO_STD_WSTRING - BOOST_ARCHIVE_DECL void + BOOST_ARCHIVE_DECL void load(std::wstring &ws); #endif template @@ -85,11 +85,11 @@ class BOOST_SYMBOL_VISIBLE text_iarchive_impl : load_override(class_name_type & t); BOOST_ARCHIVE_DECL void init(); - BOOST_ARCHIVE_DECL + BOOST_ARCHIVE_DECL text_iarchive_impl(std::istream & is, unsigned int flags); // don't import inline definitions! leave this as a reminder. - //BOOST_ARCHIVE_DECL - ~text_iarchive_impl(){}; + //BOOST_ARCHIVE_DECL + ~text_iarchive_impl() BOOST_OVERRIDE {} }; } // namespace archive @@ -106,17 +106,20 @@ class BOOST_SYMBOL_VISIBLE text_iarchive_impl : # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { -class BOOST_SYMBOL_VISIBLE text_iarchive : +class BOOST_SYMBOL_VISIBLE text_iarchive : public text_iarchive_impl{ public: text_iarchive(std::istream & is_, unsigned int flags = 0) : // note: added _ to suppress useless gcc warning text_iarchive_impl(is_, flags) - {} - ~text_iarchive(){} + { + if(0 == (flags & no_header)) + init(); + } + ~text_iarchive() BOOST_OVERRIDE {} }; } // namespace archive diff --git a/lslboost/boost/archive/text_oarchive.hpp b/lslboost/boost/archive/text_oarchive.hpp index 5bddd1558..bc51e485d 100644 --- a/lslboost/boost/archive/text_oarchive.hpp +++ b/lslboost/boost/archive/text_oarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // text_oarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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,8 +21,8 @@ #include #if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::size_t; +namespace std{ + using ::size_t; } // namespace std #endif @@ -39,7 +39,7 @@ namespace std{ # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { namespace detail { @@ -70,40 +70,43 @@ class BOOST_SYMBOL_VISIBLE text_oarchive_impl : void save(const lslboost::serialization::item_version_type & t){ save(static_cast(t)); } - BOOST_ARCHIVE_DECL void + BOOST_ARCHIVE_DECL void save(const char * t); #ifndef BOOST_NO_INTRINSIC_WCHAR_T - BOOST_ARCHIVE_DECL void + BOOST_ARCHIVE_DECL void save(const wchar_t * t); #endif - BOOST_ARCHIVE_DECL void + BOOST_ARCHIVE_DECL void save(const std::string &s); #ifndef BOOST_NO_STD_WSTRING - BOOST_ARCHIVE_DECL void + BOOST_ARCHIVE_DECL void save(const std::wstring &ws); #endif - BOOST_ARCHIVE_DECL + BOOST_ARCHIVE_DECL text_oarchive_impl(std::ostream & os, unsigned int flags); // don't import inline definitions! leave this as a reminder. - //BOOST_ARCHIVE_DECL - ~text_oarchive_impl(){}; + //BOOST_ARCHIVE_DECL + ~text_oarchive_impl() BOOST_OVERRIDE {} public: - BOOST_ARCHIVE_DECL void + BOOST_ARCHIVE_DECL void save_binary(const void *address, std::size_t count); }; // do not derive from this class. If you want to extend this functionality -// via inhertance, derived from text_oarchive_impl instead. This will +// via inheritance, derived from text_oarchive_impl instead. This will // preserve correct static polymorphism. -class BOOST_SYMBOL_VISIBLE text_oarchive : +class BOOST_SYMBOL_VISIBLE text_oarchive : public text_oarchive_impl { public: text_oarchive(std::ostream & os_, unsigned int flags = 0) : // note: added _ to suppress useless gcc warning text_oarchive_impl(os_, flags) - {} - ~text_oarchive(){} + { + if(0 == (flags & no_header)) + init(); + } + ~text_oarchive() BOOST_OVERRIDE {} }; } // namespace archive diff --git a/lslboost/boost/archive/text_wiarchive.hpp b/lslboost/boost/archive/text_wiarchive.hpp index 2f216eb0f..e1cb33374 100644 --- a/lslboost/boost/archive/text_wiarchive.hpp +++ b/lslboost/boost/archive/text_wiarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // text_wiarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -36,7 +36,7 @@ # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { namespace detail { @@ -92,9 +92,9 @@ class BOOST_SYMBOL_VISIBLE text_wiarchive_impl : void load_override(T & t){ basic_text_iarchive::load_override(t); } - BOOST_WARCHIVE_DECL + BOOST_WARCHIVE_DECL text_wiarchive_impl(std::wistream & is, unsigned int flags); - ~text_wiarchive_impl(){}; + ~text_wiarchive_impl() BOOST_OVERRIDE {} }; } // namespace archive @@ -111,16 +111,19 @@ class BOOST_SYMBOL_VISIBLE text_wiarchive_impl : # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { -class BOOST_SYMBOL_VISIBLE text_wiarchive : +class BOOST_SYMBOL_VISIBLE text_wiarchive : public text_wiarchive_impl{ public: text_wiarchive(std::wistream & is, unsigned int flags = 0) : text_wiarchive_impl(is, flags) - {} - ~text_wiarchive(){} + { + if(0 == (flags & no_header)) + init(); + } + ~text_wiarchive() BOOST_OVERRIDE {} }; } // namespace archive diff --git a/lslboost/boost/archive/text_woarchive.hpp b/lslboost/boost/archive/text_woarchive.hpp index d4e9ef58f..6b2097d5c 100644 --- a/lslboost/boost/archive/text_woarchive.hpp +++ b/lslboost/boost/archive/text_woarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // text_woarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -26,8 +26,8 @@ #include // size_t #if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::size_t; +namespace std{ + using ::size_t; } // namespace std #endif @@ -44,7 +44,7 @@ namespace std{ # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { namespace detail { @@ -97,14 +97,11 @@ class BOOST_SYMBOL_VISIBLE text_woarchive_impl : #endif text_woarchive_impl(std::wostream & os, unsigned int flags) : basic_text_oprimitive( - os, + os, 0 != (flags & no_codecvt) ), basic_text_oarchive(flags) - { - if(0 == (flags & no_header)) - basic_text_oarchive::init(); - } + {} public: void save_binary(const void *address, std::size_t count){ put(static_cast('\n')); @@ -114,7 +111,7 @@ class BOOST_SYMBOL_VISIBLE text_woarchive_impl : #else this->basic_text_oprimitive::save_binary( #endif - address, + address, count ); put(static_cast('\n')); @@ -127,16 +124,19 @@ class BOOST_SYMBOL_VISIBLE text_woarchive_impl : // typedef text_oarchive_impl > text_oarchive; // do not derive from this class. If you want to extend this functionality -// via inhertance, derived from text_oarchive_impl instead. This will +// via inheritance, derived from text_oarchive_impl instead. This will // preserve correct static polymorphism. -class BOOST_SYMBOL_VISIBLE text_woarchive : +class BOOST_SYMBOL_VISIBLE text_woarchive : public text_woarchive_impl { public: text_woarchive(std::wostream & os, unsigned int flags = 0) : text_woarchive_impl(os, flags) - {} - ~text_woarchive(){} + { + if(0 == (flags & no_header)) + init(); + } + ~text_woarchive() BOOST_OVERRIDE {} }; } // namespace archive diff --git a/lslboost/boost/archive/wcslen.hpp b/lslboost/boost/archive/wcslen.hpp index 0b60004f0..6138c3e4f 100644 --- a/lslboost/boost/archive/wcslen.hpp +++ b/lslboost/boost/archive/wcslen.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // wcslen.hpp: -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -19,8 +19,8 @@ #include // size_t #include #if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::size_t; +namespace std{ + using ::size_t; } // namespace std #endif @@ -30,7 +30,7 @@ namespace std{ // wcslen #if defined(BOOST_DINKUMWARE_STDLIB) && BOOST_DINKUMWARE_STDLIB < 306 \ -|| defined(__LIBCOMO__) +|| defined(__LIBCOMO__) namespace std { inline std::size_t wcslen(const wchar_t * ws) diff --git a/lslboost/boost/archive/xml_archive_exception.hpp b/lslboost/boost/archive/xml_archive_exception.hpp index 622fa49b9..4460b03a1 100644 --- a/lslboost/boost/archive/xml_archive_exception.hpp +++ b/lslboost/boost/archive/xml_archive_exception.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // xml_archive_exception.hpp: -// (C) Copyright 2007 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2007 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -19,7 +19,7 @@ #include #include -#include +#include #include #include @@ -31,7 +31,7 @@ namespace archive { ////////////////////////////////////////////////////////////////////// // exceptions thrown by xml archives // -class BOOST_SYMBOL_VISIBLE xml_archive_exception : +class BOOST_SYMBOL_VISIBLE xml_archive_exception : public virtual lslboost::archive::archive_exception { public: @@ -41,12 +41,12 @@ class BOOST_SYMBOL_VISIBLE xml_archive_exception : xml_archive_tag_name_error } exception_code; BOOST_ARCHIVE_DECL xml_archive_exception( - exception_code c, + exception_code c, const char * e1 = NULL, const char * e2 = NULL ); - BOOST_ARCHIVE_DECL xml_archive_exception(xml_archive_exception const &) ; - virtual BOOST_ARCHIVE_DECL ~xml_archive_exception() BOOST_NOEXCEPT_OR_NOTHROW ; + BOOST_ARCHIVE_DECL xml_archive_exception(xml_archive_exception const &); + BOOST_ARCHIVE_DECL ~xml_archive_exception() BOOST_NOEXCEPT_OR_NOTHROW BOOST_OVERRIDE; }; }// namespace archive diff --git a/lslboost/boost/archive/xml_iarchive.hpp b/lslboost/boost/archive/xml_iarchive.hpp index 362666d41..4877bc171 100644 --- a/lslboost/boost/archive/xml_iarchive.hpp +++ b/lslboost/boost/archive/xml_iarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // xml_iarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -32,7 +32,7 @@ # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { namespace detail { @@ -44,7 +44,7 @@ class basic_xml_grammar; typedef basic_xml_grammar xml_grammar; template -class BOOST_SYMBOL_VISIBLE xml_iarchive_impl : +class BOOST_SYMBOL_VISIBLE xml_iarchive_impl : public basic_text_iprimitive, public basic_xml_iarchive { @@ -66,13 +66,13 @@ class BOOST_SYMBOL_VISIBLE xml_iarchive_impl : void load(T & t){ basic_text_iprimitive::load(t); } - void + void load(version_type & t){ unsigned int v; load(v); t = version_type(v); } - void + void load(lslboost::serialization::item_version_type & t){ unsigned int v; load(v); @@ -98,10 +98,10 @@ class BOOST_SYMBOL_VISIBLE xml_iarchive_impl : load_override(class_name_type & t); BOOST_ARCHIVE_DECL void init(); - BOOST_ARCHIVE_DECL + BOOST_ARCHIVE_DECL xml_iarchive_impl(std::istream & is, unsigned int flags); BOOST_ARCHIVE_DECL - ~xml_iarchive_impl(); + ~xml_iarchive_impl() BOOST_OVERRIDE; }; } // namespace archive @@ -117,16 +117,19 @@ class BOOST_SYMBOL_VISIBLE xml_iarchive_impl : # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { -class BOOST_SYMBOL_VISIBLE xml_iarchive : +class BOOST_SYMBOL_VISIBLE xml_iarchive : public xml_iarchive_impl{ public: xml_iarchive(std::istream & is, unsigned int flags = 0) : xml_iarchive_impl(is, flags) - {} - ~xml_iarchive(){}; + { + if(0 == (flags & no_header)) + init(); + } + ~xml_iarchive() BOOST_OVERRIDE {} }; } // namespace archive diff --git a/lslboost/boost/archive/xml_oarchive.hpp b/lslboost/boost/archive/xml_oarchive.hpp index a75434800..f23701674 100644 --- a/lslboost/boost/archive/xml_oarchive.hpp +++ b/lslboost/boost/archive/xml_oarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // xml_oarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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,8 +21,8 @@ #include // size_t #include #if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::size_t; +namespace std{ + using ::size_t; } // namespace std #endif @@ -47,7 +47,7 @@ namespace detail { } // namespace detail template -class BOOST_SYMBOL_VISIBLE xml_oarchive_impl : +class BOOST_SYMBOL_VISIBLE xml_oarchive_impl : public basic_text_oprimitive, public basic_xml_oarchive { @@ -63,15 +63,15 @@ class BOOST_SYMBOL_VISIBLE xml_oarchive_impl : void save(const T & t){ basic_text_oprimitive::save(t); } - void + void save(const version_type & t){ save(static_cast(t)); } - void + void save(const lslboost::serialization::item_version_type & t){ save(static_cast(t)); } - BOOST_ARCHIVE_DECL void + BOOST_ARCHIVE_DECL void save(const char * t); #ifndef BOOST_NO_INTRINSIC_WCHAR_T BOOST_ARCHIVE_DECL void @@ -83,10 +83,10 @@ class BOOST_SYMBOL_VISIBLE xml_oarchive_impl : BOOST_ARCHIVE_DECL void save(const std::wstring &ws); #endif - BOOST_ARCHIVE_DECL + BOOST_ARCHIVE_DECL xml_oarchive_impl(std::ostream & os, unsigned int flags); - BOOST_ARCHIVE_DECL - ~xml_oarchive_impl(); + BOOST_ARCHIVE_DECL + ~xml_oarchive_impl() BOOST_OVERRIDE; public: BOOST_ARCHIVE_DECL void save_binary(const void *address, std::size_t count); @@ -105,23 +105,26 @@ class BOOST_SYMBOL_VISIBLE xml_oarchive_impl : # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { // we use the following because we can't use // typedef xml_oarchive_impl > xml_oarchive; // do not derive from this class. If you want to extend this functionality -// via inhertance, derived from xml_oarchive_impl instead. This will +// via inheritance, derived from xml_oarchive_impl instead. This will // preserve correct static polymorphism. -class BOOST_SYMBOL_VISIBLE xml_oarchive : +class BOOST_SYMBOL_VISIBLE xml_oarchive : public xml_oarchive_impl { public: xml_oarchive(std::ostream & os, unsigned int flags = 0) : xml_oarchive_impl(os, flags) - {} - ~xml_oarchive(){} + { + if(0 == (flags & no_header)) + init(); + } + ~xml_oarchive() BOOST_OVERRIDE {} }; } // namespace archive diff --git a/lslboost/boost/archive/xml_wiarchive.hpp b/lslboost/boost/archive/xml_wiarchive.hpp index 0bd12c587..e748cf5dc 100644 --- a/lslboost/boost/archive/xml_wiarchive.hpp +++ b/lslboost/boost/archive/xml_wiarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // xml_wiarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -29,7 +29,6 @@ #include #include #include -// #include #include // must be the last header @@ -50,7 +49,7 @@ class basic_xml_grammar; typedef basic_xml_grammar xml_wgrammar; template -class BOOST_SYMBOL_VISIBLE xml_wiarchive_impl : +class BOOST_SYMBOL_VISIBLE xml_wiarchive_impl : public basic_text_iprimitive, public basic_xml_iarchive { @@ -68,17 +67,17 @@ class BOOST_SYMBOL_VISIBLE xml_wiarchive_impl : return is; } template - void + void load(T & t){ basic_text_iprimitive::load(t); } - void + void load(version_type & t){ unsigned int v; load(v); t = version_type(v); } - void + void load(lslboost::serialization::item_version_type & t){ unsigned int v; load(v); @@ -102,19 +101,19 @@ class BOOST_SYMBOL_VISIBLE xml_wiarchive_impl : } BOOST_WARCHIVE_DECL void load_override(class_name_type & t); - BOOST_WARCHIVE_DECL void + BOOST_WARCHIVE_DECL void init(); - BOOST_WARCHIVE_DECL - xml_wiarchive_impl(std::wistream & is, unsigned int flags) ; - BOOST_WARCHIVE_DECL - ~xml_wiarchive_impl(); + BOOST_WARCHIVE_DECL + xml_wiarchive_impl(std::wistream & is, unsigned int flags); + BOOST_WARCHIVE_DECL + ~xml_wiarchive_impl() BOOST_OVERRIDE; }; } // namespace archive } // namespace lslboost #ifdef BOOST_MSVC -# pragma warning(pop) +# pragma warning(pop) #endif #include // pops abi_suffix.hpp pragmas @@ -124,7 +123,7 @@ class BOOST_SYMBOL_VISIBLE xml_wiarchive_impl : # pragma warning(disable : 4511 4512) #endif -namespace lslboost { +namespace lslboost { namespace archive { class BOOST_SYMBOL_VISIBLE xml_wiarchive : @@ -132,8 +131,11 @@ class BOOST_SYMBOL_VISIBLE xml_wiarchive : public: xml_wiarchive(std::wistream & is, unsigned int flags = 0) : xml_wiarchive_impl(is, flags) - {} - ~xml_wiarchive(){} + { + if(0 == (flags & no_header)) + init(); + } + ~xml_wiarchive() BOOST_OVERRIDE {} }; } // namespace archive diff --git a/lslboost/boost/archive/xml_woarchive.hpp b/lslboost/boost/archive/xml_woarchive.hpp index 8ecaf5e5f..1b4294fd3 100644 --- a/lslboost/boost/archive/xml_woarchive.hpp +++ b/lslboost/boost/archive/xml_woarchive.hpp @@ -9,7 +9,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // xml_woarchive.hpp -// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // Use, modification and distribution is subject to 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) @@ -22,20 +22,18 @@ #else #include // size_t #if defined(BOOST_NO_STDC_NAMESPACE) -namespace std{ - using ::size_t; +namespace std{ + using ::size_t; } // namespace std #endif #include -//#include #include #include #include #include #include -//#include #include // must be the last header @@ -76,26 +74,26 @@ class BOOST_SYMBOL_VISIBLE xml_woarchive_impl : save(const version_type & t){ save(static_cast(t)); } - void + void save(const lslboost::serialization::item_version_type & t){ save(static_cast(t)); } BOOST_WARCHIVE_DECL void save(const char * t); #ifndef BOOST_NO_INTRINSIC_WCHAR_T - BOOST_WARCHIVE_DECL void + BOOST_WARCHIVE_DECL void save(const wchar_t * t); #endif - BOOST_WARCHIVE_DECL void + BOOST_WARCHIVE_DECL void save(const std::string &s); #ifndef BOOST_NO_STD_WSTRING BOOST_WARCHIVE_DECL void save(const std::wstring &ws); #endif - BOOST_WARCHIVE_DECL + BOOST_WARCHIVE_DECL xml_woarchive_impl(std::wostream & os, unsigned int flags); BOOST_WARCHIVE_DECL - ~xml_woarchive_impl(); + ~xml_woarchive_impl() BOOST_OVERRIDE; public: BOOST_WARCHIVE_DECL void save_binary(const void *address, std::size_t count); @@ -106,7 +104,7 @@ class BOOST_SYMBOL_VISIBLE xml_woarchive_impl : // typedef xml_woarchive_impl > xml_woarchive; // do not derive from this class. If you want to extend this functionality -// via inhertance, derived from xml_woarchive_impl instead. This will +// via inheritance, derived from xml_woarchive_impl instead. This will // preserve correct static polymorphism. class BOOST_SYMBOL_VISIBLE xml_woarchive : public xml_woarchive_impl @@ -114,8 +112,11 @@ class BOOST_SYMBOL_VISIBLE xml_woarchive : public: xml_woarchive(std::wostream & os, unsigned int flags = 0) : xml_woarchive_impl(os, flags) - {} - ~xml_woarchive(){} + { + if(0 == (flags & no_header)) + init(); + } + ~xml_woarchive() BOOST_OVERRIDE {} }; } // namespace archive diff --git a/lslboost/boost/array.hpp b/lslboost/boost/array.hpp index caf421d0e..837f43fd8 100644 --- a/lslboost/boost/array.hpp +++ b/lslboost/boost/array.hpp @@ -41,13 +41,12 @@ #endif #include +#include #include #include #include #include -// Handles broken standard libraries better than -#include #include #include @@ -183,7 +182,7 @@ namespace lslboost { // check range (may be private because it is static) static BOOST_CONSTEXPR bool rangecheck (size_type i) { - return i > size() ? lslboost::throw_exception(std::out_of_range ("array<>: index out of range")), true : true; + return i >= size() ? lslboost::throw_exception(std::out_of_range ("array<>: index out of range")), true : true; } }; diff --git a/lslboost/boost/asio.hpp b/lslboost/boost/asio.hpp index 53841de1f..3c9e3853f 100644 --- a/lslboost/boost/asio.hpp +++ b/lslboost/boost/asio.hpp @@ -2,7 +2,7 @@ // asio.hpp // ~~~~~~~~ // -// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2020 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 @@ -27,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -42,15 +44,44 @@ #include #include #include +#include #include +#include #include #include -#include -#include #include #include +#include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -62,7 +93,6 @@ #include #include #include -#include #include #include #include @@ -75,6 +105,8 @@ #include #include #include +#include +#include #include #include #include @@ -86,11 +118,11 @@ #include #include #include -#include #include #include #include #include +#include #include #include #include @@ -98,6 +130,7 @@ #include #include #include +#include #include #include #include @@ -105,46 +138,43 @@ #include #include #include -#include #include -#include +#include +#include #include #include #include -#include +#include +#include +#include #include #include -#include #include -#include -#include #include +#include #include #include -#include #include #include #include #include +#include #include #include +#include #include #include #include #include -#include -#include #include +#include #include #include #include -#include #include #include #include -#include #include -#include #include #include diff --git a/lslboost/boost/asio/any_io_executor.hpp b/lslboost/boost/asio/any_io_executor.hpp new file mode 100644 index 000000000..d2eaba386 --- /dev/null +++ b/lslboost/boost/asio/any_io_executor.hpp @@ -0,0 +1,73 @@ +// +// any_io_executor.hpp +// ~~~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2020 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_ANY_IO_EXECUTOR_HPP +#define BOOST_ASIO_ANY_IO_EXECUTOR_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include +#if defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT) +# include +#else // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT) +# include +# include +#endif // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT) + +#include + +namespace lslboost { +namespace asio { + +#if defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT) + +typedef executor any_io_executor; + +#else // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT) + +/// Polymorphic executor type for use with I/O objects. +/** + * The @c any_io_executor type is a polymorphic executor that supports the set + * of properties required by I/O objects. It is defined as the + * execution::any_executor class template parameterised as follows: + * @code execution::any_executor< + * execution::context_as_t, + * execution::blocking_t::never_t, + * execution::prefer_only, + * execution::prefer_only, + * execution::prefer_only, + * execution::prefer_only, + * execution::prefer_only + * > @endcode + */ +#if defined(GENERATING_DOCUMENTATION) +typedef execution::any_executor<...> any_io_executor; +#else // defined(GENERATING_DOCUMENTATION) +typedef execution::any_executor< + execution::context_as_t, + execution::blocking_t::never_t, + execution::prefer_only, + execution::prefer_only, + execution::prefer_only, + execution::prefer_only, + execution::prefer_only + > any_io_executor; +#endif // defined(GENERATING_DOCUMENTATION) + +#endif // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT) + +} // namespace asio +} // namespace lslboost + +#include + +#endif // BOOST_ASIO_ANY_IO_EXECUTOR_HPP diff --git a/lslboost/boost/asio/associated_allocator.hpp b/lslboost/boost/asio/associated_allocator.hpp index f584b258c..3d9dcc4a0 100644 --- a/lslboost/boost/asio/associated_allocator.hpp +++ b/lslboost/boost/asio/associated_allocator.hpp @@ -2,7 +2,7 @@ // associated_allocator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2020 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) @@ -25,12 +25,6 @@ namespace lslboost { namespace asio { namespace detail { -template -struct associated_allocator_check -{ - typedef void type; -}; - template struct associated_allocator_impl { @@ -44,7 +38,7 @@ struct associated_allocator_impl template struct associated_allocator_impl::type> + typename void_type::type> { typedef typename T::allocator_type type; diff --git a/lslboost/boost/asio/associated_executor.hpp b/lslboost/boost/asio/associated_executor.hpp index e2c9d4288..8a1ea007a 100644 --- a/lslboost/boost/asio/associated_executor.hpp +++ b/lslboost/boost/asio/associated_executor.hpp @@ -2,7 +2,7 @@ // associated_executor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2020 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 @@ #include #include +#include #include #include @@ -26,18 +27,14 @@ namespace lslboost { namespace asio { namespace detail { -template -struct associated_executor_check -{ - typedef void type; -}; - template struct associated_executor_impl { + typedef void asio_associated_executor_is_unspecialised; + typedef E type; - static type get(const T&, const E& e) BOOST_ASIO_NOEXCEPT + static type get(const T&, const E& e = E()) BOOST_ASIO_NOEXCEPT { return e; } @@ -45,11 +42,11 @@ struct associated_executor_impl template struct associated_executor_impl::type> + typename void_type::type> { typedef typename T::executor_type type; - static type get(const T& t, const E&) BOOST_ASIO_NOEXCEPT + static type get(const T& t, const E& = E()) BOOST_ASIO_NOEXCEPT { return t.get_executor(); } @@ -78,22 +75,20 @@ struct associated_executor_impl struct associated_executor +#if !defined(GENERATING_DOCUMENTATION) + : detail::associated_executor_impl +#endif // !defined(GENERATING_DOCUMENTATION) { +#if defined(GENERATING_DOCUMENTATION) /// If @c T has a nested type @c executor_type, T::executor_type. /// Otherwise @c Executor. -#if defined(GENERATING_DOCUMENTATION) typedef see_below type; -#else // defined(GENERATING_DOCUMENTATION) - typedef typename detail::associated_executor_impl::type type; -#endif // defined(GENERATING_DOCUMENTATION) /// If @c T has a nested type @c executor_type, returns /// t.get_executor(). Otherwise returns @c ex. static type get(const T& t, - const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT - { - return detail::associated_executor_impl::get(t, ex); - } + const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT; +#endif // defined(GENERATING_DOCUMENTATION) }; /// Helper function to obtain an object's associated executor. @@ -114,8 +109,9 @@ get_associated_executor(const T& t) BOOST_ASIO_NOEXCEPT template inline typename associated_executor::type get_associated_executor(const T& t, const Executor& ex, - typename enable_if::value>::type* = 0) BOOST_ASIO_NOEXCEPT + typename enable_if< + is_executor::value || execution::is_executor::value + >::type* = 0) BOOST_ASIO_NOEXCEPT { return associated_executor::get(t, ex); } @@ -143,6 +139,27 @@ using associated_executor_t = typename associated_executor::type; #endif // defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES) +namespace detail { + +template +struct associated_executor_forwarding_base +{ +}; + +template +struct associated_executor_forwarding_base::asio_associated_executor_is_unspecialised, + void + >::value + >::type> +{ + typedef void asio_associated_executor_is_unspecialised; +}; + +} // namespace detail } // namespace asio } // namespace lslboost diff --git a/lslboost/boost/asio/async_result.hpp b/lslboost/boost/asio/async_result.hpp index 5e59c4f89..49de67fda 100644 --- a/lslboost/boost/asio/async_result.hpp +++ b/lslboost/boost/asio/async_result.hpp @@ -2,7 +2,7 @@ // async_result.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2020 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,13 +17,74 @@ #include #include -#include +#include #include namespace lslboost { namespace asio { +#if defined(BOOST_ASIO_HAS_CONCEPTS) \ + && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) \ + && defined(BOOST_ASIO_HAS_DECLTYPE) + +namespace detail { + +template +struct is_completion_signature : false_type +{ +}; + +template +struct is_completion_signature : true_type +{ +}; + +template +BOOST_ASIO_CONCEPT callable_with = requires(T t, Args&&... args) +{ + t(static_cast(args)...); +}; + +template +struct is_completion_handler_for : false_type +{ +}; + +template +struct is_completion_handler_for + : integral_constant)> +{ +}; + +} // namespace detail + +template +BOOST_ASIO_CONCEPT completion_signature = + detail::is_completion_signature::value; + +#define BOOST_ASIO_COMPLETION_SIGNATURE \ + ::lslboost::asio::completion_signature + +template +BOOST_ASIO_CONCEPT completion_handler_for = + detail::is_completion_signature::value + && detail::is_completion_handler_for::value; + +#define BOOST_ASIO_COMPLETION_HANDLER_FOR(s) \ + ::lslboost::asio::completion_handler_for + +#else // defined(BOOST_ASIO_HAS_CONCEPTS) + // && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + // && defined(BOOST_ASIO_HAS_DECLTYPE) + +#define BOOST_ASIO_COMPLETION_SIGNATURE typename +#define BOOST_ASIO_COMPLETION_HANDLER_FOR(s) typename + +#endif // defined(BOOST_ASIO_HAS_CONCEPTS) + // && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + // && defined(BOOST_ASIO_HAS_DECLTYPE) + /// An interface for customising the behaviour of an initiating function. /** * The async_result traits class is used for determining: @@ -42,30 +103,15 @@ namespace asio { * The primary template assumes that the CompletionToken is the completion * handler. */ -#if defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) -template -#else // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) -template -#endif // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) +template class async_result { public: -#if defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) /// The concrete completion handler type for the specific signature. typedef CompletionToken completion_handler_type; /// The return type of the initiating function. typedef void return_type; -#else // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) - // For backward compatibility, determine the concrete completion handler type - // by using the legacy handler_type trait. - typedef typename handler_type::type - completion_handler_type; - - // For backward compatibility, determine the initiating function return type - // using the legacy single-parameter version of async_result. - typedef typename async_result::type return_type; -#endif // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) /// Construct an async result from a given handler. /** @@ -74,11 +120,6 @@ class async_result * then returned from the initiating function. */ explicit async_result(completion_handler_type& h) -#if defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) - // No data members to initialise. -#else // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) - : legacy_result_(h) -#endif // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) { (void)h; } @@ -86,60 +127,83 @@ class async_result /// Obtain the value to be returned from the initiating function. return_type get() { -#if defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) - // Nothing to do. -#else // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) - return legacy_result_.get(); -#endif // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) } -private: - async_result(const async_result&) BOOST_ASIO_DELETED; - async_result& operator=(const async_result&) BOOST_ASIO_DELETED; +#if defined(GENERATING_DOCUMENTATION) -#if defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) - // No data members. -#else // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) - async_result legacy_result_; -#endif // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION) -}; + /// Initiate the asynchronous operation that will produce the result, and + /// obtain the value to be returned from the initiating function. + template + static return_type initiate( + BOOST_ASIO_MOVE_ARG(Initiation) initiation, + BOOST_ASIO_MOVE_ARG(RawCompletionToken) token, + BOOST_ASIO_MOVE_ARG(Args)... args); -#if !defined(BOOST_ASIO_NO_DEPRECATED) +#elif defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) -/// (Deprecated: Use two-parameter version of async_result.) 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&) + template + static return_type initiate( + BOOST_ASIO_MOVE_ARG(Initiation) initiation, + BOOST_ASIO_MOVE_ARG(RawCompletionToken) token, + BOOST_ASIO_MOVE_ARG(Args)... args) { + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( + BOOST_ASIO_MOVE_CAST(RawCompletionToken)(token), + BOOST_ASIO_MOVE_CAST(Args)(args)...); } - /// Obtain the value to be returned from the initiating function. - type get() +#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + + template + static return_type initiate( + BOOST_ASIO_MOVE_ARG(Initiation) initiation, + BOOST_ASIO_MOVE_ARG(RawCompletionToken) token) { + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( + BOOST_ASIO_MOVE_CAST(RawCompletionToken)(token)); } + +#define BOOST_ASIO_PRIVATE_INITIATE_DEF(n) \ + template \ + static return_type initiate( \ + BOOST_ASIO_MOVE_ARG(Initiation) initiation, \ + BOOST_ASIO_MOVE_ARG(RawCompletionToken) token, \ + BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \ + { \ + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( \ + BOOST_ASIO_MOVE_CAST(RawCompletionToken)(token), \ + BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \ + } \ + /**/ + BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_INITIATE_DEF) +#undef BOOST_ASIO_PRIVATE_INITIATE_DEF + +#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + +private: + async_result(const async_result&) BOOST_ASIO_DELETED; + async_result& operator=(const async_result&) BOOST_ASIO_DELETED; +}; + +#if !defined(GENERATING_DOCUMENTATION) + +template +class async_result +{ + // Empty. }; -#endif // !defined(BOOST_ASIO_NO_DEPRECATED) +#endif // !defined(GENERATING_DOCUMENTATION) /// Helper template to deduce the handler type from a CompletionToken, capture /// a local copy of the handler, and then create an async_result for the /// handler. -template +template struct async_completion { /// The real handler type to be used for the asynchronous operation. @@ -195,11 +259,40 @@ struct async_result_helper { }; -} // namespace detail -} // namespace asio -} // namespace lslboost +struct async_result_memfns_base +{ + void initiate(); +}; -#include +template +struct async_result_memfns_derived + : T, async_result_memfns_base +{ +}; + +template +struct async_result_memfns_check +{ +}; + +template +char (&async_result_initiate_memfn_helper(...))[2]; + +template +char async_result_initiate_memfn_helper( + async_result_memfns_check< + void (async_result_memfns_base::*)(), + &async_result_memfns_derived::initiate>*); + +template +struct async_result_has_initiate_memfn + : integral_constant::type, Signature> + >(0)) != 1> +{ +}; + +} // namespace detail #if defined(GENERATING_DOCUMENTATION) # define BOOST_ASIO_INITFN_RESULT_TYPE(ct, sig) \ @@ -220,4 +313,272 @@ struct async_result_helper typename ::lslboost::asio::decay::type, sig>::completion_handler_type #endif +#if defined(GENERATING_DOCUMENTATION) +# define BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(ct, sig) \ + auto +#elif defined(BOOST_ASIO_HAS_RETURN_TYPE_DEDUCTION) +# define BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(ct, sig) \ + auto +#else +# define BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(ct, sig) \ + BOOST_ASIO_INITFN_RESULT_TYPE(ct, sig) +#endif + +#if defined(GENERATING_DOCUMENTATION) +# define BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(ct, sig, expr) \ + void_or_deduced +#elif defined(BOOST_ASIO_HAS_DECLTYPE) +# define BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(ct, sig, expr) \ + decltype expr +#else +# define BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(ct, sig, expr) \ + BOOST_ASIO_INITFN_RESULT_TYPE(ct, sig) +#endif + +#if defined(GENERATING_DOCUMENTATION) + +template +void_or_deduced async_initiate( + BOOST_ASIO_MOVE_ARG(Initiation) initiation, + BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken), + BOOST_ASIO_MOVE_ARG(Args)... args); + +#elif defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + +template +inline typename enable_if< + detail::async_result_has_initiate_memfn::value, + BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken, Signature, + (async_result::type, + Signature>::initiate(declval(), + declval(), + declval()...)))>::type +async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, + BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token, + BOOST_ASIO_MOVE_ARG(Args)... args) +{ + return async_result::type, + Signature>::initiate(BOOST_ASIO_MOVE_CAST(Initiation)(initiation), + BOOST_ASIO_MOVE_CAST(CompletionToken)(token), + BOOST_ASIO_MOVE_CAST(Args)(args)...); +} + +template +inline typename enable_if< + !detail::async_result_has_initiate_memfn::value, + BOOST_ASIO_INITFN_RESULT_TYPE(CompletionToken, Signature)>::type +async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, + BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token, + BOOST_ASIO_MOVE_ARG(Args)... args) +{ + async_completion completion(token); + + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( + BOOST_ASIO_MOVE_CAST(BOOST_ASIO_HANDLER_TYPE(CompletionToken, + Signature))(completion.completion_handler), + BOOST_ASIO_MOVE_CAST(Args)(args)...); + + return completion.result.get(); +} + +#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + +template +inline typename enable_if< + detail::async_result_has_initiate_memfn::value, + BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken, Signature, + (async_result::type, + Signature>::initiate(declval(), + declval())))>::type +async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, + BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token) +{ + return async_result::type, + Signature>::initiate(BOOST_ASIO_MOVE_CAST(Initiation)(initiation), + BOOST_ASIO_MOVE_CAST(CompletionToken)(token)); +} + +template +inline typename enable_if< + !detail::async_result_has_initiate_memfn::value, + BOOST_ASIO_INITFN_RESULT_TYPE(CompletionToken, Signature)>::type +async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, + BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token) +{ + async_completion completion(token); + + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( + BOOST_ASIO_MOVE_CAST(BOOST_ASIO_HANDLER_TYPE(CompletionToken, + Signature))(completion.completion_handler)); + + return completion.result.get(); +} + +#define BOOST_ASIO_PRIVATE_INITIATE_DEF(n) \ + template \ + inline typename enable_if< \ + detail::async_result_has_initiate_memfn< \ + CompletionToken, Signature>::value, \ + BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken, Signature, \ + (async_result::type, \ + Signature>::initiate(declval(), \ + declval(), \ + BOOST_ASIO_VARIADIC_MOVE_DECLVAL(n))))>::type \ + async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, \ + BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token, \ + BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \ + { \ + return async_result::type, \ + Signature>::initiate(BOOST_ASIO_MOVE_CAST(Initiation)(initiation), \ + BOOST_ASIO_MOVE_CAST(CompletionToken)(token), \ + BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \ + } \ + \ + template \ + inline typename enable_if< \ + !detail::async_result_has_initiate_memfn< \ + CompletionToken, Signature>::value, \ + BOOST_ASIO_INITFN_RESULT_TYPE(CompletionToken, Signature)>::type \ + async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, \ + BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token, \ + BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \ + { \ + async_completion completion(token); \ + \ + BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( \ + BOOST_ASIO_MOVE_CAST(BOOST_ASIO_HANDLER_TYPE(CompletionToken, \ + Signature))(completion.completion_handler), \ + BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \ + \ + return completion.result.get(); \ + } \ + /**/ + BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_INITIATE_DEF) +#undef BOOST_ASIO_PRIVATE_INITIATE_DEF + +#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + +#if defined(BOOST_ASIO_HAS_CONCEPTS) \ + && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) \ + && defined(BOOST_ASIO_HAS_DECLTYPE) + +namespace detail { + +template +struct initiation_archetype +{ + template CompletionHandler> + void operator()(CompletionHandler&&) const + { + } +}; + +} // namespace detail + +template +BOOST_ASIO_CONCEPT completion_token_for = + detail::is_completion_signature::value + && + requires(T&& t) + { + async_initiate(detail::initiation_archetype{}, t); + }; + +#define BOOST_ASIO_COMPLETION_TOKEN_FOR(s) \ + ::lslboost::asio::completion_token_for + +#else // defined(BOOST_ASIO_HAS_CONCEPTS) + // && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + // && defined(BOOST_ASIO_HAS_DECLTYPE) + +#define BOOST_ASIO_COMPLETION_TOKEN_FOR(s) typename + +#endif // defined(BOOST_ASIO_HAS_CONCEPTS) + // && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + // && defined(BOOST_ASIO_HAS_DECLTYPE) + +namespace detail { + +template +struct default_completion_token_impl +{ + typedef void type; +}; + +template +struct default_completion_token_impl::type> +{ + typedef typename T::default_completion_token_type type; +}; + +} // namespace detail + +#if defined(GENERATING_DOCUMENTATION) + +/// Traits type used to determine the default completion token type associated +/// with a type (such as an executor). +/** + * A program may specialise this traits type if the @c T template parameter in + * the specialisation is a user-defined type. + * + * Specialisations of this trait may provide a nested typedef @c type, which is + * a default-constructible completion token type. + */ +template +struct default_completion_token +{ + /// If @c T has a nested type @c default_completion_token_type, + /// T::default_completion_token_type. Otherwise the typedef @c type + /// is not defined. + typedef see_below type; +}; +#else +template +struct default_completion_token + : detail::default_completion_token_impl +{ +}; +#endif + +#if defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES) + +template +using default_completion_token_t = typename default_completion_token::type; + +#endif // defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES) + +#if defined(BOOST_ASIO_HAS_DEFAULT_FUNCTION_TEMPLATE_ARGUMENTS) + +#define BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(e) \ + = typename ::lslboost::asio::default_completion_token::type +#define BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(e) \ + = typename ::lslboost::asio::default_completion_token::type() + +#else // defined(BOOST_ASIO_HAS_DEFAULT_FUNCTION_TEMPLATE_ARGUMENTS) + +#define BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(e) +#define BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(e) + +#endif // defined(BOOST_ASIO_HAS_DEFAULT_FUNCTION_TEMPLATE_ARGUMENTS) + +} // namespace asio +} // namespace lslboost + +#include + #endif // BOOST_ASIO_ASYNC_RESULT_HPP diff --git a/lslboost/boost/asio/awaitable.hpp b/lslboost/boost/asio/awaitable.hpp new file mode 100644 index 000000000..ed90e8647 --- /dev/null +++ b/lslboost/boost/asio/awaitable.hpp @@ -0,0 +1,135 @@ +// +// awaitable.hpp +// ~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2020 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_AWAITABLE_HPP +#define BOOST_ASIO_AWAITABLE_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include + +#if defined(BOOST_ASIO_HAS_CO_AWAIT) || defined(GENERATING_DOCUMENTATION) + +#if defined(BOOST_ASIO_HAS_STD_COROUTINE) +# include +#else // defined(BOOST_ASIO_HAS_STD_COROUTINE) +# include +#endif // defined(BOOST_ASIO_HAS_STD_COROUTINE) + +#include + +#include + +namespace lslboost { +namespace asio { +namespace detail { + +#if defined(BOOST_ASIO_HAS_STD_COROUTINE) +using std::coroutine_handle; +using std::suspend_always; +#else // defined(BOOST_ASIO_HAS_STD_COROUTINE) +using std::experimental::coroutine_handle; +using std::experimental::suspend_always; +#endif // defined(BOOST_ASIO_HAS_STD_COROUTINE) + +template class awaitable_thread; +template class awaitable_frame; + +} // namespace detail + +/// The return type of a coroutine or asynchronous operation. +template +class awaitable +{ +public: + /// The type of the awaited value. + typedef T value_type; + + /// The executor type that will be used for the coroutine. + typedef Executor executor_type; + + /// Default constructor. + constexpr awaitable() noexcept + : frame_(nullptr) + { + } + + /// Move constructor. + awaitable(awaitable&& other) noexcept + : frame_(std::exchange(other.frame_, nullptr)) + { + } + + /// Destructor + ~awaitable() + { + if (frame_) + frame_->destroy(); + } + + /// Checks if the awaitable refers to a future result. + bool valid() const noexcept + { + return !!frame_; + } + +#if !defined(GENERATING_DOCUMENTATION) + + // Support for co_await keyword. + bool await_ready() const noexcept + { + return false; + } + + // Support for co_await keyword. + template + void await_suspend( + detail::coroutine_handle> h) + { + frame_->push_frame(&h.promise()); + } + + // Support for co_await keyword. + T await_resume() + { + return awaitable(static_cast(*this)).frame_->get(); + } + +#endif // !defined(GENERATING_DOCUMENTATION) + +private: + template friend class detail::awaitable_thread; + template friend class detail::awaitable_frame; + + // Not copy constructible or copy assignable. + awaitable(const awaitable&) = delete; + awaitable& operator=(const awaitable&) = delete; + + // Construct the awaitable from a coroutine's frame object. + explicit awaitable(detail::awaitable_frame* a) + : frame_(a) + { + } + + detail::awaitable_frame* frame_; +}; + +} // namespace asio +} // namespace lslboost + +#include + +#include + +#endif // defined(BOOST_ASIO_HAS_CO_AWAIT) || defined(GENERATING_DOCUMENTATION) + +#endif // BOOST_ASIO_AWAITABLE_HPP diff --git a/lslboost/boost/asio/basic_datagram_socket.hpp b/lslboost/boost/asio/basic_datagram_socket.hpp index d45d9edb8..cfe153afc 100644 --- a/lslboost/boost/asio/basic_datagram_socket.hpp +++ b/lslboost/boost/asio/basic_datagram_socket.hpp @@ -2,7 +2,7 @@ // basic_datagram_socket.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2020 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) @@ -19,19 +19,25 @@ #include #include #include +#include #include #include #include -#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES) -# include -#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - #include namespace lslboost { namespace asio { +#if !defined(BOOST_ASIO_BASIC_DATAGRAM_SOCKET_FWD_DECL) +#define BOOST_ASIO_BASIC_DATAGRAM_SOCKET_FWD_DECL + +// Forward declaration with defaulted arguments. +template +class basic_datagram_socket; + +#endif // !defined(BOOST_ASIO_BASIC_DATAGRAM_SOCKET_FWD_DECL) + /// Provides datagram-oriented socket functionality. /** * The basic_datagram_socket class template provides asynchronous and blocking @@ -41,18 +47,28 @@ namespace asio { * @e Distinct @e objects: Safe.@n * @e Shared @e objects: Unsafe. */ -template )> +template class basic_datagram_socket - : public basic_socket + : public basic_socket { public: + /// The type of the executor associated with the object. + typedef Executor executor_type; + + /// Rebinds the socket type to another executor. + template + struct rebind_executor + { + /// The socket type when rebound to the specified executor. + typedef basic_datagram_socket other; + }; + /// The native representation of a socket. #if defined(GENERATING_DOCUMENTATION) typedef implementation_defined native_handle_type; #else - typedef typename basic_socket< - Protocol BOOST_ASIO_SVC_TARG>::native_handle_type native_handle_type; + typedef typename basic_socket::native_handle_type native_handle_type; #endif /// The protocol type. @@ -66,12 +82,29 @@ class basic_datagram_socket * This constructor creates a datagram socket without opening it. The open() * function must be called before data can be sent or received on the socket. * - * @param io_context The io_context object that the datagram socket will use - * to dispatch handlers for any asynchronous operations performed on the - * socket. + * @param ex The I/O executor that the socket will use, by default, to + * dispatch handlers for any asynchronous operations performed on the socket. */ - explicit basic_datagram_socket(lslboost::asio::io_context& io_context) - : basic_socket(io_context) + explicit basic_datagram_socket(const executor_type& ex) + : basic_socket(ex) + { + } + + /// Construct a basic_datagram_socket without opening it. + /** + * This constructor creates a datagram socket without opening it. The open() + * function must be called before data can be sent or received on the socket. + * + * @param context An execution context which provides the I/O executor that + * the socket will use, by default, to dispatch handlers for any asynchronous + * operations performed on the socket. + */ + template + explicit basic_datagram_socket(ExecutionContext& context, + typename enable_if< + is_convertible::value + >::type* = 0) + : basic_socket(context) { } @@ -79,17 +112,37 @@ class basic_datagram_socket /** * This constructor creates and opens a datagram socket. * - * @param io_context The io_context object that the datagram socket will use - * to dispatch handlers for any asynchronous operations performed on the - * socket. + * @param ex The I/O executor that the socket will use, by default, to + * dispatch handlers for any asynchronous operations performed on the socket. + * + * @param protocol An object specifying protocol parameters to be used. + * + * @throws lslboost::system::system_error Thrown on failure. + */ + basic_datagram_socket(const executor_type& ex, const protocol_type& protocol) + : basic_socket(ex, protocol) + { + } + + /// Construct and open a basic_datagram_socket. + /** + * This constructor creates and opens a datagram socket. + * + * @param context An execution context which provides the I/O executor that + * the socket will use, by default, to dispatch handlers for any asynchronous + * operations performed on the socket. * * @param protocol An object specifying protocol parameters to be used. * * @throws lslboost::system::system_error Thrown on failure. */ - basic_datagram_socket(lslboost::asio::io_context& io_context, - const protocol_type& protocol) - : basic_socket(io_context, protocol) + template + basic_datagram_socket(ExecutionContext& context, + const protocol_type& protocol, + typename enable_if< + is_convertible::value + >::type* = 0) + : basic_socket(context, protocol) { } @@ -100,18 +153,42 @@ class basic_datagram_socket * to the specified endpoint on the local machine. The protocol used is the * protocol associated with the given endpoint. * - * @param io_context The io_context object that the datagram socket will use - * to dispatch handlers for any asynchronous operations performed on the - * socket. + * @param ex The I/O executor that the socket will use, by default, to + * dispatch handlers for any asynchronous operations performed on the socket. * * @param endpoint An endpoint on the local machine to which the datagram * socket will be bound. * * @throws lslboost::system::system_error Thrown on failure. */ - basic_datagram_socket(lslboost::asio::io_context& io_context, - const endpoint_type& endpoint) - : basic_socket(io_context, endpoint) + basic_datagram_socket(const executor_type& ex, const endpoint_type& endpoint) + : basic_socket(ex, endpoint) + { + } + + /// Construct a basic_datagram_socket, opening it and binding it to the given + /// local endpoint. + /** + * This constructor creates a datagram socket and automatically opens it bound + * to the specified endpoint on the local machine. The protocol used is the + * protocol associated with the given endpoint. + * + * @param context An execution context which provides the I/O executor that + * the socket will use, by default, to dispatch handlers for any asynchronous + * operations performed on the socket. + * + * @param endpoint An endpoint on the local machine to which the datagram + * socket will be bound. + * + * @throws lslboost::system::system_error Thrown on failure. + */ + template + basic_datagram_socket(ExecutionContext& context, + const endpoint_type& endpoint, + typename enable_if< + is_convertible::value + >::type* = 0) + : basic_socket(context, endpoint) { } @@ -120,9 +197,8 @@ class basic_datagram_socket * This constructor creates a datagram socket object to hold an existing * native socket. * - * @param io_context The io_context object that the datagram socket will use - * to dispatch handlers for any asynchronous operations performed on the - * socket. + * @param ex The I/O executor that the socket will use, by default, to + * dispatch handlers for any asynchronous operations performed on the socket. * * @param protocol An object specifying protocol parameters to be used. * @@ -130,10 +206,34 @@ class basic_datagram_socket * * @throws lslboost::system::system_error Thrown on failure. */ - basic_datagram_socket(lslboost::asio::io_context& io_context, + basic_datagram_socket(const executor_type& ex, const protocol_type& protocol, const native_handle_type& native_socket) - : basic_socket( - io_context, protocol, native_socket) + : basic_socket(ex, protocol, native_socket) + { + } + + /// Construct a basic_datagram_socket on an existing native socket. + /** + * This constructor creates a datagram socket object to hold an existing + * native socket. + * + * @param context An execution context which provides the I/O executor that + * the socket will use, by default, to dispatch handlers for any asynchronous + * operations performed on the socket. + * + * @param protocol An object specifying protocol parameters to be used. + * + * @param native_socket The new underlying socket implementation. + * + * @throws lslboost::system::system_error Thrown on failure. + */ + template + basic_datagram_socket(ExecutionContext& context, + const protocol_type& protocol, const native_handle_type& native_socket, + typename enable_if< + is_convertible::value + >::type* = 0) + : basic_socket(context, protocol, native_socket) { } @@ -146,10 +246,11 @@ class basic_datagram_socket * 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_context&) constructor. + * constructed using the @c basic_datagram_socket(const executor_type&) + * constructor. */ - basic_datagram_socket(basic_datagram_socket&& other) - : basic_socket(std::move(other)) + basic_datagram_socket(basic_datagram_socket&& other) BOOST_ASIO_NOEXCEPT + : basic_socket(std::move(other)) { } @@ -162,11 +263,12 @@ class basic_datagram_socket * 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_context&) constructor. + * constructed using the @c basic_datagram_socket(const executor_type&) + * constructor. */ basic_datagram_socket& operator=(basic_datagram_socket&& other) { - basic_socket::operator=(std::move(other)); + basic_socket::operator=(std::move(other)); return *this; } @@ -179,13 +281,16 @@ class basic_datagram_socket * 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_context&) constructor. + * constructed using the @c basic_datagram_socket(const executor_type&) + * constructor. */ - template - basic_datagram_socket( - basic_datagram_socket&& other, - typename enable_if::value>::type* = 0) - : basic_socket(std::move(other)) + template + basic_datagram_socket(basic_datagram_socket&& other, + typename enable_if< + is_convertible::value + && is_convertible::value + >::type* = 0) + : basic_socket(std::move(other)) { } @@ -199,14 +304,17 @@ class basic_datagram_socket * 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_context&) constructor. + * constructed using the @c basic_datagram_socket(const executor_type&) + * constructor. */ - template - typename enable_if::value, - basic_datagram_socket>::type& operator=( - basic_datagram_socket&& other) + template + typename enable_if< + is_convertible::value + && is_convertible::value, + basic_datagram_socket& + >::type operator=(basic_datagram_socket&& other) { - basic_socket::operator=(std::move(other)); + basic_socket::operator=(std::move(other)); return *this; } #endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION) @@ -246,8 +354,8 @@ class basic_datagram_socket std::size_t send(const ConstBufferSequence& buffers) { lslboost::system::error_code ec; - std::size_t s = this->get_service().send( - this->get_implementation(), buffers, 0, ec); + std::size_t s = this->impl_.get_service().send( + this->impl_.get_implementation(), buffers, 0, ec); lslboost::asio::detail::throw_error(ec, "send"); return s; } @@ -274,8 +382,8 @@ class basic_datagram_socket socket_base::message_flags flags) { lslboost::system::error_code ec; - std::size_t s = this->get_service().send( - this->get_implementation(), buffers, flags, ec); + std::size_t s = this->impl_.get_service().send( + this->impl_.get_implementation(), buffers, flags, ec); lslboost::asio::detail::throw_error(ec, "send"); return s; } @@ -301,8 +409,8 @@ class basic_datagram_socket std::size_t send(const ConstBufferSequence& buffers, socket_base::message_flags flags, lslboost::system::error_code& ec) { - return this->get_service().send( - this->get_implementation(), buffers, flags, ec); + return this->impl_.get_service().send( + this->impl_.get_implementation(), buffers, flags, ec); } /// Start an asynchronous send on a connected socket. @@ -323,9 +431,9 @@ class basic_datagram_socket * std::size_t bytes_transferred // Number of bytes sent. * ); @endcode * Regardless of whether the asynchronous operation completes immediately or - * not, the handler will not be invoked from within this function. Invocation - * of the handler will be performed in a manner equivalent to using - * lslboost::asio::io_context::post(). + * not, the handler will not be invoked from within this function. On + * immediate completion, invocation of the handler will be performed in a + * manner equivalent to using lslboost::asio::post(). * * @note The async_send operation can only be used with a connected socket. * Use the async_send_to function to send data on an unconnected datagram @@ -340,28 +448,20 @@ class basic_datagram_socket * buffers in one go, and how to use it with arrays, lslboost::array or * std::vector. */ - template - BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + template + BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(WriteHandler, void (lslboost::system::error_code, std::size_t)) async_send(const ConstBufferSequence& buffers, - BOOST_ASIO_MOVE_ARG(WriteHandler) handler) + BOOST_ASIO_MOVE_ARG(WriteHandler) handler + BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type)) { - // 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; - -#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - return this->get_service().async_send(this->get_implementation(), - buffers, 0, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); -#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - async_completion init(handler); - - this->get_service().async_send(this->get_implementation(), - buffers, 0, init.completion_handler); - - return init.result.get(); -#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) + return async_initiate( + initiate_async_send(this), handler, + buffers, socket_base::message_flags(0)); } /// Start an asynchronous send on a connected socket. @@ -384,37 +484,28 @@ class basic_datagram_socket * std::size_t bytes_transferred // Number of bytes sent. * ); @endcode * Regardless of whether the asynchronous operation completes immediately or - * not, the handler will not be invoked from within this function. Invocation - * of the handler will be performed in a manner equivalent to using - * lslboost::asio::io_context::post(). + * not, the handler will not be invoked from within this function. On + * immediate completion, invocation of the handler will be performed in a + * manner equivalent to using lslboost::asio::post(). * * @note The async_send operation can only be used with a connected socket. * Use the async_send_to function to send data on an unconnected datagram * socket. */ - template - BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + template + BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(WriteHandler, void (lslboost::system::error_code, std::size_t)) async_send(const ConstBufferSequence& buffers, socket_base::message_flags flags, - BOOST_ASIO_MOVE_ARG(WriteHandler) handler) + BOOST_ASIO_MOVE_ARG(WriteHandler) handler + BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type)) { - // 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; - -#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - return this->get_service().async_send(this->get_implementation(), - buffers, flags, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); -#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - async_completion init(handler); - - this->get_service().async_send(this->get_implementation(), - buffers, flags, init.completion_handler); - - return init.result.get(); -#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) + return async_initiate( + initiate_async_send(this), handler, buffers, flags); } /// Send a datagram to the specified endpoint. @@ -447,8 +538,8 @@ class basic_datagram_socket const endpoint_type& destination) { lslboost::system::error_code ec; - std::size_t s = this->get_service().send_to( - this->get_implementation(), buffers, destination, 0, ec); + std::size_t s = this->impl_.get_service().send_to( + this->impl_.get_implementation(), buffers, destination, 0, ec); lslboost::asio::detail::throw_error(ec, "send_to"); return s; } @@ -474,8 +565,8 @@ class basic_datagram_socket const endpoint_type& destination, socket_base::message_flags flags) { lslboost::system::error_code ec; - std::size_t s = this->get_service().send_to( - this->get_implementation(), buffers, destination, flags, ec); + std::size_t s = this->impl_.get_service().send_to( + this->impl_.get_implementation(), buffers, destination, flags, ec); lslboost::asio::detail::throw_error(ec, "send_to"); return s; } @@ -501,7 +592,7 @@ class basic_datagram_socket const endpoint_type& destination, socket_base::message_flags flags, lslboost::system::error_code& ec) { - return this->get_service().send_to(this->get_implementation(), + return this->impl_.get_service().send_to(this->impl_.get_implementation(), buffers, destination, flags, ec); } @@ -526,9 +617,9 @@ class basic_datagram_socket * std::size_t bytes_transferred // Number of bytes sent. * ); @endcode * Regardless of whether the asynchronous operation completes immediately or - * not, the handler will not be invoked from within this function. Invocation - * of the handler will be performed in a manner equivalent to using - * lslboost::asio::io_context::post(). + * not, the handler will not be invoked from within this function. On + * immediate completion, invocation of the handler will be performed in a + * manner equivalent to using lslboost::asio::post(). * * @par Example * To send a single data buffer use the @ref buffer function as follows: @@ -542,31 +633,21 @@ class basic_datagram_socket * buffers in one go, and how to use it with arrays, lslboost::array or * std::vector. */ - template - BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + template + BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(WriteHandler, void (lslboost::system::error_code, std::size_t)) async_send_to(const ConstBufferSequence& buffers, const endpoint_type& destination, - BOOST_ASIO_MOVE_ARG(WriteHandler) handler) + BOOST_ASIO_MOVE_ARG(WriteHandler) handler + BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type)) { - // 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; - -#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - return this->get_service().async_send_to( - this->get_implementation(), buffers, destination, 0, - BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); -#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - async_completion init(handler); - - this->get_service().async_send_to( - this->get_implementation(), buffers, destination, 0, - init.completion_handler); - - return init.result.get(); -#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) + return async_initiate( + initiate_async_send_to(this), handler, buffers, + destination, socket_base::message_flags(0)); } /// Start an asynchronous send. @@ -592,35 +673,24 @@ class basic_datagram_socket * std::size_t bytes_transferred // Number of bytes sent. * ); @endcode * Regardless of whether the asynchronous operation completes immediately or - * not, the handler will not be invoked from within this function. Invocation - * of the handler will be performed in a manner equivalent to using - * lslboost::asio::io_context::post(). + * not, the handler will not be invoked from within this function. On + * immediate completion, invocation of the handler will be performed in a + * manner equivalent to using lslboost::asio::post(). */ - template - BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler, + template + BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(WriteHandler, void (lslboost::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) + BOOST_ASIO_MOVE_ARG(WriteHandler) handler + BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type)) { - // 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; - -#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - return this->get_service().async_send_to( - this->get_implementation(), buffers, destination, flags, - BOOST_ASIO_MOVE_CAST(WriteHandler)(handler)); -#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - async_completion init(handler); - - this->get_service().async_send_to( - this->get_implementation(), buffers, destination, flags, - init.completion_handler); - - return init.result.get(); -#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) + return async_initiate( + initiate_async_send_to(this), handler, buffers, destination, flags); } /// Receive some data on a connected socket. @@ -651,8 +721,8 @@ class basic_datagram_socket std::size_t receive(const MutableBufferSequence& buffers) { lslboost::system::error_code ec; - std::size_t s = this->get_service().receive( - this->get_implementation(), buffers, 0, ec); + std::size_t s = this->impl_.get_service().receive( + this->impl_.get_implementation(), buffers, 0, ec); lslboost::asio::detail::throw_error(ec, "receive"); return s; } @@ -680,8 +750,8 @@ class basic_datagram_socket socket_base::message_flags flags) { lslboost::system::error_code ec; - std::size_t s = this->get_service().receive( - this->get_implementation(), buffers, flags, ec); + std::size_t s = this->impl_.get_service().receive( + this->impl_.get_implementation(), buffers, flags, ec); lslboost::asio::detail::throw_error(ec, "receive"); return s; } @@ -708,8 +778,8 @@ class basic_datagram_socket std::size_t receive(const MutableBufferSequence& buffers, socket_base::message_flags flags, lslboost::system::error_code& ec) { - return this->get_service().receive( - this->get_implementation(), buffers, flags, ec); + return this->impl_.get_service().receive( + this->impl_.get_implementation(), buffers, flags, ec); } /// Start an asynchronous receive on a connected socket. @@ -730,9 +800,9 @@ class basic_datagram_socket * std::size_t bytes_transferred // Number of bytes received. * ); @endcode * Regardless of whether the asynchronous operation completes immediately or - * not, the handler will not be invoked from within this function. Invocation - * of the handler will be performed in a manner equivalent to using - * lslboost::asio::io_context::post(). + * not, the handler will not be invoked from within this function. On + * immediate completion, invocation of the handler will be performed in a + * manner equivalent to using lslboost::asio::post(). * * @note The async_receive operation can only be used with a connected socket. * Use the async_receive_from function to receive data on an unconnected @@ -748,28 +818,20 @@ class basic_datagram_socket * multiple buffers in one go, and how to use it with arrays, lslboost::array or * std::vector. */ - template - BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + template + BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler, void (lslboost::system::error_code, std::size_t)) async_receive(const MutableBufferSequence& buffers, - BOOST_ASIO_MOVE_ARG(ReadHandler) handler) + BOOST_ASIO_MOVE_ARG(ReadHandler) handler + BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type)) { - // 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; - -#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - return this->get_service().async_receive(this->get_implementation(), - buffers, 0, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); -#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - async_completion init(handler); - - this->get_service().async_receive(this->get_implementation(), - buffers, 0, init.completion_handler); - - return init.result.get(); -#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) + return async_initiate( + initiate_async_receive(this), handler, + buffers, socket_base::message_flags(0)); } /// Start an asynchronous receive on a connected socket. @@ -792,37 +854,28 @@ class basic_datagram_socket * std::size_t bytes_transferred // Number of bytes received. * ); @endcode * Regardless of whether the asynchronous operation completes immediately or - * not, the handler will not be invoked from within this function. Invocation - * of the handler will be performed in a manner equivalent to using - * lslboost::asio::io_context::post(). + * not, the handler will not be invoked from within this function. On + * immediate completion, invocation of the handler will be performed in a + * manner equivalent to using lslboost::asio::post(). * * @note The async_receive operation can only be used with a connected socket. * Use the async_receive_from function to receive data on an unconnected * datagram socket. */ - template - BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + template + BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler, void (lslboost::system::error_code, std::size_t)) async_receive(const MutableBufferSequence& buffers, socket_base::message_flags flags, - BOOST_ASIO_MOVE_ARG(ReadHandler) handler) + BOOST_ASIO_MOVE_ARG(ReadHandler) handler + BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type)) { - // 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; - -#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - return this->get_service().async_receive(this->get_implementation(), - buffers, flags, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); -#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - async_completion init(handler); - - this->get_service().async_receive(this->get_implementation(), - buffers, flags, init.completion_handler); - - return init.result.get(); -#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) + return async_initiate( + initiate_async_receive(this), handler, buffers, flags); } /// Receive a datagram with the endpoint of the sender. @@ -856,8 +909,8 @@ class basic_datagram_socket endpoint_type& sender_endpoint) { lslboost::system::error_code ec; - std::size_t s = this->get_service().receive_from( - this->get_implementation(), buffers, sender_endpoint, 0, ec); + std::size_t s = this->impl_.get_service().receive_from( + this->impl_.get_implementation(), buffers, sender_endpoint, 0, ec); lslboost::asio::detail::throw_error(ec, "receive_from"); return s; } @@ -883,8 +936,8 @@ class basic_datagram_socket endpoint_type& sender_endpoint, socket_base::message_flags flags) { lslboost::system::error_code ec; - std::size_t s = this->get_service().receive_from( - this->get_implementation(), buffers, sender_endpoint, flags, ec); + std::size_t s = this->impl_.get_service().receive_from( + this->impl_.get_implementation(), buffers, sender_endpoint, flags, ec); lslboost::asio::detail::throw_error(ec, "receive_from"); return s; } @@ -910,8 +963,8 @@ class basic_datagram_socket endpoint_type& sender_endpoint, socket_base::message_flags flags, lslboost::system::error_code& ec) { - return this->get_service().receive_from(this->get_implementation(), - buffers, sender_endpoint, flags, ec); + return this->impl_.get_service().receive_from( + this->impl_.get_implementation(), buffers, sender_endpoint, flags, ec); } /// Start an asynchronous receive. @@ -937,9 +990,9 @@ class basic_datagram_socket * std::size_t bytes_transferred // Number of bytes received. * ); @endcode * Regardless of whether the asynchronous operation completes immediately or - * not, the handler will not be invoked from within this function. Invocation - * of the handler will be performed in a manner equivalent to using - * lslboost::asio::io_context::post(). + * not, the handler will not be invoked from within this function. On + * immediate completion, invocation of the handler will be performed in a + * manner equivalent to using lslboost::asio::post(). * * @par Example * To receive into a single data buffer use the @ref buffer function as @@ -950,31 +1003,21 @@ class basic_datagram_socket * multiple buffers in one go, and how to use it with arrays, lslboost::array or * std::vector. */ - template - BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + template + BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler, void (lslboost::system::error_code, std::size_t)) async_receive_from(const MutableBufferSequence& buffers, endpoint_type& sender_endpoint, - BOOST_ASIO_MOVE_ARG(ReadHandler) handler) + BOOST_ASIO_MOVE_ARG(ReadHandler) handler + BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type)) { - // 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; - -#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - return this->get_service().async_receive_from( - this->get_implementation(), buffers, sender_endpoint, 0, - BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); -#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - async_completion init(handler); - - this->get_service().async_receive_from( - this->get_implementation(), buffers, sender_endpoint, 0, - init.completion_handler); - - return init.result.get(); -#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) + return async_initiate( + initiate_async_receive_from(this), handler, buffers, + &sender_endpoint, socket_base::message_flags(0)); } /// Start an asynchronous receive. @@ -1002,36 +1045,168 @@ class basic_datagram_socket * std::size_t bytes_transferred // Number of bytes received. * ); @endcode * Regardless of whether the asynchronous operation completes immediately or - * not, the handler will not be invoked from within this function. Invocation - * of the handler will be performed in a manner equivalent to using - * lslboost::asio::io_context::post(). + * not, the handler will not be invoked from within this function. On + * immediate completion, invocation of the handler will be performed in a + * manner equivalent to using lslboost::asio::post(). */ - template - BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + template + BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler, void (lslboost::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) + BOOST_ASIO_MOVE_ARG(ReadHandler) handler + BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type)) { - // 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; - -#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - return this->get_service().async_receive_from( - this->get_implementation(), buffers, sender_endpoint, flags, - BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); -#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - async_completion init(handler); - - this->get_service().async_receive_from( - this->get_implementation(), buffers, sender_endpoint, flags, - init.completion_handler); - - return init.result.get(); -#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) + return async_initiate( + initiate_async_receive_from(this), handler, + buffers, &sender_endpoint, flags); } + +private: + // Disallow copying and assignment. + basic_datagram_socket(const basic_datagram_socket&) BOOST_ASIO_DELETED; + basic_datagram_socket& operator=( + const basic_datagram_socket&) BOOST_ASIO_DELETED; + + class initiate_async_send + { + public: + typedef Executor executor_type; + + explicit initiate_async_send(basic_datagram_socket* self) + : self_(self) + { + } + + executor_type get_executor() const BOOST_ASIO_NOEXCEPT + { + return self_->get_executor(); + } + + template + void operator()(BOOST_ASIO_MOVE_ARG(WriteHandler) handler, + const ConstBufferSequence& buffers, + socket_base::message_flags flags) const + { + // 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; + + detail::non_const_lvalue handler2(handler); + self_->impl_.get_service().async_send( + self_->impl_.get_implementation(), buffers, flags, + handler2.value, self_->impl_.get_executor()); + } + + private: + basic_datagram_socket* self_; + }; + + class initiate_async_send_to + { + public: + typedef Executor executor_type; + + explicit initiate_async_send_to(basic_datagram_socket* self) + : self_(self) + { + } + + executor_type get_executor() const BOOST_ASIO_NOEXCEPT + { + return self_->get_executor(); + } + + template + void operator()(BOOST_ASIO_MOVE_ARG(WriteHandler) handler, + const ConstBufferSequence& buffers, const endpoint_type& destination, + socket_base::message_flags flags) const + { + // 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; + + detail::non_const_lvalue handler2(handler); + self_->impl_.get_service().async_send_to( + self_->impl_.get_implementation(), buffers, destination, + flags, handler2.value, self_->impl_.get_executor()); + } + + private: + basic_datagram_socket* self_; + }; + + class initiate_async_receive + { + public: + typedef Executor executor_type; + + explicit initiate_async_receive(basic_datagram_socket* self) + : self_(self) + { + } + + executor_type get_executor() const BOOST_ASIO_NOEXCEPT + { + return self_->get_executor(); + } + + template + void operator()(BOOST_ASIO_MOVE_ARG(ReadHandler) handler, + const MutableBufferSequence& buffers, + socket_base::message_flags flags) const + { + // 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; + + detail::non_const_lvalue handler2(handler); + self_->impl_.get_service().async_receive( + self_->impl_.get_implementation(), buffers, flags, + handler2.value, self_->impl_.get_executor()); + } + + private: + basic_datagram_socket* self_; + }; + + class initiate_async_receive_from + { + public: + typedef Executor executor_type; + + explicit initiate_async_receive_from(basic_datagram_socket* self) + : self_(self) + { + } + + executor_type get_executor() const BOOST_ASIO_NOEXCEPT + { + return self_->get_executor(); + } + + template + void operator()(BOOST_ASIO_MOVE_ARG(ReadHandler) handler, + const MutableBufferSequence& buffers, endpoint_type* sender_endpoint, + socket_base::message_flags flags) const + { + // 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; + + detail::non_const_lvalue handler2(handler); + self_->impl_.get_service().async_receive_from( + self_->impl_.get_implementation(), buffers, *sender_endpoint, + flags, handler2.value, self_->impl_.get_executor()); + } + + private: + basic_datagram_socket* self_; + }; }; } // namespace asio diff --git a/lslboost/boost/asio/basic_deadline_timer.hpp b/lslboost/boost/asio/basic_deadline_timer.hpp index c356258d5..8492802bb 100644 --- a/lslboost/boost/asio/basic_deadline_timer.hpp +++ b/lslboost/boost/asio/basic_deadline_timer.hpp @@ -2,7 +2,7 @@ // basic_deadline_timer.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2020 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,19 +21,16 @@ || defined(GENERATING_DOCUMENTATION) #include -#include +#include +#include #include +#include +#include #include #include +#include #include -#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES) -# include -#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) -# include -# define BOOST_ASIO_SVC_T detail::deadline_timer_service -#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES) - #include namespace lslboost { @@ -58,7 +55,7 @@ namespace asio { * Performing a blocking wait: * @code * // Construct a timer without setting an expiry time. - * lslboost::asio::deadline_timer timer(io_context); + * lslboost::asio::deadline_timer timer(my_context); * * // Set an expiry time relative to now. * timer.expires_from_now(lslboost::posix_time::seconds(5)); @@ -81,7 +78,7 @@ namespace asio { * ... * * // Construct a timer with an absolute expiry time. - * lslboost::asio::deadline_timer timer(io_context, + * lslboost::asio::deadline_timer timer(my_context, * lslboost::posix_time::time_from_string("2005-12-07 23:59:59.000")); * * // Start an asynchronous wait. @@ -128,14 +125,21 @@ namespace asio { * it contains the value lslboost::asio::error::operation_aborted. */ template - BOOST_ASIO_SVC_TPARAM_DEF2(= deadline_timer_service)> + typename TimeTraits = lslboost::asio::time_traits